mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-29 16:30:19 +02:00
(quotient, remainder): Exercise inum/big at and
near special case inum == fixnum-min, big == -fixnum-min.
This commit is contained in:
parent
c3110a3045
commit
ad22fe7cf8
1 changed files with 22 additions and 2 deletions
|
@ -324,7 +324,17 @@
|
||||||
(eqv? 1 (quotient fixnum-min fixnum-min)))
|
(eqv? 1 (quotient fixnum-min fixnum-min)))
|
||||||
|
|
||||||
(pass-if "n = fixnum-min - 1"
|
(pass-if "n = fixnum-min - 1"
|
||||||
(eqv? 0 (quotient fixnum-min (- fixnum-min 1)))))
|
(eqv? 0 (quotient fixnum-min (- fixnum-min 1))))
|
||||||
|
|
||||||
|
(pass-if "n = - fixnum-min - 1"
|
||||||
|
(eqv? -1 (quotient fixnum-min (1- (- fixnum-min)))))
|
||||||
|
|
||||||
|
;; special case, normally inum/big is zero
|
||||||
|
(pass-if "n = - fixnum-min"
|
||||||
|
(eqv? -1 (quotient fixnum-min (- fixnum-min))))
|
||||||
|
|
||||||
|
(pass-if "n = - fixnum-min + 1"
|
||||||
|
(eqv? 0 (quotient fixnum-min (1+ (- fixnum-min))))))
|
||||||
|
|
||||||
(with-test-prefix "(fixnum-min - 1) / n"
|
(with-test-prefix "(fixnum-min - 1) / n"
|
||||||
|
|
||||||
|
@ -512,7 +522,17 @@
|
||||||
(eqv? 0 (remainder fixnum-min fixnum-min)))
|
(eqv? 0 (remainder fixnum-min fixnum-min)))
|
||||||
|
|
||||||
(pass-if "n = fixnum-min - 1"
|
(pass-if "n = fixnum-min - 1"
|
||||||
(eqv? fixnum-min (remainder fixnum-min (- fixnum-min 1)))))
|
(eqv? fixnum-min (remainder fixnum-min (- fixnum-min 1))))
|
||||||
|
|
||||||
|
(pass-if "n = - fixnum-min - 1"
|
||||||
|
(eqv? -1 (remainder fixnum-min (1- (- fixnum-min)))))
|
||||||
|
|
||||||
|
;; special case, normally inum%big is the inum
|
||||||
|
(pass-if "n = - fixnum-min"
|
||||||
|
(eqv? 0 (remainder fixnum-min (- fixnum-min))))
|
||||||
|
|
||||||
|
(pass-if "n = - fixnum-min + 1"
|
||||||
|
(eqv? fixnum-min (remainder fixnum-min (1+ (- fixnum-min))))))
|
||||||
|
|
||||||
(with-test-prefix "(fixnum-min - 1) / n"
|
(with-test-prefix "(fixnum-min - 1) / n"
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue