Thank you.

We, then, in effect, are carrying around 'dead bytes' on amd64, for, reason?

That is, what is the 'win' in doing this ?

This is of no consequence for a handful of long doubles, but big arrays of
long double....

(This is just curiosity; I have found exactly one scientific calculation I
needed to do whose precision improved using long doubles, a satellite
orbital prediction over very long times)


-Mike


On Fri, Jul 5, 2024 at 9:35 PM Martin Husemann <mar...@duskware.de> wrote:

> On Fri, Jul 05, 2024 at 07:13:05PM -0700, Michael Cheponis wrote:
> > sizeof(long double) reports 16 in both amd64 and arm64.  I think that
> amd64
> > uses 80-bit long double floats, and arm64 uses 128-bit long double
> floats.
> > See enclosed code.
>
> The storage size of a long double is one thing, but the exact format
> used in calculations may vary.
>
> On amd64:
>
> > cc -dM -E - < /dev/null | fgrep LDBL_MANT
> #define __LDBL_MANT_DIG__ 64
>
>
> On aarch64:
>
> > cc -dM -E - < /dev/null | fgrep LDBL_MAN
> #define __LDBL_MANT_DIG__ 113
>
> (use just LDBL in the fgrep to see more exact limits of the format in use)
>
> Martin
>

Reply via email to