[GiNaC-devel] sporadic make check failure in exam_inifcns_nstdsums
Richard B. Kreckel
kreckel at in.terlu.de
Fri Jan 14 22:39:59 CET 2022
Hi Stefan,
A recent FTBFS for GiNaC-1.8.2 on Debian's mipsel port [1] turned up a
little issue with the precision goal not being 100% reproducible.
The recursive calls in GiNaC::map_trafo_H_1overx::operator() assemble
symbolic functions before evalf()'ing and these are not deterministic.
This makes numeric results slightly differ between calls.
As a result, regression test suite exam_inifcns_nstdsums.cpp fails in
about 1.6% of all cases. It only ever seems to affect
H(lst{-2,1,3},numeric(245)/100) -
-Li(lst{2,1,3},lst{-numeric(245)/100,-1,1})
in inifcns_test_HLi(), exam_inifcns_nstdsums.cpp:148.
I tortured my computer with 1365 calls and here is a histogram of
numerical differences between the H and the Li results:
[0.00000...1.0e-18[ 4
okay
[1.0e-18...1.0e-17[ 530
okay
[2.0e-17...3.0e-17[ 503
okay
[3.0e-17...4.0e-17[ 232
okay
[4.0e-17...5.0e-17[ 74
okay
[5.0e-17...6.0e-17[ 18 FAILURE!
[6.0e-17...7.0e-17[ 2
FAILURE!
[7.0e-17...8.0e-17[ 2
FAILURE!
>= 8e-17 - N/A
Would it make sense to raise prec to 10*pow(10,-Digits)?
If so, for which tests?
Or do you have a better idea?
All my best,
-richard.
[1]
<https://buildd.debian.org/status/fetch.php?pkg=ginac&arch=mipsel&ver=1.8.2-1&stamp=1641065269>
--
Richard B. Kreckel
<https://in.terlu.de/~kreckel/>
More information about the GiNaC-devel
mailing list