[
https://issues.apache.org/jira/browse/STDCXX-819?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12584237#action_12584237
]
farid edited comment on STDCXX-819 at 4/1/08 11:11 AM:
---------------------------------------------------------------
As a result the following program outputs the defferent results:
{noformat}
#include <float.h>
#include <iostream>
#include <limits>
int main ()
{
std::cout << _copysign (1., std::numeric_limits<double>::quiet_NaN ()) <<
'\n';
std::cout << _copysign (1., -std::numeric_limits<double>::quiet_NaN ()) <<
'\n';
std::cout << _copysign (1., std::numeric_limits<double>::signaling_NaN ())
<< '\n';
std::cout << _copysign (1., -std::numeric_limits<double>::signaling_NaN ())
<< '\n';
return 0;
}
{noformat}
The result in MSVC STL:
{noformat}
1
-1
1
-1
{noformat}
The result in stdcxx:
{noformat}
-1
-1
1
1
{noformat}
was (Author: farid):
As a result the following program outputs the deffirent results:
{noformat}
#include <float.h>
#include <iostream>
#include <limits>
int main ()
{
std::cout << _copysign (1., std::numeric_limits<double>::quiet_NaN ()) <<
'\n';
std::cout << _copysign (1., -std::numeric_limits<double>::quiet_NaN ()) <<
'\n';
std::cout << _copysign (1., std::numeric_limits<double>::signaling_NaN ())
<< '\n';
std::cout << _copysign (1., -std::numeric_limits<double>::signaling_NaN ())
<< '\n';
return 0;
}
{noformat}
The result in MSVC STL:
{noformat}
1
-1
1
-1
{noformat}
The result in stdcxx:
{noformat}
-1
-1
1
1
{noformat}
> [_MSC_VER] Binary representation of the numeric_limits<>::quiet_NaN() and
> numeric_limits<>::signaling_NaN() is different from binary representation in
> native STL
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> Key: STDCXX-819
> URL: https://issues.apache.org/jira/browse/STDCXX-819
> Project: C++ Standard Library
> Issue Type: Bug
> Components: 26. Numerics
> Affects Versions: 4.1.2, 4.1.3, 4.1.4, 4.2.0
> Environment: MSVC and ICC/Windows
> Reporter: Farid Zaripov
> Fix For: 4.2.1
>
>
> The binary representation of NAN's in stdcxx:
> {noformat}
> #define _RWSTD_FLT_QNAN_BITS { 0, 0, '\xc0', '\xff' }
> #define _RWSTD_FLT_SNAN_BITS { '\x1', 0, '\x80', '\x7f' }
> #define _RWSTD_DBL_QNAN_BITS { 0, 0, 0, 0, 0, 0, '\xf8', '\xff' }
> #define _RWSTD_DBL_SNAN_BITS { '\x1', 0, 0, 0, 0, 0, '\xf0', '\x7f' }
> #define _RWSTD_LDBL_QNAN_BITS { 0, 0, 0, 0, 0, 0, '\xf8', '\xff' }
> #define _RWSTD_LDBL_SNAN_BITS { '\x1', 0, 0, 0, 0, 0, '\xf0', '\x7f' }
> {noformat}
> The binary representation of the same things in MSVC STL:
> {noformat}
> #define _RWSTD_FLT_QNAN_BITS { 0, 0, '\xc0', '\x7f' }
> #define _RWSTD_FLT_SNAN_BITS { '\x1', 0, '\xc0', '\x7f' }
> #define _RWSTD_DBL_QNAN_BITS { 0, 0, 0, 0, 0, 0, '\xf8', '\x7f' }
> #define _RWSTD_DBL_SNAN_BITS { '\x1', 0, 0, 0, 0, 0, '\xf8', '\x7f' }
> #define _RWSTD_LDBL_QNAN_BITS { 0, 0, 0, 0, 0, 0, '\xf8', '\x7f' }
> #define _RWSTD_LDBL_SNAN_BITS { '\x1', 0, 0, 0, 0, 0, '\xf8', '\x7f' }
> {noformat}
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.