Namespace sequant::detail

Detailed Description

EvalTrace

If exhale_enumvalue_namespacesequant_1a16e02a28935fd6b04d0757720e0fd88ba521c36a31c2762741cf0f8890cbe05e3, trace is written to the logger’s stream. Default is to follow exhale_enumvalue_namespacesequant_1a16e02a28935fd6b04d0757720e0fd88ba7a1920d61156abc05a60135aefe8bc67, which is itself equal to exhale_enumvalue_namespacesequant_1a16e02a28935fd6b04d0757720e0fd88ba521c36a31c2762741cf0f8890cbe05e3 or exhale_enumvalue_namespacesequant_1a16e02a28935fd6b04d0757720e0fd88bad15305d7a4e34e02489c74a5ef542f36.

Cache

If CacheCache::Checked (default) the root node is looked up in cache before evaluating; a hit short-circuits it. Child nodes are always evaluated Checked. Unchecked skips the lookup for the root only.

The traversal is iterative: it maintains its own explicit work stack (a std::deque of frames) rather than recursing, so evaluation depth is bounded by the heap, not the C++ call stack. This keeps deep trees (e.g. a Class Sum or product chain with thousands of operands) stack-safe. Custom-evaluator interception is preserved exactly: it is consulted when a frame is first visited and a non-null result short-circuits the subtree (its children are never pushed), so subtree pruning the mechanism batched eval relies on is unaffected.

node

A node that can be evaluated using leaf_evaluator as the leaf evaluator.

leaf_evaluator

The leaf evaluator that satisfies None.

cache

The cache for common sub-expression elimination.

Evaluated result as Typedef sequant::ResultPtr.

Namespaces

Classes

Enums

Functions

Typedefs

Variables