Template Function sequant::home_scope

Function Documentation

template<meta::eval_node Node>
container::svector<Index> const &sequant::home_scope(Node const &n) noexcept

The home residency of n: the loops opened at or above this node filtered to its own result slots, stamped per occurrence by stamp_occurrence_homes. The body &#8212; n->occurrence_home() &#8212; is the definition.

It is not a cross-occurrence meet. EvalExpr::sliced_modes (stamped by eval::stamp_lifetime_masks) is the meet, and it is a different quantity, read by the forest-descent route only; one node sliced along different modes in different terms keeps each occurrence’s own slicing here, and value identity (value_key_of) tells those occurrences apart. See the as-built design, doc/dev/specs/2026-09-12-batched-array-dag-eval-as-built.md section 5.4.