Native frontend descriptor layout #
Descriptors have six words, three consecutive (length,pointer) pairs. Arrays occupy
disjoint blocks of capacity n+1; unused capacity is outside the compact enumeration.
The first four n-word blocks remain reserved for radix sorting and full multiplicities.
Main definitions #
Number of bit-split triples.
Instances For
Total descriptor count, including the two multiplicity triples.
Instances For
Total compact array count.
Instances For
Capacity allows singleton zero even when the original input is empty.
Instances For
Descriptor table follows all four radix buffers.
Instances For
Payload blocks follow the complete descriptor table.
Instances For
Pointer for array slot j.
Instances For
One-past-end address of all allocated blocks.
Instances For
Selection mode for a physical array slot.
Instances For
Bit coordinates of a physical slot in the split part of the table.
Instances For
Bit coordinates of a physical slot in the split part of the table.
Instances For
Bit coordinates of a physical slot in the split part of the table.
Instances For
Each output word is canonical zero, an original input key, or the key of twice an input.
Injectivity holds for the represented integer array, as well as its native keys.
Every decoded payload integer has the exact reduction's common magnitude bound 2U.
Exact list equality with ThreeSum.inputs, preserving root order and every empty array.
The descriptor table reads back as exactly the existing finite frontend list, in order.