Repository navigation
crnumerics 0.5.0
crdist's samplers gain Poisson and binomial counts, and crdist now builds and runs on macOS (Apple Silicon), where pip install crdistr gets a ready-built wheel.
Poisson and binomial: inversion for small means, then Hormann's transformed rejection (PTRS for Poisson, as NumPy uses it; BTRS for the binomial, as TensorFlow and JAX use it), each specified in crdist.h as a fixed sequence of correctly rounded operations, so every machine gives the same counts for the same stream. The check recomputes the specification with MPFR and compares every draw, and tests the distributions against the exact probabilities.
crdist-check hash-all hashes every output of every function on all 2^32 binary32 inputs and compares with the digests of the builds that were checked against MPFR on every input. Equal digests carry that proof to another compiler or machine in minutes: they matched with gcc 13 and 14 on x86-64 and aarch64 Linux, and with Apple clang on an Apple M1.
ival, crsum, crnn and lowp are unchanged; ival's soname is still libival.so.0.