bug-m4
[Top][All Lists]
Advanced

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

Re: M4 1.4.9b testsuite failure


From: Bruno Haible
Subject: Re: M4 1.4.9b testsuite failure
Date: Thu, 31 May 2007 12:57:36 +0200
User-agent: KMail/1.5.4

Andreas Schwab wrote:
> Bruno Haible <address@hidden> writes:
> 
> > union u { unsigned int word[4]; long double value; } x =
> >   { { 0x00000000, 0x40000001, 0x0000ffff, 0x00000000 } };
> 
> This is not a valid number.  The integer bit _must_ be 1 for a valid NaN
> or Infinity.

The Intel IA-64 documentation does not employ the term "valid". According to
this doc [1][2], the number is a "Pseudo-NaN". So in some sense it's a
number outside IEEE-754.

While isnanl(X) = 0 may be subject to discussion,
  finitel(X) = 1  and
  printf %g X = "-5.94866e+4931"
are clearly inappropriate.

Bruno


[1] Intel IA-64 Architecture Software Developer's Manual, Volume 1:
    Application Architecture.
    Figure 5-6 "Memory to Floating-Point Register Data Translation"
[2] Intel IA-64 Architecture Software Developer's Manual, Volume 1:
    Application Architecture.
    Table 5-2 "Floating-Point Register Encodings"





reply via email to

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