Routing records with preserved ordering metadata #
Gather records are matched by (group, point) but finally ordered by
(request, line position). These are different keys. This module extends
the basic record layout to
(matching key, tag, preserved metadata, copied value).
The predecessor pass updates only the value field of a matched destination; its ordering metadata stays with the destination record. This is the exact layout needed for the manuscript's two gather sorts.
Width of a routing record with an additional preserved metadata field.
Equations
- Algebraic.MassProduction.RoutingMetadata.recordWidth keyWidth metadataWidth valueWidth = Algebraic.MassProduction.Routing.recordWidth keyWidth (metadataWidth + valueWidth)
Instances For
Physical index of one metadata bit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Physical index of one copied-value bit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Metadata projection from one flat record array.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Copied-value projection from one flat record array.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Pack one metadata-aware routing record.
Equations
- Algebraic.MassProduction.RoutingMetadata.packRecord key tag metadata value = Algebraic.MassProduction.Routing.packRecord key tag (Fin.append metadata value)
Instances For
Metadata projection from one standalone record.
Equations
- Algebraic.MassProduction.RoutingMetadata.packedRecordMetadata record bit = record (Algebraic.MassProduction.RoutingMetadata.metadataBit keyWidth metadataWidth valueWidth bit)
Instances For
Value projection from one standalone record.
Equations
- Algebraic.MassProduction.RoutingMetadata.packedRecordValue record bit = record (Algebraic.MassProduction.RoutingMetadata.valueBit keyWidth metadataWidth valueWidth bit)
Instances For
Guarded value-only predecessor copy #
One output formula. Headers and metadata are preserved; only the final value field is conditionally copied.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Semantic value-only predecessor copy.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Gate count of one output expression in the value-only predecessor-copy pass.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Explicit complete value-only copy pass.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A positive record copies the predecessor value exactly when the same key/tag guard succeeds.
A correctly tagged same-key predecessor is copied exactly.
In a sorted array, a uniquely occurring same-key source/destination pair routes its value while leaving destination metadata untouched.
Sort and value-copy composition #
Total gate count of sorting followed by value-only predecessor copying.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Sort by (matching key, tag) and copy only the value field.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Packing-friendly correctness API #
Sorting and value-only predecessor copying routes a unique source value to the unique same-key destination.