Execution of the native wanted-output digit loop #
Main results #
Wanted.exec_pack: actual unsigned packing with an explicit linear instruction bound and unchanged memory, for arbitrary initial scratch-register contents.
Scalar contents retained throughout packing. These are only register equalities.
Original depth.
Initialized unit.
Binary radix.
Compressed offset radix.
Output radix.
Inner output digit.
Instances For
A consumed prefix and the remaining arithmetic recurrence give the original output.
- fixed : PackParameters L x
Persistent constants and depth.
A coordinate is visited at most once.
Binary division decreases the mask.
Ternary division decreases the row offset.
Ternary division decreases the column offset.
Actual next output place.
Already emitted digits fit below the next place.
- value : x.regs code + x.regs power * MatrixMultiplication.Schonhage.QueryDigits.pack (L - x.regs level) (x.regs mask) (x.regs row) (x.regs col) = MatrixMultiplication.Schonhage.QueryDigits.pack L M R C
Prefix and residual recurrence have the desired complete value.
Instances For
One coordinate's actual test, arithmetic and register updates. The numeric budget is derived from original inputs, rather than an assumed bound on intermediate states.
Execute the entire fixed packer from ordinary register inputs. Every branch, division, remainder, index update and loop control is charged; memory and the depth are preserved.