This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: std::numeric_limits::is_iec559


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]