TiledArray  0.7.0
TiledArray::expressions::ScalExpr< Arg, Scalar > Class Template Reference

Scaling expression. More...

#include <scal_engine.h>

Inheritance diagram for TiledArray::expressions::ScalExpr< Arg, Scalar >:
Collaboration diagram for TiledArray::expressions::ScalExpr< Arg, Scalar >:

Public Types

typedef ScalExpr< Arg, Scalar > ScalExpr_
 This class type. More...
 
typedef UnaryExpr< ScalExpr_UnaryExpr_
 Unary base class type. More...
 
typedef ExprTrait< ScalExpr_ >::argument_type argument_type
 The argument expression type. More...
 
typedef ExprTrait< ScalExpr_ >::engine_type engine_type
 Expression engine type. More...
 
typedef ExprTrait< ScalExpr_ >::scalar_type scalar_type
 Scalar type. More...
 
- Public Types inherited from TiledArray::expressions::UnaryExpr< ScalExpr< Arg, Scalar > >
typedef UnaryExpr< ScalExpr< Arg, Scalar > > UnaryExpr_
 
typedef ExprTrait< ScalExpr< Arg, Scalar > >::argument_type argument_type
 The expression type. More...
 
- Public Types inherited from TiledArray::expressions::Expr< ScalExpr< Arg, Scalar > >
using engine_t = typename ExprTrait< Derived_ >::engine_type
 
using eval_type_t = typename engine_t< Derived_ >::eval_type
 
typedef Expr< ScalExpr< Arg, Scalar > > Expr_
 This class type. More...
 
typedef ScalExpr< Arg, Scalar > derived_type
 The derived object type. More...
 
typedef engine_t< derived_typeengine_type
 Expression engine type. More...
 

Public Member Functions

 ScalExpr (const ScalExpr_ &)=default
 
 ScalExpr (ScalExpr_ &&)=default
 
 ~ScalExpr ()=default
 
ScalExpr_operator= (const ScalExpr_ &)=delete
 
ScalExpr_operator= (ScalExpr_ &&)=delete
 
 ScalExpr (const argument_type &arg, const scalar_type factor)
 Scaled expression constructor. More...
 
 ScalExpr (const ScalExpr_ &other, const scalar_type factor)
 Rescale expression constructor. More...
 
scalar_type factor () const
 Scaling factor accessor. More...
 
- Public Member Functions inherited from TiledArray::expressions::UnaryExpr< ScalExpr< Arg, Scalar > >
 UnaryExpr (const UnaryExpr_ &)=default
 
 UnaryExpr (UnaryExpr_ &&)=default
 
 UnaryExpr (const argument_type &arg)
 Constructor. More...
 
 ~UnaryExpr ()=default
 
UnaryExpr_operator= (const UnaryExpr_ &)=delete
 
UnaryExpr_operator= (UnaryExpr_ &&)=delete
 
const argument_typearg () const
 Argument expression accessor. More...
 
- Public Member Functions inherited from TiledArray::expressions::Expr< ScalExpr< Arg, Scalar > >
Expr< ScalExpr< Arg, Scalar > > & set_shape (typename override_type::shape_type const &shape)
 
Expr< ScalExpr< Arg, Scalar > > & set_world (World &world)
 
Expr< ScalExpr< Arg, Scalar > > & 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...
 
void eval_to (TsrExpr< A, Alias > &tsr) const
 Evaluate this object and assign it to tsr. More...
 
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...
 
Future< typename Op::result_type > reduce (const Op &op, World &world) const
 
Future< typename Op::result_type > reduce (const Op &op) const
 
Future< typename Op::result_type > reduce (const Expr< D > &right_expr, const Op &op, World &world) const
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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
 
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 Arg, typename Scalar>
class TiledArray::expressions::ScalExpr< Arg, Scalar >

Scaling expression.

Template Parameters
ArgThe argument expression type

Definition at line 37 of file scal_engine.h.

Member Typedef Documentation

◆ argument_type

template<typename Arg, typename Scalar>
typedef ExprTrait<ScalExpr_>::argument_type TiledArray::expressions::ScalExpr< Arg, Scalar >::argument_type

The argument expression type.

Definition at line 60 of file scal_expr.h.

◆ engine_type

template<typename Arg, typename Scalar>
typedef ExprTrait<ScalExpr_>::engine_type TiledArray::expressions::ScalExpr< Arg, Scalar >::engine_type

Expression engine type.

Definition at line 61 of file scal_expr.h.

◆ scalar_type

template<typename Arg, typename Scalar>
typedef ExprTrait<ScalExpr_>::scalar_type TiledArray::expressions::ScalExpr< Arg, Scalar >::scalar_type

Scalar type.

Definition at line 62 of file scal_expr.h.

◆ ScalExpr_

template<typename Arg, typename Scalar>
typedef ScalExpr<Arg, Scalar> TiledArray::expressions::ScalExpr< Arg, Scalar >::ScalExpr_

This class type.

Definition at line 58 of file scal_expr.h.

◆ UnaryExpr_

template<typename Arg, typename Scalar>
typedef UnaryExpr<ScalExpr_> TiledArray::expressions::ScalExpr< Arg, Scalar >::UnaryExpr_

Unary base class type.

Definition at line 59 of file scal_expr.h.

Constructor & Destructor Documentation

◆ ScalExpr() [1/4]

template<typename Arg, typename Scalar>
TiledArray::expressions::ScalExpr< Arg, Scalar >::ScalExpr ( const ScalExpr_ )
default

◆ ScalExpr() [2/4]

template<typename Arg, typename Scalar>
TiledArray::expressions::ScalExpr< Arg, Scalar >::ScalExpr ( ScalExpr_ &&  )
default

◆ ~ScalExpr()

template<typename Arg, typename Scalar>
TiledArray::expressions::ScalExpr< Arg, Scalar >::~ScalExpr ( )
default

◆ ScalExpr() [3/4]

template<typename Arg, typename Scalar>
TiledArray::expressions::ScalExpr< Arg, Scalar >::ScalExpr ( const argument_type arg,
const scalar_type  factor 
)
inline

Scaled expression constructor.

Parameters
argThe argument expression
factorThe scalar type

Definition at line 81 of file scal_expr.h.

◆ ScalExpr() [4/4]

template<typename Arg, typename Scalar>
TiledArray::expressions::ScalExpr< Arg, Scalar >::ScalExpr ( const ScalExpr_ other,
const scalar_type  factor 
)
inline

Rescale expression constructor.

Parameters
otherThe expression to be copied
factorThe scaling factor applied to the new expression

Definition at line 89 of file scal_expr.h.

Member Function Documentation

◆ factor()

template<typename Arg, typename Scalar>
scalar_type TiledArray::expressions::ScalExpr< Arg, Scalar >::factor ( ) const
inline

Scaling factor accessor.

Returns
The scaling factor

Definition at line 97 of file scal_expr.h.

◆ operator=() [1/2]

template<typename Arg, typename Scalar>
ScalExpr_& TiledArray::expressions::ScalExpr< Arg, Scalar >::operator= ( const ScalExpr_ )
delete

◆ operator=() [2/2]

template<typename Arg, typename Scalar>
ScalExpr_& TiledArray::expressions::ScalExpr< Arg, Scalar >::operator= ( ScalExpr_ &&  )
delete

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