expr_engine.h
void init_struct(const BipartiteIndexList &target_indices)
Initialize result tensor structure.
Definition: expr_engine.h:150
void init(World &world, std::shared_ptr< pmap_interface > pmap, const BipartiteIndexList &target_indices)
Construct and initialize the expression engine.
Definition: expr_engine.h:112
EngineTrait< Derived >::pmap_interface pmap_interface
Process map interface type.
Definition: expr_engine.h:67
std::shared_ptr< pmap_interface > pmap_
The process map for the result tensor.
Definition: expr_engine.h:84
std::shared_ptr< EngineParamOverride< Derived > > override_ptr_
The engine params overriding the default.
Definition: expr_engine.h:86
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
void init_distribution(World *world, const std::shared_ptr< pmap_interface > &pmap)
Initialize result tensor distribution.
Definition: expr_engine.h:171
Definition: array_impl.cpp:28
BipartitePermutation make_perm(const BipartiteIndexList &target_indices) const
Permutation factory function.
Definition: expr_engine.h:188
void print(ExprOStream &os, const BipartiteIndexList &target_indices) const
Expression print.
Definition: expr_engine.h:256
BipartitePermutation permutation(const V &other) const
Computes the permutation to go from other to this instance.
Definition: index_list.h:684
const std::shared_ptr< pmap_interface > & pmap() const
Process map accessor.
Definition: expr_engine.h:244
ExprEngine< Derived > ExprEngine_
Definition: expr_engine.h:47
BipartitePermutation perm_
The permutation that will be applied to the outer tensor of tensors.
Definition: expr_engine.h:80