Skip to content

crnumerics 0.7.0

Choose a tag to compare

@anun333 anun333 released this 14 Oct 02:12
· 33 commits to main since this release

crfix is new: exp, exp2, log, log2, sigmoid, tanh, sqrt, rsqrt,
reciprocal and division on fixed-point numbers, correctly rounded in four
modes and saturated, in integer arithmetic only, so it runs where there
is no FPU. Every 16-bit input, every pair of formats and every mode is
checked against MPFR, on x86-64 and aarch64. The few inputs a fast 64-bit
enclosure cannot decide go to a slow path of interval arithmetic that is
correct by construction, so 32-bit inputs are correctly rounded too.
It also takes TFLite's affine formats, any scale and zero point:
correctly rounded int8 tables for logistic, tanh, exp and log in about
2 ms each, and softmax.

crlin solves banded and sparse systems: crlin_solve_band and
crlin_solve_sparse, and solve_banded and solve_sparse in Python in
scipy's layouts. A proven lower bound on the smallest eigenvalue of A,
or of A^T A, takes the place of an inverse. pip install crlin brings
them.

crsum rounds short sums three times faster, with the same results.

ival, crdist, crnn and lowp are unchanged but for ival's and crdist's
version strings, now 0.7.0; ival's soname is still libival.so.0.