operators.h File Reference
#include <TiledArray/tensor/type_traits.h>
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... | |