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

Namespaces

 TiledArray
 

Functions

template<typename T1 , typename T2 , typename std::enable_if< detail::is_tensor< T1, T2 >::value||detail::is_tensor_of_tensor< T1, T2 >::value >::type * = nullptr>
auto TiledArray::operator+ (const T1 &left, const T2 &right)
 Tensor plus operator. More...
 
template<typename T1 , typename T2 , typename std::enable_if< detail::is_tensor< T1, T2 >::value||detail::is_tensor_of_tensor< T1, T2 >::value >::type * = nullptr>
auto TiledArray::operator- (const T1 &left, const T2 &right)
 Tensor minus operator. More...
 
template<typename T1 , typename T2 , typename std::enable_if< detail::is_tensor< T1, T2 >::value||detail::is_tensor_of_tensor< T1, T2 >::value >::type * = nullptr>
auto TiledArray::operator* (const T1 &left, const T2 &right)
 Tensor multiplication operator. More...
 
template<typename T , typename N , typename std::enable_if<(detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value) &&detail::is_numeric_v< N >>::type * = nullptr>
auto TiledArray::operator* (const T &left, N right)
 Create a copy of left that is scaled by right. More...
 
template<typename N , typename T , typename std::enable_if< detail::is_numeric_v< N > &&(detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value)>::type * = nullptr>
auto TiledArray::operator* (N left, const T &right)
 Create a copy of right that is scaled by left. More...
 
template<typename T , typename std::enable_if< detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value >::type * = nullptr>
auto TiledArray::operator- (const T &arg) -> decltype(arg.neg())
 Create a negated copy of arg. More...
 
template<typename T , typename std::enable_if< detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value >::type * = nullptr>
auto TiledArray::operator* (const Permutation &perm, const T &arg)
 Create a permuted copy of arg. More...
 
template<typename T1 , typename T2 , typename std::enable_if< detail::is_tensor< T1, T2 >::value||detail::is_tensor_of_tensor< T1, T2 >::value >::type * = nullptr>
auto TiledArray::operator+= (T1 &left, const T2 &right)
 Tensor plus operator. More...
 
template<typename T1 , typename T2 , typename std::enable_if< detail::is_tensor< T1, T2 >::value||detail::is_tensor_of_tensor< T1, T2 >::value >::type * = nullptr>
auto TiledArray::operator-= (T1 &left, const T2 &right)
 Tensor minus operator. More...
 
template<typename T1 , typename T2 , typename std::enable_if< detail::is_tensor< T1, T2 >::value||detail::is_tensor_of_tensor< T1, T2 >::value >::type * = nullptr>
auto TiledArray::operator*= (T1 &left, const T2 &right)
 In place tensor multiplication. More...
 
template<typename T , typename N , typename std::enable_if<(detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value) &&detail::is_numeric_v< N >>::type * = nullptr>
auto TiledArray::operator+= (T &left, N right)
 In place tensor add constant. More...
 
template<typename T , typename N , typename std::enable_if<(detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value) &&detail::is_numeric_v< N >>::type * = nullptr>
auto TiledArray::operator-= (T &left, N right)
 In place tensor subtract constant. More...
 
template<typename T , typename N , typename std::enable_if<(detail::is_tensor< T >::value||detail::is_tensor_of_tensor< T >::value) &&detail::is_numeric_v< N >>::type * = nullptr>
auto TiledArray::operator*= (T &left, N right)
 In place tensor scale. More...