Template Function sequant::apply_one_op_traced¶
Defined in File eval.hpp
Function Documentation¶
-
template<Trace EvalTrace = Trace::Default, meta::can_evaluate Node, typename N, bool FHC>
ResultPtr sequant::apply_one_op_traced(Node const &node, ResultPtr const &left, ResultPtr const &right, CacheManager<N, FHC> &cache)¶ apply_one_opplus the per-build bookkeeping every freshly computed node carries.The compute half of a node’s evaluation, shared by
evaluate_impl'sPhase-B and by the table-driven ordered executor (detail::compute_cell, ordered_executor.hpp), so both perform it the same way without re-entering the tree-walking engine: the shaped-product hook, theSEQUANT_UT_FORCE_SYNC/SEQUANT_UT_PROD_TRdiagnostics, the recompute tally (at the (value, slice) granularity), theEvalImplTimelinenode-eval accounting, the per-op trace event (which is what notes the working set on the peak monitor) and the trace’s release-after-op boundary.Value-in, value-out like
apply_one_opitself: it touches no cache storage (cacheis consulted only for the hook, the tally, the batch context and the trace’s residency arithmetic), applies no canonicalization phase, and stores nothing. The in-placeSumfast path is not here — it is the caller’s (it depends on the caller’s own provenance gate) — and neither is the build event (note_fresh_build), which fires after the caller has decided what to do with the result.- Returns:
the op’s raw result, in the node’s own oriented layout.