strtod ("nan") returns negative NaN
Steven Penny
svnpenn@gmail.com
Tue Aug 14 19:24:00 GMT 2018
On Tue, 14 Aug 2018 15:23:01, Corinna Vinschen wrote:
> I just wonder why returning -NaN when the input is "-nan" isn't the
> better approach. After all:
>
> printf ("nan (\"\") =3D %f\n", nan (""));
> printf ("-nan (\"\") =3D %f\n", -nan (""));
>
> =3D=3D>
>
> nan ("") =3D nan
> -nan ("") =3D -nan
>
> So, shouldn't the ideal outcome be this:
>
> strtod ("nan", NULL) =3D nan
> strtod ("-nan", NULL) =3D -nan
> strtold ("nan", NULL) =3D nan
> strtold ("-nan", NULL) =3D -nan
a number can be positive or negative. as "NaN" is by definition not a number,
it cannot be positive or negative, it is simply itself, something anathema to
a number.
The only case where "-nan" would be acceptable is the string case, but even in
that instance it is still not negative, it is merely a string that happens to
start with "hyphen-minus" U+002D, and has no bearing on a sign, just as a string
can have no sign.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
More information about the Cygwin
mailing list