26 #ifndef TILEDARRAY_EXPRESSIONS_SCAL_ENGINE_H__INCLUDED 27 #define TILEDARRAY_EXPRESSIONS_SCAL_ENGINE_H__INCLUDED 34 namespace expressions {
38 template <
typename,
typename,
typename>
class ScalEngine;
41 template <
typename Arg,
typename Scalar,
typename Result>
58 typedef typename argument_type::policy
67 typedef typename policy::pmap_interface
70 static constexpr
bool consumable =
true;
78 template <
typename Arg,
typename Scalar,
typename Result>
113 template <
typename A,
typename S>
146 std::stringstream ss;
147 ss <<
"[" << factor_ <<
"] ";
157 #endif // TILEDARRAY_EXPRESSIONS_SCAL_ENGINE_H__INCLUDED Arg argument_type
The argument expression engine type.
EngineTrait< ScalEngine_ >::size_type size_type
Size type.
TiledArray::detail::UnaryWrapper< op_base_type > op_type
The tile operation type.
policy::shape_type shape_type
Shape type.
const Permutation & perm() const
Permutation accessor.
TiledArray::detail::Scal< Result, typename EngineTrait< Arg >::eval_type, scalar_type, EngineTrait< Arg >::consumable > op_base_type
The tile base operation type.
UnaryEngine_::ExprEngine_ ExprEngine_
Expression engine base type.
EngineTrait< ScalEngine_ >::pmap_interface pmap_interface
Process map interface type.
shape_type make_shape() const
Non-permuting shape factory function.
Scaling expression engine.
policy::size_type size_type
Size type.
op_type make_tile_op(const Permutation &perm) const
Permuting tile operation factory function.
Unary tile operation wrapper.
argument_type arg_
The argument.
EngineTrait< ScalEngine_ >::op_type op_type
The tile operation type.
shape_type make_shape(const Permutation &perm) const
Permuting shape factory function.
EngineTrait< ScalEngine_ >::shape_type shape_type
Shape type.
Op::result_type result_type
The result tile type.
op_type::result_type value_type
The result tile type.
ScalEngine< Arg, Scalar, Result > ScalEngine_
This class type.
policy::trange_type trange_type
Tiled range type.
Tensor expression object.
EngineTrait< ScalEngine_ >::scalar_type scalar_type
Tile scalar type.
op_type make_tile_op() const
Non-permuting tile operation factory function.
EngineTrait< ScalEngine_ >::trange_type trange_type
Tiled range type.
EngineTrait< ScalEngine_ >::policy policy
The result policy type.
Scalar scalar_type
Tile scalar type.
TiledArray::detail::DistEval< value_type, policy > dist_eval_type
The distributed evaluator type.
Permutation of a sequence of objects indexed by base-0 indices.
eval_trait< value_type >::type eval_type
Evaluation tile type.
EngineTrait< ScalEngine_ >::value_type value_type
The result tile type.
EngineTrait< ScalEngine_ >::argument_type argument_type
The argument expression engine type.
EngineTrait< ScalEngine_ >::dist_eval_type dist_eval_type
The distributed evaluator type.
policy::pmap_interface pmap_interface
Process map interface type.
argument_type::policy policy
The result policy type.
std::string make_tag() const
Expression identification tag.
ScalEngine(const ScalExpr< A, S > &expr)
Constructor.
UnaryEngine< ScalEngine_ > UnaryEngine_
Unary expression engine base type.