"be consistent" | |
PerlMonks |
Re^3: Portability of floor(log(N))by syphilis (Archbishop) |
on Mar 13, 2018 at 22:50 UTC ( [id://1210855]=note: print w/replies, xml ) | Need Help?? |
Thank you for the suggestions. I think they were completely irrelevant to the problem you're facing. Silly me didn't think to actually check what the correct calculation of floor( log($num) / log(1000) ) should yield under 'long double' (64-bit) precision. When I do check, I find that the correct answer is -12. The error is in your test script ... either that, or in Math::MPFR: This indicates that when the floating point precision is 64 bits, the correct floor() result is -12. And, IIUC, the test script should accept '1000e-36' as correct when NV precision is 64 bits (as is the case with those 2 FAIL reports). Interestingly, with full quad precision of 113 bits, the calculation reverts to returning -11. Cheers, Rob
In Section
Seekers of Perl Wisdom
|
|