Fix numerator and denominator handling of signed zeroes and infinities.
authorMark H Weaver <mhw@netris.org>
Fri, 9 Aug 2013 09:32:23 +0000 (05:32 -0400)
committerMark H Weaver <mhw@netris.org>
Fri, 9 Aug 2013 10:09:56 +0000 (06:09 -0400)
commitfa102e73c3d14f52d089ec2faa55c9a7e87f4a23
tree43f2e629012b84f843cc7e6edf404f4f2198f88d
parentd9b312af56666efa72cf15e87091b707ac600f13
Fix numerator and denominator handling of signed zeroes and infinities.

* libguile/numbers.c (scm_numerator, scm_denominator): Handle signed
  zeroes and infinities in accordance with the corresponding R6RS flonum
  procedures.

* module/rnrs/arithmetic/flonums.scm (flnumerator, fldenominator):
  Remove special handling of infinities.

* test-suite/tests/numbers.test (numerator, denominator): Add tests.
  Convert existing tests to use 'pass-if-equal'.

* test-suite/tests/r6rs-arithmetic-flonums.test (flnumerator): Fix
  broken test of (flnumerator -0.0).
libguile/numbers.c
module/rnrs/arithmetic/flonums.scm
test-suite/tests/numbers.test
test-suite/tests/r6rs-arithmetic-flonums.test