* libguile/numbers.c (scm_bigequal): Fixed.
* test-suite/tests/numbers.test (equal?): Added tests.
* test-suite/tests/numbers.test (=): Fixed and added some bignum
related tests.
This commit is contained in:
parent
859b6b2fff
commit
47ae1f0eca
4 changed files with 70 additions and 3 deletions
|
|
@ -1,3 +1,7 @@
|
|||
2003-09-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
|
||||
|
||||
* numbers.c (scm_bigequal): Fixed.
|
||||
|
||||
2003-09-16 Marius Vollmer <mvo@zagadka.de>
|
||||
|
||||
* stime.c (scm_current_time): 'time' does not set errno so don't
|
||||
|
|
@ -556,7 +560,6 @@
|
|||
yyset_debug, yylex_destroy): Added prototypes (otherwise we'll get
|
||||
a compilation error if error-on-warning is enabled).
|
||||
|
||||
>>>>>>> 1.1883
|
||||
2003-05-17 Marius Vollmer <mvo@zagadka.de>
|
||||
|
||||
* c-tokenize.lex: Gobble up complete lines after a '#'. This
|
||||
|
|
|
|||
|
|
@ -2522,7 +2522,7 @@ scm_make_complex (double x, double y)
|
|||
SCM
|
||||
scm_bigequal (SCM x, SCM y)
|
||||
{
|
||||
int result = mpz_cmp (SCM_I_BIG_MPZ (x), SCM_I_BIG_MPZ (x));
|
||||
int result = mpz_cmp (SCM_I_BIG_MPZ (x), SCM_I_BIG_MPZ (y));
|
||||
scm_remember_upto_here_2 (x, y);
|
||||
return SCM_BOOL (0 == result);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,10 @@
|
|||
2003-09-17 Dirk Herrmann <D.Herrmann@tu-bs.de>
|
||||
|
||||
* tests/numbers.test (equal?): Added tests.
|
||||
|
||||
* tests/numbers.test (=): Fixed and added some bignum related
|
||||
tests.
|
||||
|
||||
2003-08-30 Kevin Ryde <user42@zip.com.au>
|
||||
|
||||
* tests/numbers.test (logcount): Add tests.
|
||||
|
|
|
|||
|
|
@ -1146,6 +1146,61 @@
|
|||
(pass-if (not (inexact? (lambda () #t))))
|
||||
(pass-if (not (inexact? (current-input-port)))))
|
||||
|
||||
;;;
|
||||
;;; equal?
|
||||
;;;
|
||||
|
||||
(with-test-prefix "equal?"
|
||||
(pass-if (documented? equal?))
|
||||
(pass-if (equal? 0 0))
|
||||
(pass-if (equal? 7 7))
|
||||
(pass-if (equal? -7 -7))
|
||||
(pass-if (equal? (+ 1 fixnum-max) (+ 1 fixnum-max)))
|
||||
(pass-if (equal? (- fixnum-min 1) (- fixnum-min 1)))
|
||||
(pass-if (not (equal? 0 1)))
|
||||
(pass-if (not (equal? fixnum-max (+ 1 fixnum-max))))
|
||||
(pass-if (not (equal? (+ 1 fixnum-max) fixnum-max)))
|
||||
(pass-if (not (equal? (+ 1 fixnum-max) (+ 2 fixnum-max))))
|
||||
(pass-if (not (equal? fixnum-min (- fixnum-min 1))))
|
||||
(pass-if (not (equal? (- fixnum-min 1) fixnum-min)))
|
||||
(pass-if (not (equal? (- fixnum-min 1) (- fixnum-min 2))))
|
||||
(pass-if (not (equal? (+ fixnum-max 1) (- fixnum-min 1))))
|
||||
|
||||
(pass-if (not (equal? (ash 1 256) +inf.0)))
|
||||
(pass-if (not (equal? +inf.0 (ash 1 256))))
|
||||
(pass-if (not (equal? (ash 1 256) -inf.0)))
|
||||
(pass-if (not (equal? -inf.0 (ash 1 256))))
|
||||
|
||||
;; in gmp prior to 4.2, mpz_cmp_d ended up treating Inf as 2^1024, make
|
||||
;; sure we've avoided that
|
||||
(pass-if (not (equal? (ash 1 1024) +inf.0)))
|
||||
(pass-if (not (equal? +inf.0 (ash 1 1024))))
|
||||
(pass-if (not (equal? (- (ash 1 1024)) -inf.0)))
|
||||
(pass-if (not (equal? -inf.0 (- (ash 1 1024)))))
|
||||
|
||||
(pass-if (not (equal? +nan.0 +nan.0)))
|
||||
(pass-if (not (equal? 0 +nan.0)))
|
||||
(pass-if (not (equal? +nan.0 0)))
|
||||
(pass-if (not (equal? 1 +nan.0)))
|
||||
(pass-if (not (equal? +nan.0 1)))
|
||||
(pass-if (not (equal? -1 +nan.0)))
|
||||
(pass-if (not (equal? +nan.0 -1)))
|
||||
|
||||
(pass-if (not (equal? (ash 1 256) +nan.0)))
|
||||
(pass-if (not (equal? +nan.0 (ash 1 256))))
|
||||
(pass-if (not (equal? (- (ash 1 256)) +nan.0)))
|
||||
(pass-if (not (equal? +nan.0 (- (ash 1 256)))))
|
||||
|
||||
(pass-if (not (equal? (ash 1 8192) +nan.0)))
|
||||
(pass-if (not (equal? +nan.0 (ash 1 8192))))
|
||||
(pass-if (not (equal? (- (ash 1 8192)) +nan.0)))
|
||||
(pass-if (not (equal? +nan.0 (- (ash 1 8192)))))
|
||||
|
||||
;; 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 (not (equal? (ash 3 1023) +nan.0)))
|
||||
(pass-if (not (equal? +nan.0 (ash 3 1023)))))
|
||||
|
||||
;;;
|
||||
;;; =
|
||||
;;;
|
||||
|
|
@ -1156,12 +1211,14 @@
|
|||
(pass-if (= 7 7))
|
||||
(pass-if (= -7 -7))
|
||||
(pass-if (= (+ 1 fixnum-max) (+ 1 fixnum-max)))
|
||||
(pass-if (= (- 1 fixnum-min) (- 1 fixnum-min)))
|
||||
(pass-if (= (- fixnum-min 1) (- fixnum-min 1)))
|
||||
(pass-if (not (= 0 1)))
|
||||
(pass-if (not (= fixnum-max (+ 1 fixnum-max))))
|
||||
(pass-if (not (= (+ 1 fixnum-max) fixnum-max)))
|
||||
(pass-if (not (= (+ 1 fixnum-max) (+ 2 fixnum-max))))
|
||||
(pass-if (not (= fixnum-min (- fixnum-min 1))))
|
||||
(pass-if (not (= (- fixnum-min 1) fixnum-min)))
|
||||
(pass-if (not (= (- fixnum-min 1) (- fixnum-min 2))))
|
||||
(pass-if (not (= (+ fixnum-max 1) (- fixnum-min 1))))
|
||||
|
||||
(pass-if (not (= (ash 1 256) +inf.0)))
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue