--- numbers.test.~1.23.~ 2003-05-10 13:01:51.000000000 +1000 +++ numbers.test 2003-05-26 17:45:08.000000000 +1000 @@ -1646,6 +1646,9 @@ ;;; (with-test-prefix "max" + (pass-if (= 456.0 (max 123.0 456.0))) + (pass-if (= 456.0 (max 456.0 123.0))) + (let ((big*2 (* fixnum-max 2)) (big*3 (* fixnum-max 3)) (big*4 (* fixnum-max 4)) @@ -1654,7 +1657,15 @@ (pass-if (= +inf.0 (max big*5 +inf.0))) (pass-if (= +inf.0 (max +inf.0 big*5))) (pass-if (= big*5 (max big*5 -inf.0))) - (pass-if (= big*5 (max -inf.0 big*5)))) + (pass-if (= big*5 (max -inf.0 big*5))) + + (pass-if (nan? (max 123 +nan.0))) + (pass-if (nan? (max big*5 +nan.0))) + (pass-if (nan? (max 123.0 +nan.0))) + (pass-if (nan? (max +nan.0 123))) + (pass-if (nan? (max +nan.0 big*5))) + (pass-if (nan? (max +nan.0 123.0))) + (pass-if (nan? (max +nan.0 +nan.0)))) ;; in gmp prior to 4.2, mpz_cmp_d ended up treating Inf as 2^1024, make ;; sure we've avoided that @@ -1672,7 +1683,12 @@ (1+ (ash 1 1024)) (- (1- (ash 1 1024))) (- (ash 1 1024)) - (- (1+ (ash 1 1024)))))) + (- (1+ (ash 1 1024))))) + + ;; in gmp prior to 4.2, mpz_cmp_d ended up treating NaN as 3*2^1023, make + ;; sure we've avoided that + (pass-if (nan? (max (ash 1 2048) +nan.0))) + (pass-if (nan? (max +nan.0 (ash 1 2048))))) ;;; ;;; min @@ -1681,6 +1697,9 @@ ;; FIXME: unfinished... (with-test-prefix "min" + (pass-if (= 123.0 (min 123.0 456.0))) + (pass-if (= 123.0 (min 456.0 123.0))) + (let ((big*2 (* fixnum-max 2)) (big*3 (* fixnum-max 3)) (big*4 (* fixnum-max 4)) @@ -1706,7 +1725,15 @@ (pass-if (= big*5 (min big*5 +inf.0))) (pass-if (= big*5 (min +inf.0 big*5))) (pass-if (= -inf.0 (min big*5 -inf.0))) - (pass-if (= -inf.0 (min -inf.0 big*5)))) + (pass-if (= -inf.0 (min -inf.0 big*5))) + + (pass-if (nan? (min 123 +nan.0))) + (pass-if (nan? (min big*5 +nan.0))) + (pass-if (nan? (min 123.0 +nan.0))) + (pass-if (nan? (min +nan.0 123))) + (pass-if (nan? (min +nan.0 big*5))) + (pass-if (nan? (min +nan.0 123.0))) + (pass-if (nan? (min +nan.0 +nan.0)))) ;; in gmp prior to 4.2, mpz_cmp_d ended up treating Inf as 2^1024, make ;; sure we've avoided that @@ -1724,7 +1751,12 @@ (1+ (ash 1 1024)) (- (1- (ash 1 1024))) (- (ash 1 1024)) - (- (1+ (ash 1 1024)))))) + (- (1+ (ash 1 1024))))) + + ;; in gmp prior to 4.2, mpz_cmp_d ended up treating NaN as 3*2^1023, make + ;; sure we've avoided that + (pass-if (nan? (min (- (ash 1 2048)) (- +nan.0)))) + (pass-if (nan? (min (- +nan.0) (- (ash 1 2048)))))) ;;; ;;; +