|
class | Add |
| Tile addition operation. More...
|
|
struct | ArgumentHelper |
|
struct | ArgumentHelper< Future< T > > |
|
struct | ArgumentHelper< std::pair< Future< T >, Future< U > > > |
|
class | ArrayEvalImpl |
| Distributed evaluator for TiledArray::Array objects. More...
|
|
class | ArrayImpl |
| Tensor implementation and base for other tensor implementation objects. More...
|
|
class | ArrayIterator |
| Distributed tensor iterator. More...
|
|
class | BinaryEvalImpl |
| Binary, distributed tensor evaluator. More...
|
|
class | BinaryTransformIterator |
| Binary transform iterator. More...
|
|
class | BinaryWrapper |
| Binary tile operation wrapper. More...
|
|
class | Bitset |
| Fixed size bitset. More...
|
|
class | BlockedPmap |
| A blocked process map. More...
|
|
class | ComplexConjugate |
|
class | ComplexConjugate< ComplexNegTag > |
| Specialization of ComplexConjugate<S> for the case of a negative unit/identity factor. More...
|
|
class | ComplexConjugate< void > |
| Specialization of ComplexConjugate<S> for the case of a unit/identity factor. More...
|
|
struct | ComplexNegTag |
|
class | ContractReduce |
| Contract and (sum) reduce operation. More...
|
|
class | ContractReduce< Result, Left, Right, TiledArray::detail::ComplexConjugate< Scalar > > |
| Contract and reduce operation. More...
|
|
class | ContractReduce< Result, Left, Right, TiledArray::detail::ComplexConjugate< void > > |
| Contract and (sum) reduce operation. More...
|
|
class | ContractReduceBase |
| Contract and (sum) reduce base. More...
|
|
class | CyclicPmap |
| Maps cyclically a sequence of indices onto a 2-d matrix of processes. More...
|
|
struct | default_world |
|
class | DistEval |
| Tensor expression object. More...
|
|
class | DistEvalImpl |
| Distributed evaluator implementation object. More...
|
|
class | DistributedStorage |
| Distributed storage container. More...
|
|
struct | eval_trait_base |
|
struct | eval_trait_base< T, typename std::enable_if< has_member_type_eval_type< T >::value &&(detail::is_explicitly_convertible< T, typename T::eval_type >::value||detail::is_explicitly_convertible< T, madness::Future< typename T::eval_type >>::value||detail::is_implicitly_convertible< T, typename T::eval_type >::value||detail::is_implicitly_convertible< T, madness::Future< typename T::eval_type >>::value)>::type > |
|
struct | has_conversion_operator |
|
struct | has_conversion_operator< From, To, typename std::enable_if< is_type< decltype(std::declval< From >().operator To())>::value >::type > |
|
class | HashPmap |
| Hashed process map. More...
|
|
struct | is_array |
|
struct | is_array< DistArray< T, P > > |
|
struct | is_array_tile |
| Detect tiles used by ArrayEvalImpl . More...
|
|
struct | is_array_tile< TiledArray::detail::LazyArrayTile< T, Op > > |
|
struct | is_bidirectional_iterator |
|
struct | is_complex |
|
struct | is_complex< std::complex< T > > |
|
struct | is_contiguous_tensor |
|
struct | is_contiguous_tensor< T > |
|
struct | is_contiguous_tensor< T1, T2, Ts... > |
|
struct | is_contiguous_tensor<> |
|
struct | is_contiguous_tensor_helper |
|
struct | is_contiguous_tensor_helper< btas::Tensor< T, Args... > > |
|
struct | is_contiguous_tensor_helper< ShiftWrapper< T > > |
|
struct | is_contiguous_tensor_helper< Tensor< T, A > > |
|
struct | is_contiguous_tensor_helper< TensorInterface< T, Range > > |
|
struct | is_convertible |
|
struct | is_dense |
| is_dense<T> is a true type if T is a dense array More...
|
|
struct | is_dense< DistArray< Tile, DensePolicy > > |
|
struct | is_explicitly_convertible |
|
struct | is_forward_iterator |
|
struct | is_implicitly_convertible |
|
struct | is_input_iterator |
|
struct | is_integral_list |
|
struct | is_integral_list_helper |
|
struct | is_integral_list_helper< T, Ts... > |
|
struct | is_integral_list_helper<> |
|
struct | is_integral_pair |
|
struct | is_integral_pair_ |
|
struct | is_integral_pair_< std::pair< T1, T2 >, typename std::enable_if< std::is_integral< T1 >::value &&std::is_integral< T2 >::value >::type > |
|
struct | is_integral_pair_list |
|
struct | is_integral_pair_list_helper |
|
struct | is_integral_pair_list_helper< T, Ts... > |
|
struct | is_integral_pair_list_helper<> |
|
struct | is_integral_tuple |
|
struct | is_integral_tuple< std::tuple< Ts... > > |
|
struct | is_iterator |
|
struct | is_iterator< const T *, void > |
|
struct | is_iterator< const T *const, void > |
|
struct | is_iterator< T *, void > |
|
struct | is_iterator< T *const, void > |
|
struct | is_iterator< T, typename std::enable_if< has_member_type_iterator_category< T >::value >::type > |
|
struct | is_non_array_lazy_tile |
| Detect a lazy evaluation tile that are not a LazyArrayTile . More...
|
|
struct | is_numeric |
|
struct | is_numeric< bool > |
|
struct | is_numeric< ComplexConjugate< S > > |
|
struct | is_numeric< std::complex< T > > |
|
struct | is_output_iterator |
|
struct | is_pair |
|
struct | is_pair< std::pair< T1, T2 > > |
|
struct | is_random_iterator |
|
struct | is_same_or_derived |
|
struct | is_scalar |
|
struct | is_scalar< std::complex< T > > |
|
struct | is_shifted |
|
struct | is_shifted< T > |
|
struct | is_shifted< T1, T2, Ts... > |
|
struct | is_shifted<> |
|
struct | is_shifted_helper |
|
struct | is_shifted_helper< ShiftWrapper< T > > |
|
struct | is_strictly_ordered |
|
struct | is_strictly_ordered_helper |
|
struct | is_tensor |
|
struct | is_tensor< T > |
|
struct | is_tensor< T1, T2, Ts... > |
|
struct | is_tensor<> |
|
struct | is_tensor_helper |
|
struct | is_tensor_helper< btas::Tensor< T, Args... > > |
|
struct | is_tensor_helper< ShiftWrapper< const T > > |
|
struct | is_tensor_helper< ShiftWrapper< T > > |
|
struct | is_tensor_helper< Tensor< T, A > > |
|
struct | is_tensor_helper< TensorInterface< T, R > > |
|
struct | is_tensor_of_tensor |
|
struct | is_tensor_of_tensor< T > |
|
struct | is_tensor_of_tensor< T1, T2, Ts... > |
|
struct | is_tensor_of_tensor<> |
|
struct | is_tensor_of_tensor_helper |
|
struct | is_tensor_of_tensor_helper< ShiftWrapper< T > > |
|
struct | is_tensor_of_tensor_helper< Tensor< T, A > > |
|
struct | is_tensor_of_tensor_helper< TensorInterface< T, RangeType > > |
|
struct | is_tuple |
|
struct | is_tuple_ |
|
struct | is_type |
|
class | LazyArrayTile |
| Lazy tile for on-the-fly evaluation of array tiles. More...
|
|
struct | make_void |
|
class | Mult |
| Tile multiplication operation. More...
|
|
struct | non_iterator_tag |
|
class | Noop |
| Tile no operation (noop) More...
|
|
struct | numeric_type |
| Type trait for extracting the numeric type of tensors and arrays. More...
|
|
struct | numeric_type< Eigen::Array< T, Rows, Cols, Opts, MaxRows, MaxCols >, void > |
|
struct | numeric_type< Eigen::Map< PlainObjectType, MapOptions, StrideType >, void > |
|
struct | numeric_type< Eigen::Matrix< T, Rows, Cols, Opts, MaxRows, MaxCols >, void > |
|
struct | numeric_type< T, typename std::enable_if< has_member_type_value_type< T >::value &&(! is_lazy_tile< T >::value) &&(! is_numeric< T >::value)>::type > |
|
struct | numeric_type< T, typename std::enable_if< is_lazy_tile< T >::value &&! is_numeric< T >::value >::type > |
|
struct | numeric_type< T, typename std::enable_if< is_numeric< T >::value >::type > |
|
struct | numeric_type< Tile< T >, void > |
|
struct | param |
|
struct | param< T, typename std::enable_if< is_numeric< T >::value >::type > |
|
struct | param< T, typename std::enable_if< std::is_pointer< T >::value >::type > |
|
struct | param< T, typename std::enable_if< std::is_reference< T >::value >::type > |
|
class | PermIndex |
| A functor that permutes ordinal indices. More...
|
|
class | ProcGrid |
| A 2D processor grid. More...
|
|
class | RangeIterator |
| Coordinate index iterate. More...
|
|
class | ReducePairOpWrapper |
| Wrapper that to convert a pair-wise reduction into a standard reduction. More...
|
|
class | ReducePairTask |
| Reduce pair task. More...
|
|
class | ReduceTask |
| Reduce task. More...
|
|
struct | remove_cvr |
| Remove const, volatile, and reference qualifiers. More...
|
|
class | ReplicatedPmap |
| A Replicated process map. More...
|
|
class | Replicator |
| Replicate a Array object. More...
|
|
class | Scal |
| Tile scaling operation. More...
|
|
class | ScalAdd |
| Tile scale-addition operation. More...
|
|
struct | scalar_type |
| Type trait for extracting the scalar type of tensors and arrays. More...
|
|
struct | scalar_type< std::complex< T >, void > |
|
struct | scalar_type< T, typename std::enable_if< is_scalar< T >::value >::type > |
|
struct | scalar_type< T, typename std::enable_if<!is_numeric< T >::value >::type > |
|
class | ScalMult |
| Tile scale-multiplication operation. More...
|
|
class | ScalShift |
| Tile shift operation. More...
|
|
class | ScalSubt |
| Tile scale-subtraction operation. More...
|
|
class | Shift |
| Tile shift operation. More...
|
|
class | ShiftWrapper |
| Shift wrapper class. More...
|
|
class | SizeArray |
| Array wrapper. More...
|
|
class | Subt |
| Tile subtraction operation. More...
|
|
class | Summa |
| Distributed contraction evaluator implementation. More...
|
|
class | TensorConstReference |
|
class | TensorImpl |
| Tensor implementation and base for other tensor implementation objects. More...
|
|
class | TensorInterface |
| Tensor interface for external data. More...
|
|
class | TensorReference |
|
class | TileConstReference |
| Tensor tile reference. More...
|
|
class | TileReference |
| Tensor tile reference. More...
|
|
struct | transform |
| customization point transform functionality to tensor class T, useful for nonintrusive extension of T to be usable as tensor type T in Tensor<T> More...
|
|
struct | transform< Tensor< T, A > > |
|
class | UnaryEvalImpl |
| Tensor that is composed from an argument tensor. More...
|
|
class | UnaryTransformIterator |
| Unary transform iterator. More...
|
|
class | UnaryWrapper |
| Unary tile operation wrapper. More...
|
|
class | ValArray |
| Value array. More...
|
|
|
std::string | dummy_annotation (unsigned int DIM) |
|
template<typename Impl > |
bool | operator== (const TileReference< Impl > &a, const TileReference< Impl > &b) |
| comparison operator for TileReference objects More...
|
|
template<typename Impl > |
bool | operator!= (const TileReference< Impl > &a, const TileReference< Impl > &b) |
| inequality operator for TileReference objects More...
|
|
template<typename Impl > |
std::ostream & | operator<< (std::ostream &os, const TileReference< Impl > &a) |
| redirect operator to std::ostream for TileReference objects More...
|
|
template<typename Impl > |
bool | operator== (const TileConstReference< Impl > &a, const TileConstReference< Impl > &b) |
| comparison operator for TileConstReference objects More...
|
|
template<typename Impl > |
bool | operator!= (const TileConstReference< Impl > &a, const TileConstReference< Impl > &b) |
| inequality operator for TileConstReference objects More...
|
|
template<typename Impl > |
std::ostream & | operator<< (std::ostream &os, const TileConstReference< Impl > &a) |
| redirect operator to std::ostream for TileConstReference objects More...
|
|
template<typename B > |
void | swap (Bitset< B > &b0, Bitset< B > &b1) |
|
template<typename Block > |
Bitset< Block > | operator & (Bitset< Block > left, const Bitset< Block > &right) |
| Bitwise and operator of bitset. More...
|
|
template<typename Block > |
Bitset< Block > | operator| (Bitset< Block > left, const Bitset< Block > &right) |
| Bitwise or operator of bitset. More...
|
|
template<typename Block > |
Bitset< Block > | operator^ (Bitset< Block > left, const Bitset< Block > &right) |
| Bitwise xor operator of bitset. More...
|
|
template<typename Block > |
std::ostream & | operator<< (std::ostream &os, const Bitset< Block > &bitset) |
|
template<typename DistArray_ , typename BTAS_Tensor_ > |
void | counted_btas_subtensor_to_tensor (const BTAS_Tensor_ *src, DistArray_ *dst, const typename DistArray_::size_type i, madness::AtomicInt *counter) |
| Task function for converting btas::Tensor subblock to a TiledArray::DistArray. More...
|
|
template<typename TA_Tensor_ , typename BTAS_Tensor_ > |
void | counted_tensor_to_btas_subtensor (const TA_Tensor_ &src, BTAS_Tensor_ *dst, madness::AtomicInt *counter) |
| Task function for assigning a tensor to an Eigen submatrix. More...
|
|
template<bool sparse> |
auto | make_shape (World &world, const TiledArray::TiledRange &trange) |
|
template<> |
auto | make_shape< true > (World &world, const TiledArray::TiledRange &trange) |
|
template<> |
auto | make_shape< false > (World &, const TiledArray::TiledRange &) |
|
template<typename A , typename Derived > |
void | counted_eigen_submatrix_to_tensor (const Eigen::MatrixBase< Derived > *matrix, A *array, const typename A::size_type i, madness::AtomicInt *counter) |
| Task function for converting Eigen submatrix to a tensor. More...
|
|
template<typename Derived , typename T > |
void | counted_tensor_to_eigen_submatrix (const T &tensor, Eigen::MatrixBase< Derived > *matrix, madness::AtomicInt *counter) |
| Task function for assigning a tensor to an Eigen submatrix. More...
|
|
template<bool inplace = false, typename Op , typename ResultTile , typename ArgTile , typename... ArgTiles> |
DistArray< ResultTile, DensePolicy > | foreach (Op &&op, const_if_t< not inplace, DistArray< ArgTile, DensePolicy >> &arg, const DistArray< ArgTiles, DensePolicy > &... args) |
| base implementation of dense TiledArray::foreach More...
|
|
template<bool inplace = false, typename Op , typename ResultTile , typename ArgTile , typename... ArgTiles> |
DistArray< ResultTile, SparsePolicy > | foreach (Op &&op, const ShapeReductionMethod shape_reduction, const_if_t< not inplace, DistArray< ArgTile, SparsePolicy >> &arg, const DistArray< ArgTiles, SparsePolicy > &... args) |
| base implementation of sparse TiledArray::foreach More...
|
|
const TiledArray::Range & | make_ta_range (const TiledArray::Range &range) |
|
template<CBLAS_ORDER Order, typename... Args> |
TiledArray::Range | make_ta_range (const btas::RangeNd< Order, Args... > &range) |
| makes TiledArray::Range from a btas::RangeNd More...
|
|
template<typename Perm , typename Arg , typename Result > |
void | permute_array (const Perm &perm, const Arg &arg, Result &result) |
| Create a permuted copy of an array. More...
|
|
template<typename T , typename Container > |
bool | operator== (const RangeIterator< T, Container > &left_it, const RangeIterator< T, Container > &right_it) |
| Equality operator. More...
|
|
template<typename T , typename Container > |
bool | operator!= (const RangeIterator< T, Container > &left_it, const RangeIterator< T, Container > &right_it) |
| Inequality operator. More...
|
|
template<typename T > |
std::vector< T > | operator* (const Permutation &perm, const SizeArray< T > &orig) |
|
template<typename T > |
std::ostream & | operator<< (std::ostream &os, const SizeArray< T > &size_array) |
|
Range | diagonal_range (Range const &rng) |
|
template<typename T > |
Tensor< float > | diagonal_shape (TiledRange const &trange, T val) |
|
template<typename Array , typename T > |
void | write_tiles_to_array (Array &A, T val) |
|
template<typename R , typename std::enable_if<! is_complex< R >::value >::type * = nullptr> |
TILEDARRAY_FORCE_INLINE R | conj (const R r) |
| Wrapper function for std::conj More...
|
|
template<typename R > |
TILEDARRAY_FORCE_INLINE std::complex< R > | conj (const std::complex< R > z) |
| Wrapper function for std::conj. More...
|
|
template<typename L , typename R , typename std::enable_if<! is_complex< L >::value >::type * = nullptr> |
TILEDARRAY_FORCE_INLINE auto | inner_product (const L l, const R r) |
| Inner product of a real value and a numeric value. More...
|
|
template<typename R , typename std::enable_if<! is_complex< R >::value >::type * = nullptr> |
TILEDARRAY_FORCE_INLINE R | norm (const R r) |
| Wrapper function for std::norm More...
|
|
template<typename R > |
TILEDARRAY_FORCE_INLINE R | norm (const std::complex< R > z) |
| Compute the norm of a complex number z More...
|
|
template<typename S > |
ComplexConjugate< S > | conj_op (const S factor) |
| ComplexConjugate operator factory function. More...
|
|
ComplexConjugate< void > | conj_op () |
| ComplexConjugate operator factory function. More...
|
|
template<typename L , typename R > |
TILEDARRAY_FORCE_INLINE auto | operator* (const L value, const ComplexConjugate< R > op) |
|
template<typename L > |
TILEDARRAY_FORCE_INLINE auto | operator* (const L value, const ComplexConjugate< void > &) |
|
template<typename L > |
TILEDARRAY_FORCE_INLINE auto | operator* (const L value, const ComplexConjugate< ComplexNegTag > &) |
|
template<typename L , typename R > |
TILEDARRAY_FORCE_INLINE auto | operator* (const ComplexConjugate< L > op, const R value) |
|
template<typename R > |
TILEDARRAY_FORCE_INLINE auto | operator* (const ComplexConjugate< void >, const R value) |
|
template<typename R > |
TILEDARRAY_FORCE_INLINE auto | operator* (const ComplexConjugate< ComplexNegTag >, const R value) |
|
template<typename L , typename R , typename std::enable_if<! std::is_void< R >::value >::type * = nullptr> |
TILEDARRAY_FORCE_INLINE L & | operator*= (L &value, const ComplexConjugate< R > op) |
|
template<typename L > |
TILEDARRAY_FORCE_INLINE L & | operator*= (L &value, const ComplexConjugate< void > &) |
|
template<typename L > |
TILEDARRAY_FORCE_INLINE L & | operator*= (L &value, const ComplexConjugate< ComplexNegTag > &) |
|
template<typename T > |
auto | abs (const ComplexConjugate< T > &a) |
|
int | abs (const ComplexConjugate< void > &a) |
|
template<typename TR , typename Op , typename T1 , typename... Ts, typename std::enable_if< is_tensor< TR, T1, Ts... >::value||is_tensor_of_tensor< TR, T1, Ts... >::value >::type * = nullptr> |
TR | tensor_op (Op &&op, const T1 &tensor1, const Ts &... tensors) |
| Tensor operations with contiguous data. More...
|
|
template<typename TR , typename Op , typename T1 , typename... Ts, typename std::enable_if<(is_tensor< T1, Ts... >::value||is_tensor_of_tensor< TR, T1, Ts... >::value) &&is_contiguous_tensor< T1, Ts... >::value >::type * = nullptr> |
TR | tensor_op (Op &&op, const Permutation &perm, const T1 &tensor1, const Ts &... tensors) |
| Tensor permutation operations with contiguous data. More...
|
|
template<typename Op , typename TR , typename... Ts, typename std::enable_if< is_tensor< TR, Ts... >::value &&is_contiguous_tensor< TR, Ts... >::value >::type * = nullptr> |
void | inplace_tensor_op (Op &&op, TR &result, const Ts &... tensors) |
| In-place tensor operations with contiguous data. More...
|
|
template<typename InputOp , typename OutputOp , typename TR , typename T1 , typename... Ts, typename std::enable_if< is_tensor< TR, T1, Ts... >::value &&is_contiguous_tensor< TR, T1, Ts... >::value >::type * = nullptr> |
void | inplace_tensor_op (InputOp &&input_op, OutputOp &&output_op, const Permutation &perm, TR &result, const T1 &tensor1, const Ts &... tensors) |
| In-place tensor permutation operations with contiguous data. More...
|
|
template<typename Op , typename TR , typename... Ts, typename std::enable_if< is_tensor< TR, Ts... >::value &&is_contiguous_tensor< TR, Ts... >::value >::type * = nullptr> |
void | tensor_init (Op &&op, TR &result, const Ts &... tensors) |
| Initialize tensor with contiguous tensor arguments. More...
|
|
template<typename Op , typename TR , typename T1 , typename... Ts, typename std::enable_if< is_tensor< TR, T1, Ts... >::value &&is_contiguous_tensor< TR, T1, Ts... >::value >::type * = nullptr> |
void | tensor_init (Op &&op, const Permutation &perm, TR &result, const T1 &tensor1, const Ts &... tensors) |
| Initialize tensor with permuted tensor arguments. More...
|
|
template<typename Op , typename TR , typename T1 , typename... Ts, typename std::enable_if< is_tensor< TR, T1, Ts... >::value &&is_contiguous_tensor< TR >::value &&! is_contiguous_tensor< T1, Ts... >::value >::type * = nullptr> |
void | tensor_init (Op &&op, TR &result, const T1 &tensor1, const Ts &... tensors) |
| Initialize tensor with one or more non-contiguous tensor arguments. More...
|
|
template<typename ReduceOp , typename JoinOp , typename Scalar , typename T1 , typename... Ts, typename std::enable_if_t< is_tensor< T1, Ts... >::value &&is_contiguous_tensor< T1, Ts... >::value > * = nullptr> |
Scalar | tensor_reduce (ReduceOp &&reduce_op, JoinOp &&join_op, Scalar identity, const T1 &tensor1, const Ts &... tensors) |
| Reduction operation for contiguous tensors. More...
|
|
template<typename SizeType > |
void | fuse_dimensions (SizeType *MADNESS_RESTRICT const fused_size, SizeType *MADNESS_RESTRICT const fused_weight, const SizeType *MADNESS_RESTRICT const size, const Permutation &perm) |
| Compute the fused dimensions for permutation. More...
|
|
template<typename InputOp , typename OutputOp , typename Result , typename Arg0 , typename... Args> |
void | permute (InputOp &&input_op, OutputOp &&output_op, Result &result, const Permutation &perm, const Arg0 &arg0, const Args &... args) |
| Construct a permuted tensor copy. More...
|
|
template<typename Left , typename Right > |
bool | is_range_congruent (const Left &left, const ShiftWrapper< Right > &right) |
| Check for congruent range objects with a shifted tensor. More...
|
|
template<typename T , typename std::enable_if< is_contiguous_tensor< T >::value >::type * = nullptr> |
auto | clone_range (const T &tensor) |
| Create a copy of the range of the tensor. More...
|
|
template<typename T , typename std::enable_if<! is_contiguous_tensor< T >::value >::type * = nullptr> |
Range | clone_range (const T &tensor) |
| Create a contiguous copy of the range of the tensor. More...
|
|
template<typename Range > |
bool | is_congruent (const Range &r1, const Range &r2) |
| Test the two ranges are congruent. More...
|
|
template<> |
bool | is_congruent (const BlockRange &r1, const BlockRange &r2) |
| Test that two BlockRange are congruent. More...
|
|
template<typename Range > |
bool | is_congruent (const BlockRange &r1, const Range &r2) |
| Test that BlockRange and Range are congruent. More...
|
|
template<typename Range > |
bool | is_congruent (const Range &r1, const BlockRange &r2) |
| Test that Range and BlockRange are congruent. More...
|
|
template<typename T1 , typename T2 , typename std::enable_if<!(is_shifted< T1 >::value||is_shifted< T2 >::value)>::type * = nullptr> |
bool | is_range_congruent (const T1 &tensor1, const T2 &tensor2) |
| Test that the ranges of a pair of tensors are congruent. More...
|
|
template<typename T1 , typename T2 , typename std::enable_if<!(is_shifted< T1 >::value||is_shifted< T2 >::value)>::type * = nullptr> |
bool | is_range_congruent (const T1 &tensor1, const T2 &tensor2, const Permutation &perm) |
| Test that the ranges of a pair of permuted tensors are congruent. More...
|
|
template<typename T > |
constexpr bool | is_range_set_congruent (const Permutation &perm, const T &tensor) |
| Test that the ranges of a permuted tensor is congruent with itself. More...
|
|
template<typename T1 , typename T2 , typename... Ts> |
bool | is_range_set_congruent (const Permutation &perm, const T1 &tensor1, const T2 &tensor2, const Ts &... tensors) |
| Test that the ranges of a permuted set of tensors are congruent. More...
|
|
template<typename T > |
constexpr bool | is_range_set_congruent (const T &tensor) |
| Test that the ranges of a tensor is congruent with itself. More...
|
|
template<typename T1 , typename T2 , typename... Ts> |
bool | is_range_set_congruent (const T1 &tensor1, const T2 &tensor2, const Ts &... tensors) |
| Test that the ranges of a set of tensors are congruent. More...
|
|
template<typename T > |
T::size_type | inner_size_helper (const T &tensor) |
| Get the inner size. More...
|
|
template<typename T1 , typename T2 > |
T1::size_type | inner_size_helper (const T1 &tensor1, const T2 &tensor2) |
| Get the inner size of two tensors. More...
|
|
template<typename T1 , typename T2 , typename std::enable_if<! is_contiguous_tensor< T1 >::value &&is_contiguous_tensor< T2 >::value >::type * = nullptr> |
T1::size_type | inner_size (const T1 &tensor1, const T2 &) |
| Get the inner size of two tensors. More...
|
|
template<typename T , typename std::enable_if<! is_contiguous_tensor< T >::value >::type * = nullptr> |
T::size_type | inner_size (const T &tensor) |
| Get the inner size. More...
|
|
constexpr bool | empty () |
| Test for empty tensors in an empty list. More...
|
|
template<typename T1 , typename... Ts> |
bool | empty (const T1 &tensor1, const Ts &... tensors) |
| Test for empty tensors. More...
|
|
template<typename T > |
Tile< T > | make_tile (T &&t) |
| Factory function for tiles. More...
|
|
template<typename Iter1 , typename Iter2 , typename Op > |
BinaryTransformIterator< Iter1, Iter2, Op > | make_tran_it (Iter1 it1, Iter2 it2, Op op) |
| Binary Transform iterator factory. More...
|
|
template<typename Iter , typename Op > |
UnaryTransformIterator< Iter, Op > | make_tran_it (Iter it, Op op) |
| Unary Transform iterator factory. More...
|
|
template<typename T , std::size_t N> |
constexpr std::size_t | size (T(&)[N]) |
| Array size accessor. More...
|
|
template<typename T , std::size_t N> |
constexpr std::size_t | size (const std::array< T, N > &) |
| Array size accessor. More...
|
|
template<typename T , typename std::enable_if<! std::is_array< T >::value >::type * = nullptr> |
auto | size (const T &a) |
| Array size accessor. More...
|
|
template<typename T > |
auto | size (std::initializer_list< T > a) |
| Array size accessor. More...
|
|
template<typename ... Ts> |
auto | size (const std::tuple< Ts... > &a) |
| Tuple size accessor. More...
|
|
template<typename T , typename std::enable_if<! std::is_pointer< T >::value >::type * = nullptr> |
auto | data (T &t) |
| Container data pointer accessor. More...
|
|
template<typename T , typename std::enable_if<! std::is_pointer< T >::value >::type * = nullptr> |
auto | data (const T &t) |
| Container data pointer accessor. More...
|
|
template<typename T , typename std::enable_if< std::is_pointer< T >::value >::type * = nullptr> |
T | data (T t) |
| Pointer data adapter. More...
|
|
template<typename T , std::size_t N> |
T * | data (T(&a)[N]) |
| Array data pointer accessor. More...
|
|
template<typename T , std::size_t N> |
const T * | data (const T(&a)[N]) |
| Array data pointer accessor. More...
|
|
template<typename T > |
T * | data (std::initializer_list< T > &l) |
| Initializer list data pointer accessor. More...
|
|
template<typename T > |
const T * | data (const std::initializer_list< T > &l) |
| Initializer list const data pointer accessor. More...
|
|
template<typename A > |
void | print_array (std::ostream &out, const A &a, const std::size_t n) |
| Print the content of an array like object. More...
|
|
template<typename A > |
void | print_array (std::ostream &out, const A &a) |
| Print the content of an array like object. More...
|
|
template<typename T > |
std::ostream & | operator<< (std::ostream &os, const ValArray< T > &val_array) |
|