[ 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 #include #include int main () { std::cout << _copysign (1., std::numeric_limits::quiet_NaN ()) << '\n'; std::cout << _copysign (1., -std::numeric_limits::quiet_NaN ()) << '\n'; std::cout << _copysign (1., std::numeric_limits::signaling_NaN ()) << '\n'; std::cout << _copysign (1., -std::numeric_limits::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 #include #include int main () { std::cout << _copysign (1., std::numeric_limits::quiet_NaN ()) << '\n'; std::cout << _copysign (1., -std::numeric_limits::quiet_NaN ()) << '\n'; std::cout << _copysign (1., std::numeric_limits::signaling_NaN ()) << '\n'; std::cout << _copysign (1., -std::numeric_limits::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.