-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 According to Jim Meyering on 3/31/2008 11:24 AM: | | Actually, strtod is doing the right thing: it produces -0, | with both the libc version and the gnulib-supplied function. | | The trouble is that signbit(result) returns INT_MIN, | while signbit(-0.0) returns 1. Both seem to be allowed, so | how about this change? It solves the problem for me.
Good catch. Yes, signbit is allowed to return any non-zero value when the argument is negative, so your patch looks correct. However, | + ASSERT (!!signbit (result) == !!signbit (-(double)0.0)); /* IRIX 6.5 */ Any reason you added the cast to double here? - -- Don't work too hard, make some time for fun as well! Eric Blake [EMAIL PROTECTED] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.8 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkfxOfYACgkQ84KuGfSFAYCcjgCdEa4rze1q7dwvbglVzFPvXThw LY0AnjpQUS0FHsCShAjT1PDBV0tx+ran =qIiJ -----END PGP SIGNATURE-----