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

Classes

struct  TiledArray::expressions::ExprTrait< AddExpr< Left, Right > >
 
struct  TiledArray::expressions::ExprTrait< ScalAddExpr< Left, Right, Scalar > >
 
class  TiledArray::expressions::AddExpr< Left, Right >
 Addition expression. More...
 
class  TiledArray::expressions::ScalAddExpr< Left, Right, Scalar >
 Add-then-scale expression. More...
 

Namespaces

 TiledArray
 
 TiledArray::expressions
 

Typedefs

template<typename Left , typename Right >
using TiledArray::expressions::ConjAddExpr = ScalAddExpr< Left, Right, TiledArray::detail::ComplexConjugate< void > >
 
template<typename Left , typename Right , typename Scalar >
using TiledArray::expressions::ScalConjAddExpr = ScalAddExpr< Left, Right, TiledArray::detail::ComplexConjugate< Scalar > >
 

Functions

template<typename Left , typename Right >
AddExpr< Left, Right > TiledArray::expressions::operator+ (const Expr< Left > &left, const Expr< Right > &right)
 Addition expression factor. More...
 
template<typename Left , typename Right , typename Scalar >
std::enable_if< TiledArray::detail::is_numeric_v< Scalar >, ScalAddExpr< Left, Right, Scalar > >::type TiledArray::expressions::operator* (const AddExpr< Left, Right > &expr, const Scalar &factor)
 Scaled-addition expression factor. More...
 
template<typename Left , typename Right , typename Scalar >
std::enable_if< TiledArray::detail::is_numeric_v< Scalar >, ScalAddExpr< Left, Right, Scalar > >::type TiledArray::expressions::operator* (const Scalar &factor, const AddExpr< Left, Right > &expr)
 Scaled-addition expression factor. More...
 
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar2 > >::type * = nullptr>
ScalAddExpr< Left, Right, mult_t< Scalar1, Scalar2 > > TiledArray::expressions::operator* (const ScalAddExpr< Left, Right, Scalar1 > &expr, const Scalar2 &factor)
 Scaled-addition expression factor. More...
 
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar1 > >::type * = nullptr>
ScalAddExpr< Left, Right, mult_t< Scalar2, Scalar1 > > TiledArray::expressions::operator* (const Scalar1 &factor, const ScalAddExpr< Left, Right, Scalar2 > &expr)
 Scaled-addition expression factor. More...
 
template<typename Left , typename Right >
ScalAddExpr< Left, Right, typename ExprTrait< AddExpr< Left, Right > >::numeric_type > TiledArray::expressions::operator- (const AddExpr< Left, Right > &expr)
 Negated addition expression factor. More...
 
template<typename Left , typename Right , typename Scalar >
ScalAddExpr< Left, Right, Scalar > TiledArray::expressions::operator- (const ScalAddExpr< Left, Right, Scalar > &expr)
 Negated scaled-addition expression factor. More...
 
template<typename Left , typename Right >
ConjAddExpr< Left, Right > TiledArray::expressions::conj (const AddExpr< Left, Right > &expr)
 Conjugated addition expression factory. More...
 
template<typename Left , typename Right >
AddExpr< Left, Right > TiledArray::expressions::conj (const ConjAddExpr< Left, Right > &expr)
 Conjugated-conjugate addition expression factory. More...
 
template<typename Left , typename Right , typename Scalar >
ScalConjAddExpr< Left, Right, Scalar > TiledArray::expressions::conj (const ScalAddExpr< Left, Right, Scalar > &expr)
 Conjugated addition expression factor. More...
 
template<typename Left , typename Right , typename Scalar >
ScalAddExpr< Left, Right, Scalar > TiledArray::expressions::conj (const ScalConjAddExpr< Left, Right, Scalar > &expr)
 Conjugated-conjugate addition expression factory. More...
 
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr>
ScalConjAddExpr< Left, Right, Scalar > TiledArray::expressions::operator* (const ConjAddExpr< Left, Right > &expr, const Scalar &factor)
 Scaled-conjugated addition expression factor. More...
 
template<typename Left , typename Right , typename Scalar , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar > >::type * = nullptr>
ScalConjAddExpr< Left, Right, Scalar > TiledArray::expressions::operator* (const Scalar &factor, const ConjAddExpr< Left, Right > &expr)
 Scaled-conjugated addition expression factor. More...
 
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar2 > >::type * = nullptr>
ScalConjAddExpr< Left, Right, mult_t< Scalar1, Scalar2 > > TiledArray::expressions::operator* (const ScalConjAddExpr< Left, Right, Scalar1 > &expr, const Scalar2 &factor)
 Scaled-conjugated addition expression factor. More...
 
template<typename Left , typename Right , typename Scalar1 , typename Scalar2 , typename std::enable_if< TiledArray::detail::is_numeric_v< Scalar1 > >::type * = nullptr>
ScalConjAddExpr< Left, Right, mult_t< Scalar2, Scalar1 > > TiledArray::expressions::operator* (const Scalar1 &factor, const ScalConjAddExpr< Left, Right, Scalar2 > &expr)
 Scaled-conjugated addition expression factor. More...
 
template<typename Left , typename Right >
ScalConjAddExpr< Left, Right, typename ExprTrait< ConjAddExpr< Left, Right > >::numeric_type > TiledArray::expressions::operator- (const ConjAddExpr< Left, Right > &expr)
 Negated-conjugated addition expression factor. More...
 
template<typename Left , typename Right , typename Scalar >
ScalConjAddExpr< Left, Right, Scalar > TiledArray::expressions::operator- (const ScalConjAddExpr< Left, Right, Scalar > &expr)
 Negated-conjugated addition expression factor. More...