stdcxx-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Farid Zaripov (JIRA)" <j...@apache.org>
Subject [jira] Updated: (STDCXX-897) [MSVC] 18.numeric.special.float test fails
Date Tue, 29 Apr 2008 17:29:56 GMT

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

Farid Zaripov updated STDCXX-897:
---------------------------------

    Attachment: 18.numeric.special.float.cpp.diff

The proposed patch is attached.

ChangeLog:
  * tests/support/18.numeric.special.float.cpp [_MSC_VER] (_fpclass): Provide _fpclass() overloads
  for float and long double type, since the MSVC provides this function for double type only.
  (has_denorm): Add _MSC_VER in the list of platforms where denormalized value are present.


> [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: 18. Language Support
>    Affects Versions: 4.2.1
>         Environment: MSVC
>            Reporter: 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.

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


Mime
View raw message