Re: guarantees on digits of floating point values

Bill Allombert <[email protected]> Sat, 1 Nov 2025 23:18:52 +0100
Newsgroups gmane.comp.mathematics.pari.user
Message-ID <aQaHTDuCVxhTihjO@seventeen>
On Sat, Nov 01, 2025 at 08:11:06PM +0100, Ruud H.G. van Tol wrote:
> 
> As a test, I checked 1000021 digits of exp(1),
> 
> my(N=10^6+21); localprec(N); exp(1) * 10^(N-1)\1
> 
> against https://apod.nasa.gov/htmltest/gifcity/e.1mil
> and all digits matched. :)
> 
> Is there a guarantee in the documentation about such?

This is difficult due to rounding and base conversion.

For example:
? my(N=173); localprec(N); exp(1) * 10^(N-1)\1
%32 = 27182818284590452353602874713526624977572470936999595749669676277240766303535475945713821785251664274274663919320030599218174135966290435729003342952605956307381323286279435
? my(N=174); localprec(N); exp(1) * 10^(N-1)\1
%33 = 271828182845904523536028747135266249775724709369995957496696762772407663035354759457138217852516642742746639193200305992181741359662904357290033429526059563073813232862794349

To avoid this, you need to be much more careful.

Cheers,
BIll.