You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@stdcxx.apache.org by "Farid Zaripov (JIRA)" <ji...@apache.org> on 2008/05/12 16:58:55 UTC

[jira] Assigned: (STDCXX-897) [MSVC] 18.numeric.special.float test fails

     [ https://issues.apache.org/jira/browse/STDCXX-897?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Farid Zaripov reassigned STDCXX-897:
------------------------------------

    Assignee: Farid Zaripov

> [MSVC] 18.numeric.special.float test fails
> ------------------------------------------
>
>                 Key: STDCXX-897
>                 URL: https://issues.apache.org/jira/browse/STDCXX-897
>             Project: C++ Standard Library
>          Issue Type: Bug
>          Components: Tests
>    Affects Versions: 4.2.1
>         Environment: MSVC
>            Reporter: Farid Zaripov
>            Assignee: Farid Zaripov
>            Priority: Trivial
>             Fix For: 4.2.2
>
>         Attachments: 18.numeric.special.float.cpp.diff
>
>   Original Estimate: 1h
>  Remaining Estimate: 1h
>
> The 18.numeric.special.float test fails with the following assertions:
> {noformat}
> # ASSERTION (S7) (4 lines):
> # TEXT: _fpclass(numeric_limits<float>::signaling_NaN()) == 1 (_FPCLASS_SNAN), got 2 (_FPCLASS_QNAN)
> # CLAUSE: numeric.special
> # LINE: 318
> # ASSERTION (S7) (4 lines):
> # TEXT: numeric_limits<float>::has_denorm == -1, got 1
> # CLAUSE: numeric.special
> # LINE: 1360
> # ASSERTION (S7) (4 lines):
> # TEXT: numeric_limits<double>::has_denorm == -1, got 1
> # CLAUSE: numeric.special
> # LINE: 1360
> # ASSERTION (S7) (4 lines):
> # TEXT: numeric_limits<long double>::has_denorm == -1, got 1
> # CLAUSE: numeric.special
> # LINE: 1360
> {noformat}
> The first assertions is caused due to MSVC provides _fpclass() function for double type only and X87 and SSE floating point commands are incorrect converting float signaling NaN value to double type. So for example the float signaling NaN value with bitmask 0x7F800001, calculated in INFINITY config test, is converted to double value with bitmask 0x7ff8000020000000, which is a quiet NaN value.
> The rest of the assertions are caused due to test expects, that numeric_limits<>::has_denorm == 1 on the _AIX, __hpux and __osf__ platforms only.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.