A complete native counting and placement call #
This routine actually computes the residues and histogram before extracting a heavy array and placing the corresponding packed column. The histogram is not a premise of the execution contract. It also writes the compact output count to its caller-supplied descriptor cell.
Main definitions #
CountPlace.program: modulus encoding, completeCountCall.program 2, runtime argument delivery, completePlace.program, and the count store.
References #
This native composition is original and reuses the existing Chan–He mathematical definitions.
Input length (the selected third argument of the existing counting call).
Instances For
Signed input base.
Instances For
Unsigned residue workspace base.
Instances For
Histogram workspace base.
Instances For
Compact heavy output base.
Instances For
Packed node array base.
Instances For
Positive modulus, decoded unsigned.
Instances For
Encoded positive tag.
Instances For
Packed column.
Instances For
Distance between the two stores.
Instances For
Zero for X/Y, one for Z.
Instances For
Cell in which the exact heavy count is stored.
Instances For
Fixed embedding of the placement workspace below all caller parameters.
Instances For
Input array base.
Instances For
Unsigned residue array base.
Instances For
Input length.
Instances For
Histogram base.
Instances For
Compact heavy output base.
Instances For
Packed node output base.
Instances For
Positive modulus, decoded unsigned.
Instances For
Twice the positive tag added to a light integer.
Instances For
Column in a four-cell group.
Instances For
Distance to the second write: zero for X/Y, 4M for Z.
Instances For
Zero for X/Y, one for Z.
Instances For
Number of heavy integers already written.
Instances For
All eleven runtime argument copies are real instructions.
Instances For
Complete fixed native routine: no host histogram, heavy filter or output constructor.
Instances For
Only the counting/placement workspace, the encoded modulus, and the discarded collision counter can change. All caller registers at least 46 are included in this frame.
Polynomial envelope for addresses, counters, encoded magnitudes and every scan intermediate.
Instances For
Complete native count/extract/place execution, charging modulus encoding, all subroutine argument/result copies and the final count write. The caller supplies actual signed input words; no histogram or light/heavy-output contract is assumed.