|
Bill Allombert on Sat, 01 Nov 2025 23:18:57 +0100
|
[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]
|
Re: guarantees on digits of floating point values
|
- To: pari-users@pari.math.u-bordeaux.fr
- Subject: Re: guarantees on digits of floating point values
- From: Bill Allombert <Bill.Allombert@math.u-bordeaux.fr>
- Date: Sat, 1 Nov 2025 23:18:52 +0100
- Delivery-date: Sat, 01 Nov 2025 23:18:57 +0100
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/simple; d=math.u-bordeaux.fr; s=2022; t=1762035534; bh=pn77zVOaCZw9sr5xhj4ih1uOfwwVDL2lmj/wgtVk72I=; h=Date:From:To:Subject:References:In-Reply-To:From; b=pQg/4L24LpX4LJHvPvAyVeCSdgn4U9mMfyGBPJfGg3/cc005iTk/J75Fsc/e3DhlP jLDmuJJv8/H0typb+0wuoilIL1BK2P1kap6Slquaa5RcRqWxw4iR9PiJn57mQajEcy RZuGnfzHnIMeCa33/UX3uKIHXMXzbzCDAjgHzd62QQqklWrhe+AeM37HNmkeOb0uxb DRLbCGRLtffy5ZoCD7bnuv9QzwOZ3rJvmebQvNeAhz3cvnXc8oqtLVAHqrZrL/FpEs 8hEkoXxv0dKuysz1KKaRItJbhmFclNUdIC9wZ6u8QHKojWVZDA4hfRxGJjV9SDfGsX qTdfGxKa0/kVm7uymzZIKIRj73c/HKGJ9QSMla2z9B1pikPLQoJWPJMFdqinqRA+P/ yWBeHj7c4GdbjT96Sv9JpQCDla+545BN65mZGKR1RdBuiTt1psJ1Ht2g1VFk4zIWH8 H1TL5zijAzS2leELf++VC5PoQUzwswaQG00Dt5C72WyZkEBik4Ygv6Lbfj6jNaCaex KXxpGVFdzlFf3A07e4LOZ8qX5CIPlKHrI3D+PdhY4UV8CF3N2cmXAgK30k6vGN2Qby QTpjRtM+aCYTRzoHE6aIyESQrUnRGx6fTtBUoAYRPQ69KqpOL93F7wqyvp71bxeTKC 2wl3HwIU5U/jvYhXfQY23FD0=
- In-reply-to: <d843f4db-b3e9-4156-a282-078f9ceb901d@freedom.nl>
- Mail-followup-to: pari-users@pari.math.u-bordeaux.fr
- References: <d843f4db-b3e9-4156-a282-078f9ceb901d@freedom.nl>
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.