TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result > Class Template Reference

Documentation

template<typename Left, typename Right, typename Scalar, typename Result>
class TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >

Addition expression engine.

Template Parameters
LeftThe left-hand expression type
RightThe right-hand expression type
ScalarThe scaling factor type
ResultThe result tile type

Definition at line 218 of file add_engine.h.

Public Types

typedef ScalAddEngine< Left, Right, Scalar, Result > ScalAddEngine_
 This class type. More...
 
typedef BinaryEngine< ScalAddEngine_BinaryEngine_
 Binary expression engine base type. More...
 
typedef ExprEngine< ScalAddEngine_ExprEngine_
 Expression engine base type. More...
 
typedef EngineTrait< ScalAddEngine_ >::left_type left_type
 The left-hand expression type. More...
 
typedef EngineTrait< ScalAddEngine_ >::right_type right_type
 The right-hand expression type. More...
 
typedef EngineTrait< ScalAddEngine_ >::value_type value_type
 The result tile type. More...
 
typedef EngineTrait< ScalAddEngine_ >::scalar_type scalar_type
 Tile scalar type. More...
 
typedef EngineTrait< ScalAddEngine_ >::op_base_type op_base_type
 The tile operation type. More...
 
typedef EngineTrait< ScalAddEngine_ >::op_type op_type
 The tile operation type. More...
 
typedef EngineTrait< ScalAddEngine_ >::policy policy
 The result policy type. More...
 
typedef EngineTrait< ScalAddEngine_ >::dist_eval_type dist_eval_type
 The distributed evaluator type. More...
 
typedef EngineTrait< ScalAddEngine_ >::size_type size_type
 Size type. More...
 
typedef EngineTrait< ScalAddEngine_ >::trange_type trange_type
 Tiled range type. More...
 
typedef EngineTrait< ScalAddEngine_ >::shape_type shape_type
 Shape type. More...
 
typedef EngineTrait< ScalAddEngine_ >::pmap_interface pmap_interface
 Process map interface type. More...
 

Public Member Functions

template<typename L , typename R , typename S >
 ScalAddEngine (const ScalAddExpr< L, R, S > &expr)
 Constructor. More...
 
shape_type make_shape () const
 Non-permuting shape factory function. More...
 
shape_type make_shape (const Permutation &perm) const
 Permuting shape factory function. More...
 
op_type make_tile_op () const
 Non-permuting tile operation factory function. More...
 
template<typename Perm , typename = std::enable_if_t< TiledArray::detail::is_permutation_v<Perm>>>
op_type make_tile_op (const Perm &perm) const
 Permuting tile operation factory function. More...
 
scalar_type factor ()
 Scaling factor accessor. More...
 
std::string make_tag () const
 Expression identification tag. More...
 

Member Typedef Documentation

◆ BinaryEngine_

template<typename Left , typename Right , typename Scalar , typename Result >
typedef BinaryEngine<ScalAddEngine_> TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::BinaryEngine_

Binary expression engine base type.

Definition at line 225 of file add_engine.h.

◆ dist_eval_type

template<typename Left , typename Right , typename Scalar , typename Result >
typedef EngineTrait<ScalAddEngine_>::dist_eval_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::dist_eval_type

The distributed evaluator type.

Definition at line 247 of file add_engine.h.

◆ ExprEngine_

template<typename Left , typename Right , typename Scalar , typename Result >
typedef ExprEngine<ScalAddEngine_> TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::ExprEngine_

Expression engine base type.

Definition at line 227 of file add_engine.h.

◆ left_type

template<typename Left , typename Right , typename Scalar , typename Result >
typedef EngineTrait<ScalAddEngine_>::left_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::left_type

The left-hand expression type.

Definition at line 231 of file add_engine.h.

◆ op_base_type

template<typename Left , typename Right , typename Scalar , typename Result >
typedef EngineTrait<ScalAddEngine_>::op_base_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::op_base_type

The tile operation type.

Definition at line 241 of file add_engine.h.

◆ op_type

template<typename Left , typename Right , typename Scalar , typename Result >
typedef EngineTrait<ScalAddEngine_>::op_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::op_type

The tile operation type.

Definition at line 243 of file add_engine.h.

◆ pmap_interface

template<typename Left , typename Right , typename Scalar , typename Result >
typedef EngineTrait<ScalAddEngine_>::pmap_interface TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::pmap_interface

Process map interface type.

Definition at line 257 of file add_engine.h.

◆ policy

template<typename Left , typename Right , typename Scalar , typename Result >
typedef EngineTrait<ScalAddEngine_>::policy TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::policy

The result policy type.

Definition at line 245 of file add_engine.h.

◆ right_type

template<typename Left , typename Right , typename Scalar , typename Result >
typedef EngineTrait<ScalAddEngine_>::right_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::right_type

The right-hand expression type.

Definition at line 233 of file add_engine.h.

◆ ScalAddEngine_

template<typename Left , typename Right , typename Scalar , typename Result >
typedef ScalAddEngine<Left, Right, Scalar, Result> TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::ScalAddEngine_

This class type.

Definition at line 223 of file add_engine.h.

◆ scalar_type

template<typename Left , typename Right , typename Scalar , typename Result >
typedef EngineTrait<ScalAddEngine_>::scalar_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::scalar_type

Tile scalar type.

Definition at line 239 of file add_engine.h.

◆ shape_type

template<typename Left , typename Right , typename Scalar , typename Result >
typedef EngineTrait<ScalAddEngine_>::shape_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::shape_type

Shape type.

Definition at line 255 of file add_engine.h.

◆ size_type

template<typename Left , typename Right , typename Scalar , typename Result >
typedef EngineTrait<ScalAddEngine_>::size_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::size_type

Size type.

Definition at line 251 of file add_engine.h.

◆ trange_type

template<typename Left , typename Right , typename Scalar , typename Result >
typedef EngineTrait<ScalAddEngine_>::trange_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::trange_type

Tiled range type.

Definition at line 253 of file add_engine.h.

◆ value_type

template<typename Left , typename Right , typename Scalar , typename Result >
typedef EngineTrait<ScalAddEngine_>::value_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::value_type

The result tile type.

Definition at line 237 of file add_engine.h.

Constructor & Destructor Documentation

◆ ScalAddEngine()

template<typename Left , typename Right , typename Scalar , typename Result >
template<typename L , typename R , typename S >
TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::ScalAddEngine ( const ScalAddExpr< L, R, S > &  expr)
inline

Constructor.

Template Parameters
LThe left-hand argument expression type
RThe right-hand argument expression type
SThe expression scalar type
Parameters
exprThe parent expression

Definition at line 270 of file add_engine.h.

Member Function Documentation

◆ factor()

template<typename Left , typename Right , typename Scalar , typename Result >
scalar_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::factor ( )
inline

Scaling factor accessor.

Returns
The scaling factor

Definition at line 308 of file add_engine.h.

◆ make_shape() [1/2]

template<typename Left , typename Right , typename Scalar , typename Result >
shape_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::make_shape ( ) const
inline

Non-permuting shape factory function.

Returns
The result shape

Definition at line 276 of file add_engine.h.

◆ make_shape() [2/2]

template<typename Left , typename Right , typename Scalar , typename Result >
shape_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::make_shape ( const Permutation perm) const
inline

Permuting shape factory function.

Parameters
permThe permutation to be applied to the array
Returns
The result shape

Definition at line 285 of file add_engine.h.

◆ make_tag()

template<typename Left , typename Right , typename Scalar , typename Result >
std::string TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::make_tag ( ) const
inline

Expression identification tag.

Returns
An expression tag used to identify this expression

Definition at line 313 of file add_engine.h.

◆ make_tile_op() [1/2]

template<typename Left , typename Right , typename Scalar , typename Result >
op_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::make_tile_op ( ) const
inline

Non-permuting tile operation factory function.

Returns
The tile operation

Definition at line 293 of file add_engine.h.

◆ make_tile_op() [2/2]

template<typename Left , typename Right , typename Scalar , typename Result >
template<typename Perm , typename = std::enable_if_t< TiledArray::detail::is_permutation_v<Perm>>>
op_type TiledArray::expressions::ScalAddEngine< Left, Right, Scalar, Result >::make_tile_op ( const Perm &  perm) const
inline

Permuting tile operation factory function.

Parameters
permThe permutation to be applied to tiles
Returns
The tile operation

Definition at line 301 of file add_engine.h.


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