TiledArray  0.7.0
TiledArray::expressions::BinaryExpr< Derived > Class Template Reference

Binary expression object. More...

#include <binary_engine.h>

Inheritance diagram for TiledArray::expressions::BinaryExpr< Derived >:
Collaboration diagram for TiledArray::expressions::BinaryExpr< Derived >:

Public Types

typedef BinaryExpr< Derived > BinaryExpr_
 This class type. More...
 
typedef ExprTrait< Derived >::left_type left_type
 The left-hand expression type. More...
 
typedef ExprTrait< Derived >::right_type right_type
 The right-hand expression type. More...
 
- Public Types inherited from TiledArray::expressions::Expr< Derived >
template<typename Derived_ = Derived>
using engine_t = typename ExprTrait< Derived_ >::engine_type
 
template<typename Derived_ = Derived>
using eval_type_t = typename engine_t< Derived_ >::eval_type
 
typedef Expr< Derived > Expr_
 This class type. More...
 
typedef Derived derived_type
 The derived object type. More...
 
typedef engine_t< derived_typeengine_type
 Expression engine type. More...
 

Public Member Functions

 BinaryExpr (const BinaryExpr_ &)=default
 
 BinaryExpr (BinaryExpr_ &&)=default
 
 ~BinaryExpr ()=default
 
BinaryExpr_operator= (const BinaryExpr_ &)=delete
 
BinaryExpr_operator= (BinaryExpr_ &&)=delete
 
 BinaryExpr (const left_type &left, const right_type &right)
 Binary expression constructor. More...
 
const left_typeleft () const
 Left-hand expression argument accessor. More...
 
const right_typeright () const
 Right-hand expression argument accessor. More...
 
- Public Member Functions inherited from TiledArray::expressions::Expr< Derived >
Expr< Derived > & set_shape (typename override_type::shape_type const &shape)
 
Expr< Derived > & set_world (World &world)
 
Expr< Derived > & set_pmap (const std::shared_ptr< typename override_type::pmap_interface > pmap)
 
 Expr ()=default
 
 Expr (const Expr_ &)=default
 
 Expr (Expr_ &&)=default
 
 ~Expr ()=default
 
Expr_operator= (const Expr_ &)=delete
 
Expr_operator= (Expr_ &&)=delete
 
derived_typederived ()
 Cast this object to it's derived type. More...
 
const derived_typederived () const
 Cast this object to it's derived type. More...
 
template<typename A , bool Alias>
void eval_to (TsrExpr< A, Alias > &tsr) const
 Evaluate this object and assign it to tsr. More...
 
template<typename A , bool Alias>
void eval_to (BlkTsrExpr< A, Alias > &tsr) const
 Evaluate this object and assign it to tsr. More...
 
void print (ExprOStream &os, const VariableList &target_vars) const
 Expression print. More...
 
template<typename Op >
Future< typename Op::result_type > reduce (const Op &op, World &world) const
 
template<typename Op >
Future< typename Op::result_type > reduce (const Op &op) const
 
template<typename D , typename Op >
Future< typename Op::result_type > reduce (const Expr< D > &right_expr, const Op &op, World &world) const
 
template<typename D , typename Op >
Future< typename Op::result_type > reduce (const Expr< D > &right_expr, const Op &op) const
 
Future< typename TiledArray::TraceReduction< typename EngineTrait< engine_type >::eval_type >::result_type > trace (World &world) const
 
Future< typename TiledArray::TraceReduction< typename EngineTrait< engine_type >::eval_type >::result_type > trace () const
 
Future< typename TiledArray::SumReduction< typename EngineTrait< engine_type >::eval_type >::result_type > sum (World &world) const
 
Future< typename TiledArray::SumReduction< typename EngineTrait< engine_type >::eval_type >::result_type > sum () const
 
Future< typename TiledArray::ProductReduction< typename EngineTrait< engine_type >::eval_type >::result_type > product (World &world) const
 
Future< typename TiledArray::ProductReduction< typename EngineTrait< engine_type >::eval_type >::result_type > product () const
 
Future< typename TiledArray::SquaredNormReduction< typename EngineTrait< engine_type >::eval_type >::result_type > squared_norm (World &world) const
 
Future< typename TiledArray::SquaredNormReduction< typename EngineTrait< engine_type >::eval_type >::result_type > squared_norm () const
 
Future< typename TiledArray::SquaredNormReduction< typename EngineTrait< engine_type >::eval_type >::result_type > norm (World &world) const
 
Future< typename TiledArray::SquaredNormReduction< typename EngineTrait< engine_type >::eval_type >::result_type > norm () const
 
template<typename Derived_ = Derived>
std::enable_if< TiledArray::detail::is_strictly_ordered< TiledArray::detail::numeric_t< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type > >::value, Future< typename TiledArray::MinReduction< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type >::result_type > > min (World &world) const
 
template<typename Derived_ = Derived>
std::enable_if< TiledArray::detail::is_strictly_ordered< TiledArray::detail::numeric_t< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type > >::value, Future< typename TiledArray::MinReduction< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type >::result_type > > min () const
 
template<typename Derived_ = Derived>
std::enable_if< TiledArray::detail::is_strictly_ordered< TiledArray::detail::numeric_t< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type > >::value, Future< typename TiledArray::MaxReduction< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type >::result_type > > max (World &world) const
 
template<typename Derived_ = Derived>
std::enable_if< TiledArray::detail::is_strictly_ordered< TiledArray::detail::numeric_t< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type > >::value, Future< typename TiledArray::MaxReduction< typename EngineTrait< typename ExprTrait< Derived_ >::engine_type >::eval_type >::result_type > > max () const
 
Future< typename TiledArray::AbsMinReduction< typename EngineTrait< engine_type >::eval_type >::result_type > abs_min (World &world) const
 
Future< typename TiledArray::AbsMinReduction< typename EngineTrait< engine_type >::eval_type >::result_type > abs_min () const
 
Future< typename TiledArray::AbsMaxReduction< typename EngineTrait< engine_type >::eval_type >::result_type > abs_max (World &world) const
 
Future< typename TiledArray::AbsMaxReduction< typename EngineTrait< engine_type >::eval_type >::result_type > abs_max () const
 
template<typename D >
Future< typename TiledArray::DotReduction< typename EngineTrait< engine_type >::eval_type, typename EngineTrait< typename D::engine_type >::eval_type >::result_type > dot (const Expr< D > &right_expr, World &world) const
 
template<typename D >
Future< typename TiledArray::DotReduction< typename EngineTrait< engine_type >::eval_type, typename EngineTrait< typename D::engine_type >::eval_type >::result_type > dot (const Expr< D > &right_expr) const
 
template<typename D >
Future< typename TiledArray::InnerProductReduction< typename EngineTrait< engine_type >::eval_type, typename EngineTrait< typename D::engine_type >::eval_type >::result_type > inner_product (const Expr< D > &right_expr, World &world) const
 
template<typename D >
Future< typename TiledArray::InnerProductReduction< typename EngineTrait< engine_type >::eval_type, typename EngineTrait< typename D::engine_type >::eval_type >::result_type > inner_product (const Expr< D > &right_expr) const
 

Detailed Description

template<typename Derived>
class TiledArray::expressions::BinaryExpr< Derived >

Binary expression object.

Template Parameters
DerivedThe derived class type

Definition at line 36 of file binary_engine.h.

Member Typedef Documentation

◆ BinaryExpr_

template<typename Derived>
typedef BinaryExpr<Derived> TiledArray::expressions::BinaryExpr< Derived >::BinaryExpr_

This class type.

Definition at line 40 of file binary_expr.h.

◆ left_type

template<typename Derived>
typedef ExprTrait<Derived>::left_type TiledArray::expressions::BinaryExpr< Derived >::left_type

The left-hand expression type.

Definition at line 41 of file binary_expr.h.

◆ right_type

template<typename Derived>
typedef ExprTrait<Derived>::right_type TiledArray::expressions::BinaryExpr< Derived >::right_type

The right-hand expression type.

Definition at line 42 of file binary_expr.h.

Constructor & Destructor Documentation

◆ BinaryExpr() [1/3]

template<typename Derived>
TiledArray::expressions::BinaryExpr< Derived >::BinaryExpr ( const BinaryExpr_ )
default

◆ BinaryExpr() [2/3]

template<typename Derived>
TiledArray::expressions::BinaryExpr< Derived >::BinaryExpr ( BinaryExpr_ &&  )
default

◆ ~BinaryExpr()

template<typename Derived>
TiledArray::expressions::BinaryExpr< Derived >::~BinaryExpr ( )
default

◆ BinaryExpr() [3/3]

template<typename Derived>
TiledArray::expressions::BinaryExpr< Derived >::BinaryExpr ( const left_type left,
const right_type right 
)
inline

Binary expression constructor.

Definition at line 59 of file binary_expr.h.

Member Function Documentation

◆ left()

template<typename Derived>
const left_type& TiledArray::expressions::BinaryExpr< Derived >::left ( ) const
inline

Left-hand expression argument accessor.

Returns
A const reference to the left-hand expression object

Definition at line 66 of file binary_expr.h.

Here is the caller graph for this function:

◆ operator=() [1/2]

template<typename Derived>
BinaryExpr_& TiledArray::expressions::BinaryExpr< Derived >::operator= ( const BinaryExpr_ )
delete

◆ operator=() [2/2]

template<typename Derived>
BinaryExpr_& TiledArray::expressions::BinaryExpr< Derived >::operator= ( BinaryExpr_ &&  )
delete

◆ right()

template<typename Derived>
const right_type& TiledArray::expressions::BinaryExpr< Derived >::right ( ) const
inline

Right-hand expression argument accessor.

Returns
A const reference to the right-hand expression object

Definition at line 71 of file binary_expr.h.

Here is the caller graph for this function:

The documentation for this class was generated from the following files: