Repository navigation
crmvec 0.9.0
crmvec 0.9.0: correctly rounded scalar math too.
On x86-64, crmvec now also installs libcrpreload.so: CORE-MATH's correctly
rounded elementary functions under the C library's names (exp, log, sin,
pow, atan2, erfc, tgamma, the float forms, C23's sinpi family; 76 in all).
crmvec-run --libm ./program runs a program with it, so its ordinary libm
calls return the same bits on every CPU and every glibc version, not only
its vectorized loops. It holds an FMA build and a plain x86-64 build and
picks one per CPU at load, with the same results; it sets errno and the
exception flags as glibc does. Where it was tried, it made FSL FLIRT,
MCFLIRT and ANTs registrations that depended on the CPU (AVX2) and on the
glibc version byte-identical across both.
Checked: every function against CORE-MATH on 2^22 inputs, in four rounding
modes by four flush-to-zero settings, results and flags, for all three
builds; make check runs the same at 2^16. The vector library is unchanged
from 0.8.0.
Packaging: the Debian package's make check passes again; since 0.6.0 it had
read a nested make's "Leaving directory" line as a verdict and failed. The
Debian, Fedora, Nix and conda packages were each built and checked for this
release.
crmvec is on conda-forge since this week (0.7.2 first; the feedstock will
follow this release).