|
template<typename element_t , std::size_t N, size_t... Is> |
static nda::internal::tuple_of_n< element_t, N > | as_tuple (std::array< element_t, N > const &arr, std::index_sequence< Is... >) |
|
template<typename element_t , std::size_t N> |
static nda::internal::tuple_of_n< element_t, N > | as_tuple (std::array< element_t, N > const &arr) |
|
template<typename Scalar , std::size_t Rank> |
static TType< Scalar, Rank > | construct (const std::array< Indextype, Rank > &dims, mpi::XpedWorld &world=mpi::getUniverse()) |
|
template<typename Scalar , std::size_t Rank> |
static TType< Scalar, Rank > | construct (const MapTType< Scalar, Rank > &map) |
|
template<typename Scalar , std::size_t Rank> |
static cTType< Scalar, Rank > | construct (const cMapTType< Scalar, Rank > &map) |
|
template<typename Scalar , std::size_t Rank> |
static cMapTType< Scalar, Rank > | cMap (const Scalar *data, const std::array< Indextype, Rank > &dims) |
|
template<typename Scalar , std::size_t Rank> |
static MapTType< Scalar, Rank > | Map (Scalar *data, const std::array< Indextype, Rank > &dims) |
|
template<typename Scalar , std::size_t Rank> |
static void | setZero (TType< Scalar, Rank > &T) |
|
template<typename Scalar , std::size_t Rank> |
static void | setRandom (TType< Scalar, Rank > &T) |
|
template<typename Scalar , std::size_t Rank> |
static void | setConstant (TType< Scalar, Rank > &T, const Scalar &val) |
|
template<typename Scalar , int Rank> |
static void | setVal (TType< Scalar, Rank > &T, const std::array< Indextype, Rank > &index, const Scalar &val) |
|
template<typename Scalar , int Rank> |
static Scalar | getVal (const TType< Scalar, Rank > &T, const std::array< Indextype, Rank > &index) |
|
template<typename Scalar , int Rank> |
static const Scalar * | get_raw_data (const TType< Scalar, Rank > &T) |
|
template<typename Scalar , int Rank> |
static Scalar * | get_raw_data (TType< Scalar, Rank > &T) |
|
template<typename Scalar , std::size_t Rank> |
static std::array< Indextype, Rank > | dimensions (const TType< Scalar, Rank > &T) |
|
template<typename Scalar , std::size_t Rank> |
static TType< Scalar, Rank > | tensorProd (const TType< Scalar, Rank > &T1, const TType< Scalar, Rank > &T2) |
|
template<typename Scalar , std::size_t Rank, Indextype... Is, typename Expr1 , typename Expr2 > |
static void | addScale_helper (const Expr1 &src, Expr2 &dst, const Scalar &scale, seq::iseq< Indextype, Is... > S) |
|
template<typename Scalar , std::size_t Rank, typename Expr1 , typename Expr2 > |
static void | addScale (const Expr1 &src, Expr2 &dst, const Scalar &scale) |
|
template<typename Scalar , std::size_t Rank1, std::size_t Rank2, Indextype... Is1, Indextype... Is2, Indextype... Ist> |
static auto | contract_helper (const TType< Scalar, Rank1 > &T1, const TType< Scalar, Rank2 > &T2, seq::iseq< Indextype, Is1... > S1, seq::iseq< Indextype, Is2... > S2, seq::iseq< Indextype, Ist... > St) |
|
template<typename Scalar , std::size_t Rank1, std::size_t Rank2, Indextype... Is> |
static TType< Scalar, Rank1+Rank2 - sizeof...(Is)> | contract (const TType< Scalar, Rank1 > &T1, const TType< Scalar, Rank2 > &T2) |
|
template<typename Expr , Indextype... p> |
static auto | shuffle_view (const Expr &T) |
|
template<typename Scalar , std::size_t Rank, Indextype... p> |
static TType< Scalar, Rank > | shuffle (const TType< Scalar, Rank > &T) |
|
template<typename Scalar , std::size_t Rank, Indextype... p> |
static TType< Scalar, Rank > | shuffle (const cMapTType< Scalar, Rank > &T) |
|
template<typename Scalar , std::size_t Rank, Indextype... p> |
static TType< Scalar, Rank > | shuffle (const TType< Scalar, Rank > &T, seq::iseq< Indextype, p... > s) |
|
template<typename Scalar , std::size_t Rank, Indextype... p> |
static auto | shuffle_view (const cMapTType< Scalar, Rank > &T, seq::iseq< Indextype, p... > s) |
|
template<typename Scalar , std::size_t Rank1, std::size_t Rank2> |
static TType< Scalar, Rank2 > | reshape (const TType< Scalar, Rank1 > &T, const std::array< Indextype, Rank2 > &dims) |
|
template<typename Scalar , std::size_t Rank1, std::size_t Rank2> |
static auto | slice (TType< Scalar, Rank1 > &T, const std::array< Indextype, Rank2 > &offsets, const std::array< Indextype, Rank2 > &extents) |
|
template<typename Scalar , std::size_t Rank1, std::size_t Rank2> |
static void | setSubTensor (TType< Scalar, Rank1 > &T, const std::array< Indextype, Rank2 > &offsets, const std::array< Indextype, Rank2 > &extents, const TType< Scalar, Rank1 > &S) |
|
template<typename Scalar , std::size_t Rank1, std::size_t Rank2> |
static auto | reshape (TType< Scalar, Rank1 > &T, const std::array< Indextype, Rank2 > &dims) |
|
template<typename Scalar , int Rank> |
static std::string | print (const TType< Scalar, Rank > &T) |
|
static constexpr char | idx (const Indextype &i) |
|
template<std::size_t Rank> |
static constexpr std::array< char, Rank > | get_idx (std::size_t shift=0) |
|
template<typename Scalar , std::size_t Rank> |
static TType< Scalar, Rank > | construct (const std::array< Indextype, Rank > &dims, CTF::World &world) |
|
template<typename Scalar , int Rank> |
static TType< Scalar, Rank > | construct (const MapTType< Scalar, Rank > &map) |
|
template<typename Scalar , int Rank> |
static void | setZero (TType< Scalar, Rank > &T) |
|
template<typename Scalar , int Rank> |
static void | setRandom (TType< Scalar, Rank > &T) |
|
template<typename Scalar , int Rank> |
static void | setConstant (TType< Scalar, Rank > &T, const Scalar &val) |
|
template<typename Scalar , int Rank> |
static void | setVal (TType< Scalar, Rank > &T, const std::array< Indextype, Rank > &index, const Scalar &val) |
|
template<typename Scalar , int Rank> |
static Scalar | getVal (const TType< Scalar, Rank > &T, const std::array< Indextype, Rank > &index) |
|
template<typename Scalar , int Rank> |
static Scalar * | get_raw_data (const TType< Scalar, Rank > &T) |
|
template<typename Scalar , int Rank> |
static std::array< Indextype, Rank > | dimensions (const TType< Scalar, Rank > &T) |
|
template<typename Scalar , int Rank> |
static TType< Scalar, Rank > | tensorProd (TType< Scalar, Rank > &T1, TType< Scalar, Rank > &T2) |
|
template<typename Scalar , std::size_t Rank, typename Expr1 , typename Expr2 > |
static void | addScale (const Expr1 &src, Expr2 &dst, const Scalar &scale) |
|
template<typename Scalar , std::size_t Rank1, std::size_t Rank2, Indextype... Is1, Indextype... Is2, Indextype... Ist> |
static TType< Scalar, sizeof...(Ist)> | contract_helper (TType< Scalar, Rank1 > &T1, TType< Scalar, Rank2 > &T2, seq::iseq< Indextype, Is1... > S1, seq::iseq< Indextype, Is2... > S2, seq::iseq< Indextype, Ist... > St) |
|
template<typename Scalar , std::size_t Rank1, std::size_t Rank2, Indextype... Is> |
static TType< Scalar, Rank1+Rank2 - sizeof...(Is)> | contract (TType< Scalar, Rank1 > &T1, TType< Scalar, Rank2 > &T2) |
|
template<typename Scalar , std::size_t Rank, Indextype... p> |
static TType< Scalar, Rank > | shuffle (TType< Scalar, Rank > &T) |
|
template<typename Scalar , std::size_t Rank, Indextype... p> |
static TType< Scalar, Rank > | shuffle (TType< Scalar, Rank > &T, seq::iseq< Indextype, p... > s) |
|
template<typename Expr , Indextype... p> |
static Expr | shuffle_view (const Expr &T) |
|
template<typename Scalar , int Rank1, std::size_t Rank2> |
static TType< Scalar, Rank2 > | reshape (const TType< Scalar, Rank1 > &T, const std::array< Indextype, Rank2 > &dims) |
|
template<typename Scalar , std::size_t Rank1, std::size_t Rank2> |
static void | setSubTensor (TType< Scalar, Rank1 > &T, const std::array< Indextype, Rank2 > &offsets, const std::array< Indextype, Rank2 > &extents, const TType< Scalar, Rank1 > &S) |
|
template<typename Scalar , int Rank1, std::size_t Rank2> |
static TType< Scalar, Rank1 > | slice (TType< Scalar, Rank1 > &T, const std::array< Indextype, Rank2 > &offsets, const std::array< Indextype, Rank2 > &extents) |
|
template<typename Scalar , std::size_t Rank> |
static std::string | print (const TType< Scalar, Rank > &T) |
|
template<typename Scalar , std::size_t Rank> |
static TType< Scalar, Rank > | construct (const std::array< Indextype, Rank > &dims, const mpi::XpedWorld &=mpi::getUniverse()) |
|
template<typename Scalar , int Rank> |
static TType< Scalar, Rank > | construct (const MapTType< Scalar, Rank > &map) |
|
template<typename Scalar , int Rank> |
static cTType< Scalar, Rank > | construct (const cMapTType< Scalar, Rank > &map) |
|
template<typename Scalar , std::size_t Rank> |
static cMapTType< Scalar, Rank > | cMap (const Scalar *data, const std::array< Indextype, Rank > &dims) |
|
template<typename Scalar , std::size_t Rank> |
static MapTType< Scalar, Rank > | Map (Scalar *data, const std::array< Indextype, Rank > &dims) |
|
template<typename Scalar , int Rank> |
static void | setZero (TType< Scalar, Rank > &T) |
|
template<typename Scalar , int Rank> |
static void | setRandom (TType< Scalar, Rank > &T) |
|
template<typename Scalar , int Rank> |
static void | setConstant (TType< Scalar, Rank > &T, const Scalar &val) |
|
template<typename Scalar , int Rank> |
static void | setVal (TType< Scalar, Rank > &T, const std::array< Indextype, Rank > &index, const Scalar &val) |
|
template<typename Scalar , int Rank> |
static Scalar | getVal (const TType< Scalar, Rank > &T, const std::array< Indextype, Rank > &index) |
|
template<typename Scalar , int Rank> |
static const Scalar * | get_raw_data (const TType< Scalar, Rank > &T) |
|
template<typename Scalar , int Rank> |
static Scalar * | get_raw_data (TType< Scalar, Rank > &T) |
|
template<typename Scalar , int Rank> |
static std::array< Indextype, Rank > | dimensions (const TType< Scalar, Rank > &T) |
|
template<typename Scalar , int Rank> |
static TType< Scalar, Rank > | tensorProd (const TType< Scalar, Rank > &T1, const TType< Scalar, Rank > &T2) |
|
template<typename Scalar , std::size_t Rank, typename Expr1 , typename Expr2 > |
static void | addScale (const Expr1 &src, Expr2 &dst, const Scalar &scale) |
|
template<typename Scalar , std::size_t Rank1, std::size_t Rank2, Indextype... Is> |
static TType< Scalar, Rank1+Rank2 - sizeof...(Is)> | contract (const TType< Scalar, Rank1 > &T1, const TType< Scalar, Rank2 > &T2) |
|
template<typename Scalar , std::size_t Rank, Indextype... p> |
static TType< Scalar, Rank > | shuffle (const TType< Scalar, Rank > &T) |
|
template<typename Scalar , std::size_t Rank, Indextype... p> |
static TType< Scalar, Rank > | shuffle (const TType< Scalar, Rank > &T, seq::iseq< Indextype, p... > s) |
|
template<typename Expr , Indextype... p> |
static const Eigen::TensorShufflingOp< const std::array< Indextype, Eigen::internal::traits< Expr >::NumDimensions >, const Expr > | shuffle_view (const Expr &T) |
|
template<typename Scalar , int Rank1, std::size_t Rank2> |
static TType< Scalar, Rank2 > | reshape (const TType< Scalar, Rank1 > &T, const std::array< Indextype, Rank2 > &dims) |
|
template<typename Scalar , std::size_t Rank1, std::size_t Rank2> |
static void | setSubTensor (TType< Scalar, Rank1 > &T, const std::array< Indextype, Rank2 > &offsets, const std::array< Indextype, Rank2 > &extents, const TType< Scalar, Rank1 > &S) |
|
template<typename Scalar , int Rank1, std::size_t Rank2> |
static const Eigen::TensorSlicingOp< const std::array< Indextype, Rank2 >, const std::array< Indextype, Rank2 >, const TType< Scalar, Rank1 > > | slice (TType< Scalar, Rank1 > &T, const std::array< Indextype, Rank2 > &offsets, const std::array< Indextype, Rank2 > &extents) |
|
template<typename Scalar , int Rank1, std::size_t Rank2> |
static const Eigen::TensorReshapingOp< const std::array< Indextype, Rank2 >, const TType< Scalar, Rank1 > > | reshape (TType< Scalar, Rank1 > &T, const std::array< Indextype, Rank2 > &dims) |
|
template<typename Scalar , int Rank> |
static std::string | print (const TType< Scalar, Rank > &T) |
|