|
| tensor ()=default |
|
| tensor (tensor const &other)=default |
|
| tensor (tensor &&other) noexcept=default |
|
auto | operator= (tensor const &other) -> tensor &=default |
|
auto | operator= (tensor &&other) noexcept -> tensor &=default |
|
| ~tensor ()=default |
|
| tensor (dynamic_tensor auto &&other) |
|
| tensor (integral auto const ... dimensions) |
|
| tensor (tag::ones_t tag, integral auto... dimensions) |
|
| tensor (tag::ones_t tag, integral_range auto &&dimensions) |
|
| tensor (tag::zeros_t tag, integral auto... dimensions) |
|
| tensor (tag::zeros_t tag, integral_range auto &&dimensions) |
|
template<random_number_generator Rand> |
| tensor (Rand &&rand, integral auto const ... dimensions) |
|
template<random_number_generator Rand, integral_range Dimensions> |
| tensor (Rand &&rand, Dimensions &&dimensions) |
|
template<general_tensor OtherTensor> |
| tensor (OtherTensor const &other) |
|
template<convertible_to< T >... Components>
requires ( (!integral<std::decay_t<Components>> && ...)) |
| tensor (Components &&... components) |
| Constructs a rank 1 tensor aka vector. More...
|
|
template<floating_point_range Components> |
| tensor (Components &&components) |
| Constructs a rank 1 tensor aka vector. More...
|
|
template<arithmetic_or_complex... Rows, std::size_t N> |
| tensor (Rows(&&... rows)[N]) |
| Constructs a rank 2 tensor aka matrix. More...
|
|
template<general_tensor OtherTensor> |
auto | operator= (OtherTensor const &other) -> tensor< T > & |
|
auto | assing_self_transposed (general_tensor auto const &other) |
|
auto | assign (general_tensor auto const &other) |
|
auto | dimensions () const |
|
auto | dimension (std::size_t const i) const |
|
auto | rank () const |
|
template<einstein_notation::index... Is> |
auto | at (Is const ...) |
|
template<einstein_notation::index... Is> |
auto | at (Is const ...) const |
|
auto | operator() (einstein_notation::index auto const ... is) const |
|
auto | operator() (einstein_notation::index auto const ... is) |
|
auto | at (integral auto const ... is) -> auto & |
|
auto | at (integral auto const ... is) const -> auto const & |
|
auto | operator() (integral auto const ... is) -> auto & |
|
auto | operator() (integral auto const ... is) const -> auto const & |
|
| dynamic_multidim_array ()=default |
|
| dynamic_multidim_array (dynamic_multidim_array const &other)=default |
|
| dynamic_multidim_array (dynamic_multidim_array &&other) noexcept=default |
|
constexpr | dynamic_multidim_array (dynamic_multidim_array< OtherT, OtherIndexing > const &other) |
|
| dynamic_multidim_array (integral auto const ... size) |
|
| dynamic_multidim_array (tag::fill< S > const &f, integral auto const ... size) |
|
| dynamic_multidim_array (tag::zeros_t const &, integral auto const ... size) |
|
| dynamic_multidim_array (tag::ones_t const &, integral auto const ... size) |
|
| dynamic_multidim_array (std::vector< value_type > const &data, integral auto const ... size) |
|
| dynamic_multidim_array (std::vector< value_type > &&data, integral auto const ... size) |
|
| dynamic_multidim_array (Size &&size) |
|
| dynamic_multidim_array (tag::fill< S > const &f, Size &&size) |
|
| dynamic_multidim_array (tag::zeros_t const &, Size &&size) |
|
| dynamic_multidim_array (tag::ones_t const &, Size &&size) |
|
| dynamic_multidim_array (std::vector< value_type > const &data, Size &&size) |
|
| dynamic_multidim_array (Data &&data, Size &&size) |
|
| dynamic_multidim_array (Rand &&rand, Size &&size) |
|
| dynamic_multidim_array (Rand &&rand, integral auto const ... size) |
|
auto | operator= (dynamic_multidim_array const &other) -> dynamic_multidim_array &=default |
|
auto | operator= (dynamic_multidim_array &&other) noexcept -> dynamic_multidim_array &=default |
|
auto | operator= (dynamic_multidim_array< OtherT, OtherIndexing > const &other) -> dynamic_multidim_array & |
|
| ~dynamic_multidim_array ()=default |
|
auto | at (Int const ... is) -> auto & |
|
auto | at (Int const ... is) const -> auto const & |
|
auto | at (integral_range auto const &indices) -> auto & |
|
auto | at (integral_range auto const &indices) const -> auto const & |
|
auto | operator() (integral_range auto const &indices) -> auto & |
|
auto | operator() (integral_range auto const &indices) const -> auto const & |
|
auto | operator() (Int const ... is) -> auto & |
|
auto | operator() (Int const ... is) const -> auto const & |
|
auto | operator[] (std::size_t i) const -> auto const & |
|
auto | operator[] (std::size_t i) -> auto & |
|
auto | resize (integral auto const ... size) -> void |
|
auto | resize (integral_range auto const &res, value_type const value=value_type{}) -> void |
|
constexpr auto | internal_container () -> auto & |
|
constexpr auto | internal_container () const -> auto const & |
|
constexpr auto | data (std::size_t const i) -> auto & |
|
constexpr auto | data (std::size_t const i) const -> auto const & |
|
constexpr auto | data () |
|
constexpr auto | data () const |
|
void | unary_operation (F &&f) |
|
constexpr void | binary_operation (F &&f, dynamic_multidim_array< OtherT, OtherIndexing > const &other) |
|
auto constexpr | in_range (integral auto const ... indices) const |
|
auto constexpr | in_range (integral_range auto const &indices) const |
|
auto | indices () const |
|
auto | num_components () const |
|
auto | num_dimensions () const |
|
auto constexpr | plain_index (integral auto const ... indices) const |
|
auto constexpr | plain_index (integral_range auto const &indices) const |
|
auto | size () const -> auto const & |
|
auto | size (std::size_t const i) const |
|
| dynamic_multidim_size ()=default |
|
| dynamic_multidim_size (dynamic_multidim_size const &other)=default |
|
| dynamic_multidim_size (dynamic_multidim_size &&other) noexcept=default |
|
auto | operator= (dynamic_multidim_size const &other) -> dynamic_multidim_size &=default |
|
auto | operator= (dynamic_multidim_size &&other) noexcept -> dynamic_multidim_size &=default |
|
| ~dynamic_multidim_size ()=default |
|
template<typename OtherIndexing > |
| dynamic_multidim_size (dynamic_multidim_size< OtherIndexing > const &other) |
|
template<typename OtherIndexing > |
| dynamic_multidim_size (dynamic_multidim_size< OtherIndexing > &&other) |
|
template<typename OtherIndexing > |
auto | operator= (dynamic_multidim_size< OtherIndexing > const &other) -> dynamic_multidim_size & |
|
template<typename OtherIndexing > |
auto | operator= (dynamic_multidim_size< OtherIndexing > &&other) -> dynamic_multidim_size & |
|
| dynamic_multidim_size (integral auto const ... size) |
|
| dynamic_multidim_size (std::vector< std::size_t > &&size) |
|
| dynamic_multidim_size (integral_range auto const &size) |
|
template<typename OtherIndexing > |
auto | operator== (dynamic_multidim_size< OtherIndexing > const &other) const |
|
template<typename OtherIndexing > |
auto | operator!= (dynamic_multidim_size< OtherIndexing > const &other) const |
|
auto | num_dimensions () const |
|
auto | size () const -> auto const & |
|
auto | size (std::size_t const i) const |
|
auto | num_components () const |
|
auto | resize (integral auto const ... size) -> void |
|
auto | resize (integral_range auto const &size) -> void |
|
auto | resize (std::vector< std::size_t > &&size) -> void |
|
auto | resize (std::vector< std::size_t > const &size) -> void |
|
auto constexpr | in_range (integral auto const ... indices) const |
|
auto constexpr | in_range (integral_range auto const &indices) const |
|
auto constexpr | plain_index (integral auto const ... indices) const |
|
auto constexpr | plain_index (integral_range auto const &indices) const |
|
auto constexpr | multi_index (std::size_t const gi) const |
|
auto | begin_indices () const |
|
auto | end_indices () const |
|
auto | indices () const |
|
|
static auto constexpr | is_tensor () |
|
static auto constexpr | is_dynamic () |
|
static auto | zeros (integral auto const ... size) |
|
static auto | zeros (integral_range auto const &size) |
|
static auto | ones (integral auto... size) |
|
static auto | ones (integral_range auto const &size) |
|
template<typename RandEng = std::mt19937_64> |
static auto | randu (T const min, T const max, integral_range auto const &size, RandEng &&eng=RandEng{std::random_device{}()}) |
|
template<typename RandEng = std::mt19937_64> |
static auto | randu (integral_range auto const &size, T min=0, T max=1, RandEng &&eng=RandEng{std::random_device{}()}) |
|
template<typename RandEng = std::mt19937_64> |
static auto | randu (integral auto const ... is) |
|
template<typename RandEng = std::mt19937_64> |
static auto | randn (T const mean, T const stddev, integral_range auto const &size, RandEng &&eng=RandEng{std::random_device{}()}) |
|
template<typename RandEng = std::mt19937_64> |
static auto | randn (integral_range auto const &size, T mean=0, T stddev=1, RandEng &&eng=RandEng{std::random_device{}()}) |
|
template<typename RandEng = std::mt19937_64> |
static auto | randn (integral auto const ... is) |
|
template<random_number_generator Rand, integral_range Size> |
static auto | rand (Rand &&rand, Size &&size) |
|
template<random_number_generator Rand> |
static auto | rand (Rand &&rand, integral auto const ... size) |
|
static auto | vander (arithmetic_range auto const &v) |
|
template<arithmetic Real_, std::size_t N> |
static auto | vander (vec< Real_, N > const &v) |
|
static auto | vander (arithmetic_range auto const &v, integral auto const degree) |
|
static auto | zeros (integral auto const ... size) |
|
static auto | zeros (Size &&size) |
|
static auto | ones (integral auto const ... size) |
|
static auto | ones (Size &&size) |
|
static auto | randu (value_type const min, value_type const max, Size &&size, RandEng &&eng=RandEng{std::random_device{}()}) |
|
static auto | randu (Size &&size, value_type const min=0, value_type const max=1, RandEng &&eng=RandEng{std::random_device{}()}) |
|
static auto | randu (integral auto const ... is) |
|
static auto | randn (value_type const mean, value_type const stddev, Size &&size, RandEng &&eng=RandEng{std::random_device{}()}) |
|
static auto | randn (Size &&size, value_type const mean, value_type const stddev, RandEng &&eng=RandEng{std::random_device{}()}) |
|
static auto | randn (integral auto const ... is) |
|
static auto | rand (Rand &&rand, Size &&size) |
|
static auto | rand (Rand &&rand, integral auto const ... size) |
|