float128 are 16 bytes wide but have the structure of x87 80-bits + extra 6 bytes for alignment:
>From "http://lwn.net/2001/features/OLS/pdf/pdf/x86-64.pdf":"... The x87 stack with 80-bit precision is only used for long double."
And:
>>> e47 = float128(1e-47)
>>> e30 = float128(1e-30)
>>> e50 = float128(1e-50)
>>> (e30-e50) == e30
True
>>> (e30-e47) == e30
False
>>>
This shows that float128 has no more then 19 digits precision
Nadav.
-----הודעה מקורית-----
מאת: numpy-discussion-bounces@scipy.org בשם Robert Kern
נשלח: ג 09-דצמבר-08 22:40
אל: Discussion of Numerical Python
נושא: Re: [Numpy-discussion] Importance of order when summing values inanarray
On Tue, Dec 9, 2008 at 09:51, Nadav Horesh <nadavh@visionsense.com> wrote:
> As much as I know float128 are in fact 80 bits (64 mantissa + 16 exponent) so the precision is 18-19 digits (not 34)
float128 should be 128 bits wide. If it's not on your platform, please
let us know as that is a bug in your build.
--
Robert Kern
"I have come to believe that the whole world is an enigma, a harmless
enigma that is made terrible by our own mad attempt to interpret it as
though it had an underlying truth."
-- Umberto Eco
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.orghttp://projects.scipy.org/mailman/listinfo/numpy-discussion
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/ms-tnef
Size: 3933 bytes
Desc: not available
Url : http://projects.scipy.org/pipermail/numpy-discussion/attachments/20081210/524b6036/attachment-0001.bin