D-Programming-Language/phobos — pull request #1746 by redstar (2013-12-05 08:25:59+00:00)
Title: Make an unit test of std.math IEEE 754-2008 compliant.

IEEE 754-2008 does not specify the sign bit of a NaN. The exceptions to this rule are the operations copy, negate, abs and copySign. In all other cases, the standard does not specify the sign bit (chapter 6.3 on page 35).

The unit test I like to change with this pull request assumes that the sign bit of a NaN is propagated through the exp() computation. This assumption violates IEEE 754-2008.

My fix is the use of abs() on the result, because this operation changes the sign bit of a NaN in a compliant way.

There might be other places which must be fixed but this one really hurts me.