26 #ifndef TILEDARRAY_EXPRESSIONS_SCAL_TSR_ENGINE_H__INCLUDED 27 #define TILEDARRAY_EXPRESSIONS_SCAL_TSR_ENGINE_H__INCLUDED 34 namespace expressions {
40 template <
typename Tile,
typename Policy,
typename Scalar,
typename Result>
67 static constexpr
bool consumable =
true;
68 static constexpr
unsigned int leaves = 1;
76 template <
typename Array,
typename Scalar,
typename Result>
107 template <
typename A,
typename S>
144 std::stringstream ss;
145 ss <<
"[" << factor_ <<
"] ";
154 #endif // TILEDARRAY_EXPRESSIONS_SCAL_TSR_ENGINE_H__INCLUDED EngineTrait< ScalTsrEngine_ >::value_type value_type
Tensor value type.
shape_type make_shape()
Non-permuting shape factory function.
const Permutation & perm() const
Permutation accessor.
Determine the object type used in the evaluation of tensor expressions.
Expression wrapper for scaled array objects.
DistArray< Tile, Policy > array_type
The array type.
policy::pmap_interface pmap_interface
Process map interface type.
policy::size_type size_type
Size type.
EngineTrait< ScalTsrEngine_ >::policy policy
The result policy type.
array_type array_
The array object.
Scaled tensor expression engine.
TiledArray::detail::Scal< Result, typename TiledArray::eval_trait< typename array_type::value_type >::type, scalar_type, TiledArray::eval_trait< typename array_type::value_type >::is_consumable > op_base_type
The tile operation.
Unary tile operation wrapper.
EngineTrait< ScalTsrEngine_ >::size_type size_type
Size type.
Lazy tile for on-the-fly evaluation of array tiles.
EngineTrait< ScalTsrEngine_ >::dist_eval_type dist_eval_type
This expression's distributed evaluator type.
Policy policy
Policy type.
Tensor expression object.
EngineTrait< ScalTsrEngine_ >::pmap_interface pmap_interface
Process map interface type.
ScalTsrEngine(const ScalTsrExpr< A, S > &expr)
EngineTrait< ScalTsrEngine_ >::scalar_type scalar_type
Tile scalar type.
std::string make_tag() const
Expression identification tag.
EngineTrait< ScalTsrEngine_ >::trange_type trange_type
Tiled range type type.
EngineTrait< ScalTsrEngine_ >::op_base_type op_base_type
Tile base operation type.
LeafEngine_::ExprEngine_ ExprEngine_
Expression engine base class.
EngineTrait< ScalTsrEngine_ >::array_type array_type
The left-hand expression type.
EngineTrait< ScalTsrEngine_ >::op_type op_type
Tile operation type.
eval_trait< value_type >::type eval_type
Evaluation tile type.
TiledArray::detail::LazyArrayTile< typename array_type::value_type, op_type > value_type
Tile type.
Permutation of a sequence of objects indexed by base-0 indices.
shape_type make_shape(const Permutation &perm)
Permuting shape factory function.
EngineTrait< ScalTsrEngine_ >::shape_type shape_type
Tensor shape type.
policy::shape_type shape_type
Shape type.
policy::trange_type trange_type
Tiled range type.
op_type make_tile_op() const
Non-permuting tile operation factory function.
op_type make_tile_op(const Permutation &perm) const
Permuting tile operation factory function.
LeafEngine< ScalTsrEngine_ > LeafEngine_
Leaf base class type.
An N-dimensional shallow copy wrapper for tile objects.
TiledArray::detail::UnaryWrapper< op_base_type > op_type
TiledArray::detail::DistEval< value_type, policy > dist_eval_type
The distributed evaluator type.
ScalTsrEngine< Array, Scalar, Result > ScalTsrEngine_
This class type.