Repository navigation
crnumerics 0.2.2
ival now carries CORE-MATH at ea7a421 (it carried 040ee48): upstream changed ten of the functions it uses (cosh, cospi, exp, exp10, exp2, log10, log2, sinh, sinpi and tanpi). Old against new, in all four rounding modes, the results and exception flags are the same on 686,469,600 calls on x86-64 and aarch64, every worst case CORE-MATH lists for those functions included, so ival's intervals are the same as 0.2.1's.
The self-test's bfloat16 references are right when built by GCC 13 on AArch64 with the fp16 extension (-march=native on most current Arm cores): GCC 13 loads __bf16 constants as binary16 (GCC bug 111867, fixed in GCC 14), and 17 of the 42 reference functions were wrong, which the self-test reported. Those files are now compiled with fp16 off under GCC before 14. ival, crsum, crnn and lowp do not use the __bf16 type.
New checks: make ival-julia-ccall and make ival-julia-threads call ival from Julia, from one thread and from several at once, and compare every bound with IntervalArithmetic.jl's correctly rounded mode; Julia stays in round-to-nearest around every call.
Compatibility: the soname is still libival.so.0 and the exported functions are the same as 0.2.1's.