TiledArray  0.7.0
kernels.h File Reference
Include dependency graph for kernels.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  TiledArray::Tensor< T, A >
 An N-dimensional tensor object. More...
 
struct  TiledArray::detail::transform< T >
 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  TiledArray::detail::transform< T >
 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...
 

Namespaces

 TiledArray
 
 TiledArray::detail
 

Functions

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 TiledArray::detail::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 TiledArray::detail::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 TiledArray::detail::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 TiledArray::detail::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 TiledArray::detail::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 TiledArray::detail::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 TiledArray::detail::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 TiledArray::detail::tensor_reduce (ReduceOp &&reduce_op, JoinOp &&join_op, Scalar identity, const T1 &tensor1, const Ts &... tensors)
 Reduction operation for contiguous tensors. More...