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

Classes

struct  TiledArray::detail::transform< T >
 

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 >::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 &&!is_reduce_op_v< std::decay_t< ReduceOp >, std::decay_t< Scalar >, std::decay_t< T1 >, std::decay_t< Ts >... >> * = 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...