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

Go to the source code of this file.

Namespaces

 TiledArray
 
 TiledArray::detail
 

Functions

template<typename T , typename std::enable_if< is_contiguous_tensor< T >::value >::type * = nullptr>
auto TiledArray::detail::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 TiledArray::detail::clone_range (const T &tensor)
 Create a contiguous copy of the range of the tensor. More...
 
template<typename Range >
bool TiledArray::detail::is_congruent (const Range &r1, const Range &r2)
 Test the two ranges are congruent. More...
 
template<>
bool TiledArray::detail::is_congruent (const BlockRange &r1, const BlockRange &r2)
 Test that two BlockRange are congruent. More...
 
template<typename Range >
bool TiledArray::detail::is_congruent (const BlockRange &r1, const Range &r2)
 Test that BlockRange and Range are congruent. More...
 
template<typename Range >
bool TiledArray::detail::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 TiledArray::detail::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 TiledArray::detail::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 TiledArray::detail::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 TiledArray::detail::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 TiledArray::detail::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 TiledArray::detail::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 TiledArray::detail::inner_size_helper (const T &tensor)
 Get the inner size. More...
 
template<typename T1 , typename T2 >
T1::size_type TiledArray::detail::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 TiledArray::detail::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 TiledArray::detail::inner_size (const T &tensor)
 Get the inner size. More...
 
constexpr bool TiledArray::detail::empty ()
 Test for empty tensors in an empty list. More...
 
template<typename T1 , typename... Ts>
bool TiledArray::detail::empty (const T1 &tensor1, const Ts &... tensors)
 Test for empty tensors. More...