Algorithmic Details
Deep technical write-ups of selected algorithms used inside Universal. These docs are for readers who want the math, the transfer functions, and the trade-off space rather than the API-level usage.
Available Documents
Section titled “Available Documents”- LNS log-domain add/sub algorithms
– the seven shipped algorithms for evaluating
log2(1 + 2^d)andlog2(1 - 2^d), with transfer-function plots, error envelopes, and a picker decision tree. - Multi-component floating-point arithmetic
– Priest’s error-free transformations, Bailey/Hida’s hand-crafted
fixed-precision
dd/qd, Shewchuk’s adaptive expansions, and how Universal’sfloatcascade<N>building block ties them together. - Multi-limb arithmetic
– how the fixed-size types store integers and significands in blocks, the
32-bit-limb kernels that add, multiply (schoolbook) and divide (Knuth’s
Algorithm D) them under
blocktriple,integerandblockbinary, how those changes were verified bit-identical, and what they gained. - efloat: correctly rounded arithmetic and math library
– how
efloatrounds its arithmetic and math library correctly at any precision (Ziv’s strategy over stated error bounds), the algorithm behind each function, the alternatives tried and dropped, how it is verified against MPFR, measured accuracy and speed, and the open work.
Companion sections
Section titled “Companion sections”- Number Systems – API-level reference for each arithmetic type.
- Design – design rationale and architectural decisions.