Details
-
Test
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
Description
There are special cases in arithmetic kernels with floating-point arguments that can result in signed values which are equivalent to their unsigned counterpart when compared with the equality operator. To make the comparisons correct, one needs to also compare the sign bit. For example, -0.0 == 0.0 is true while std::signbit(-0.0) == std::signbit(0.0) is false. This issue also applies to Inf and NaN values.
Attachments
Issue Links
- links to