std::numeric_limits::is_iec559
Roberto Bagnara
bagnara@cs.unipr.it
Thu Feb 2 13:51:00 GMT 2006
Gabriel Dos Reis wrote:
> Roberto Bagnara <bagnara@cs.unipr.it> writes:
>
> | Gabriel Dos Reis wrote:
> | > Roberto Bagnara <bagnara@cs.unipr.it> writes:
> | > | I have always used std::numeric_limits::is_iec559 thinking that,
> | > | as per the C++ standard, it yielded "[t]rue if and only if the type
> | > | adheres to IEC 559 standard."
> | > | | On a Mac OS X 10.4 machine with GCC 4.0.1, however, I get the
> | > value
> | > | true for long doubles but, as far as I can tell, the layout of
> | > | long doubles there does not conform to the 128-bit format specified
> | > | by IEC 559.
> | > I don't follow. Exactly in what aspect do you believe the Mac OS X
> | > 10.4 representation is not conformant to IEC 559?
> |
> | From your question I gather that IEC 559 does not specify a binary
> | format for 128-bit numbers.
>
> Well, first the formats specified by IEC 559 are abstract mathematical
> models, not exact hardware representations. For example, HP has a bit
> inverted fro NaNs, but the external semantics are preserved. That
> does not prevent HP's representation to be conformant.
> Second, long double formats are essentially left unspecified.
> So, I suspect that your message was triggered because you came across
> some non-conformant behaviour and I was wondering exactly which
> behaviour -- to aid investigation.
I was assuming IEC 559 was guaranteeing much more than that,
including the representation of numbers in memory.
In other words, I am in big trouble.
Thanks,
Roberto
--
Prof. Roberto Bagnara
Computer Science Group
Department of Mathematics, University of Parma, Italy
http://www.cs.unipr.it/~bagnara/
mailto:bagnara@cs.unipr.it
More information about the Libstdc++
mailing list