Function sequant::eval::build_site_of¶
Defined in File legality.hpp
Function Documentation¶
-
inline container::svector<Index> sequant::eval::build_site_of(meta::eval_node auto const &node, BatchPolicy const &policy)¶
The at-node build-site of the value rooted at
node:the batch-loop axes (perpolicy.is_batchable_index()) that appear at this node — carried innode'sown result indices, or contracted atnode.Deliberately not a subtree union: in the ordered-scope model every node is itself a value, and a value is one contraction of already -cached operand values (its children), so its build-site is only the axes it carries or contracts at its own node — the axes below it belong to the operand values’ own (separately-analyzed) build-sites, not to this one. Concretely, the union of
node'sowncanon_indices()(its result/free indices), andnode'sowncontracted_indices(node)(see eval.hpp; empty for a leaf or a non-product node), filtered to the batchable subset. The result is de-duplicated byIndexidentity (space + ordinal + proto-indices); order follows first discovery (carried indices, then contracted indices).