Hello,
I wanted to check how many bits long double takes. So I checked
sizeof(long double) which, naturally, may account for padding. On x86-64
it takes 16 bytes and only 12 on x86, a difference of 4 bytes. This
supported my hope that on x86-64 we would have "long double"= |__float128|.
But this difference does not exist in std::numeric_limits<long double>.
Does it really mean that only the
padding is different between the architectures, but the type is still
the same?
If "long double" != |__float128|, then is there any chance to have a
correct definition of std::numeric_limits<__float128> in the near
future? If not, where can I find macro names such as __LDBL_MANT_DIG__
for __float128?
Running
gcc -g -E -dM t.cpp | grep MANT_DIG__
gives only
#define __FLT_MANT_DIG__ 24
#define __DEC64_MANT_DIG__ 16
#define __LDBL_MANT_DIG__ 64
#define __DBL_MANT_DIG__ 53
#define __DEC32_MANT_DIG__ 7
#define __DEC128_MANT_DIG__ 34
no mention of anything like FLT128
Thanks
--
Michael