[phobos] [D-Programming-Language/phobos] 072fec: Make an unit test of std.math IEEE 754-2008 compli...

GitHub noreply at github.com
Thu Dec 5 02:02:57 PST 2013


  Branch: refs/heads/master
  Home:   https://github.com/D-Programming-Language/phobos
  Commit: 072fec2cd6e78392b90305f2420a1cf59ca46a55
      https://github.com/D-Programming-Language/phobos/commit/072fec2cd6e78392b90305f2420a1cf59ca46a55
  Author: kai <kai at redstar.de>
  Date:   2013-12-05 (Thu, 05 Dec 2013)

  Changed paths:
    M std/math.d

  Log Message:
  -----------
  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.


  Commit: 1f9ccde895b67325126683e35685b7ae0f62ca15
      https://github.com/D-Programming-Language/phobos/commit/1f9ccde895b67325126683e35685b7ae0f62ca15
  Author: Iain Buclaw <ibuclaw at ubuntu.com>
  Date:   2013-12-05 (Thu, 05 Dec 2013)

  Changed paths:
    M std/math.d

  Log Message:
  -----------
  Merge pull request #1746 from redstar/ieee

Make an unit test of std.math IEEE 754-2008 compliant.


Compare: https://github.com/D-Programming-Language/phobos/compare/f011a9535f62...1f9ccde895b6


More information about the phobos mailing list