Tatooine
|
#include <base_tensor.h>
Public Types | |
using | value_type = ValueType |
using | tensor_type = Tensor |
using | this_type = base_tensor< Tensor, ValueType, Dims... > |
using | parent_type = crtp< Tensor > |
using | multidim_size_t = static_multidim_size< x_fastest, Dims... > |
template<einstein_notation::index... Is> | |
using | const_indexed_type = einstein_notation::indexed_static_tensor< Tensor const &, Is... > |
template<einstein_notation::index... Is> | |
using | indexed_type = einstein_notation::indexed_static_tensor< Tensor &, Is... > |
![]() | |
using | derived_type = Tensor |
Public Member Functions | |
constexpr | base_tensor ()=default |
template<static_tensor Other> requires (same_dimensions<this_type, Other>()) && (convertible_to<tatooine::value_type<Other>, value_type>) | |
constexpr | base_tensor (Other &&other) |
template<static_tensor Other> requires (same_dimensions<this_type, Other>()) && (convertible_to<tatooine::value_type<Other>, value_type>) | |
auto constexpr | operator= (Other &&other) -> base_tensor & |
template<static_tensor Other> requires (same_dimensions<this_type, Other>()) && (convertible_to<tatooine::value_type<Other>, value_type>) | |
auto constexpr | assign (Other &&other) -> void |
template<einstein_notation::index... Is> requires (sizeof...(Is) == rank()) | |
auto constexpr | at (Is const ...) |
template<einstein_notation::index... Is> requires (sizeof...(Is) == rank()) | |
auto constexpr | at (Is const ...) const |
template<einstein_notation::index... Is> requires (sizeof...(Is) == rank()) | |
auto constexpr | operator() (Is const ... is) const |
template<einstein_notation::index... Is> requires (sizeof...(Is) == rank()) | |
auto constexpr | operator() (Is const ... is) |
auto constexpr | at (integral auto const ... is) const -> decltype(auto) requires(sizeof...(is)==rank()) |
auto constexpr | at (integral auto const ... is) -> decltype(auto) requires(sizeof...(is)==rank()) |
auto constexpr | at (integral_range auto const &is) -> decltype(auto) |
auto constexpr | at (integral_range auto const &is) const -> decltype(auto) |
auto constexpr | operator() (integral auto const ... is) const -> decltype(auto) requires(sizeof...(is)==rank()) |
auto constexpr | operator() (integral auto const ... is) -> decltype(auto) requires(sizeof...(is)==rank()) |
template<std::size_t FixedDim, std::size_t... Is> | |
auto constexpr | slice (std::size_t fixed_index, std::index_sequence< Is... >) -> decltype(auto) |
template<std::size_t FixedDim> | |
auto constexpr | slice (std::size_t fixed_index) -> decltype(auto) |
template<std::size_t FixedDim, std::size_t... Is> | |
auto constexpr | slice (std::size_t fixed_index, std::index_sequence< Is... >) const |
template<std::size_t FixedDim> | |
auto constexpr | slice (std::size_t fixed_index) const |
template<typename OtherTensor , typename OtherValueType > | |
auto | operator+= (base_tensor< OtherTensor, OtherValueType, Dims... > const &other) -> auto & |
auto | operator+= (convertible_to< ValueType > auto const &other) -> auto & |
template<typename OtherTensor , typename OtherValueType > | |
auto | operator-= (base_tensor< OtherTensor, OtherValueType, Dims... > const &other) -> auto & |
auto | operator-= (convertible_to< ValueType > auto const &other) -> auto & |
auto | operator*= (convertible_to< ValueType > auto const &other) -> auto & |
auto | operator/= (convertible_to< ValueType > auto const &other) -> auto & |
auto | isnan () const |
auto | isinf () const |
![]() | |
constexpr auto | as_derived () -> derived_type & |
returns casted as_derived data More... | |
constexpr auto | as_derived () const -> derived_type const & |
returns casted as_derived data More... | |
Static Public Member Functions | |
static auto constexpr | rank () |
static auto constexpr | num_components () |
static auto constexpr | dimensions () |
static auto constexpr | dimension (std::size_t const i) |
static auto constexpr | is_static () -> bool |
static auto constexpr | is_tensor () -> bool |
static auto constexpr | indices () |
static auto constexpr | for_indices (invocable< decltype(Dims)... > auto &&f) |
static auto constexpr | array_index (integral auto const ... is) |
Private Member Functions | |
template<std::size_t... Seq> | |
auto constexpr | at (integral_range auto const &is, std::index_sequence< Seq... >) -> decltype(auto) |
template<std::size_t... Seq> | |
auto constexpr | at (integral_range auto const &is, std::index_sequence< Seq... >) const -> decltype(auto) |
using tatooine::base_tensor< Tensor, ValueType, Dims >::const_indexed_type = einstein_notation::indexed_static_tensor<Tensor const&, Is...> |
using tatooine::base_tensor< Tensor, ValueType, Dims >::indexed_type = einstein_notation::indexed_static_tensor<Tensor&, Is...> |
using tatooine::base_tensor< Tensor, ValueType, Dims >::multidim_size_t = static_multidim_size<x_fastest, Dims...> |
using tatooine::base_tensor< Tensor, ValueType, Dims >::parent_type = crtp<Tensor> |
using tatooine::base_tensor< Tensor, ValueType, Dims >::tensor_type = Tensor |
using tatooine::base_tensor< Tensor, ValueType, Dims >::this_type = base_tensor<Tensor, ValueType, Dims...> |
using tatooine::base_tensor< Tensor, ValueType, Dims >::value_type = ValueType |
|
constexprdefault |
|
inlineexplicitconstexpr |
|
inlinestaticconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexprprivate |
|
inlineconstexprprivate |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inlinestaticconstexpr |
|
inline |
|
inline |
|
inlinestaticconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inlineconstexpr |
|
inlinestaticconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |