Template Function sequant::evaluate(Nodes const&, F const&, CacheManager&)

Function Documentation

template<Trace EvalTrace = Trace::Default, meta::can_evaluate_range Nodes, typename F>
ResultPtr sequant::evaluate(Nodes const &nodes, F const &le, CacheManager &cache)

Note

Because this function takes no layout argument, it is only useful to evaluate summations of the elements in the nodes when they are scalar results.

Template Parameters:

EvalTrace – If Trace::On, trace is written to the logger’s stream. Default is to follow Trace::Default, which is itself equal to Trace::On or Trace::Off.

Parameters:
  • nodes – A range of node that can be evaluated using le as the leaf evaluator. The evaluation result of the elements of nodes will be summed up.

  • le – The leaf evaluator that satisfies meta::leaf_node_evaluator<Node, F>.

  • cache – The cache for common sub-expression elimination.

Returns:

Evaluated result as ResultPtr.