help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Catastrophic Cancellation


From: A. Kalten
Subject: Re: Catastrophic Cancellation
Date: Thu, 3 Jul 2008 12:57:19 -0400

On Thu, 03 Jul 2008 13:39:49 +0200
Francesco Potorti` <address@hidden> wrote:

> >But this particular example is designed specifically for machines
> >with 16-bit precision.  If we rewrite the same routine using long
> >doubles, which with glibc on Linux has roughly 19-bits,
> 
> What do you mean, exactly?
> 

If the limits on the function are increased to +/- 4e-6, the effect
no longer occurs.

Similarly, using floats instead of doubles, the effect is most
pronounced at limits of +/- 4e-3.


> >                                                Soon, the gcc
> >compiler and glibc will support the float128 data type which will
> >provide 32 bits of precision.
> 
> Again, what do you mean by "32 bits of precision"?
> 

That was a mistake.  It should be 32 decimal places.

I refer to quad precision which has floating point of 128-bits
as opposed to double precision with 64-bits.  Quad (or float128)
should translate to a decimal precision of approx. 32 decimal
places.

The quad data type (float128) is just starting to appear in gcc/
glibc.  Hopefully, the quad type will be a part of hardware
floating point units in the future.

>
> The precision of Octave's floating point representation is about 16
> decimal digits.
>

Yes.  The double floating point type has 64-bits, which includes
a 52-bit mantissa and an 11-bit exponent.  This gives about 16 decimal
places of precision.  The quad type should increase that to 32 decimal
places.

AK



reply via email to

[Prev in Thread] Current Thread [Next in Thread]