leaf_engine.h
Permutation of a sequence of objects indexed by base-0 indices.
Definition: permutation.h:130
dist_eval_type make_dist_eval() const
Construct the distributed evaluator for array.
Definition: leaf_engine.h:161
std::shared_ptr< pmap_interface > pmap_
The process map for the result tensor.
Definition: expr_engine.h:84
Distributed evaluator for TiledArray::Array objects.
Definition: array_eval.h:173
static constexpr unsigned int leaves
Definition: leaf_engine.h:69
EngineTrait< Derived >::dist_eval_type dist_eval_type
This expression's distributed evaluator type.
Definition: expr_engine.h:58
BipartiteIndexList indices_
Definition: expr_engine.h:75
shape_type make_shape(const Permutation &perm)
Permuting shape factory function.
Definition: leaf_engine.h:156
EngineTrait< ScalBlkTsrEngine_ >::array_type array_type
The input array type.
Definition: blk_tsr_engine.h:460
EngineTrait< Derived >::pmap_interface pmap_interface
Process map interface type.
Definition: leaf_engine.h:66
void init_distribution(World *world, const std::shared_ptr< pmap_interface > &pmap)
Initialize result tensor distribution.
Definition: expr_engine.h:171
static constexpr bool consumable
Definition: leaf_engine.h:68
trange_type make_trange(const Permutation &perm) const
Permuting tiled range factory function.
Definition: leaf_engine.h:143
void init_distribution(World *world, const std::shared_ptr< pmap_interface > &pmap)
Definition: leaf_engine.h:129
BipartiteIndexList indices_
Definition: expr_engine.h:75
EngineTrait< Derived >::array_type array_type
The left-hand expression type.
Definition: leaf_engine.h:47
Definition: array_impl.cpp:28
std::shared_ptr< pmap_interface > pmap_
The process map for the result tensor.
Definition: expr_engine.h:84
void init_indices(const BipartiteIndexList &target_indices)
Initialize the index list of this expression.
Definition: leaf_engine.h:105
BipartitePermutation perm_
The permutation that will be applied to the outer tensor of tensors.
Definition: expr_engine.h:80
bool is_permutation(const BipartiteIndexList &other) const
Check that this index list is a permutation of other.
Definition: index_list.h:692
trange_type make_trange() const
Non-permuting tiled range factory function.
Definition: leaf_engine.h:137
EngineTrait< Derived >::dist_eval_type dist_eval_type
This expression's distributed evaluator type.
Definition: leaf_engine.h:57
const std::shared_ptr< pmap_interface > & pmap() const
Process map accessor.
Definition: expr_engine.h:244
void perm_indices(const BipartiteIndexList &)
Set the index list for this expression.
Definition: leaf_engine.h:99
BipartitePermutation perm_
The permutation that will be applied to the outer tensor of tensors.
Definition: expr_engine.h:80