From: Alexey D. <ade...@us...> - 2003-08-16 01:18:55
|
Update of /cvsroot/sbcl/sbcl/tests In directory sc8-pr-cvs1:/tmp/cvs-serv32482/tests Modified Files: float.pure.lisp list.pure.lisp Log Message: 0.8.2.29: * Fix bug in ASSQ, reported by Paul Dietz; * FLOAT-RADIX IGNOREs its argument as was suggested by Clemens Heitzinger; * fix return type declaration for FFLOOR and friends (reported by Paul Dietz); * SB-C::DESCRIBE-COMPONENT prints blocks in IR1 component "as is"; * introduced "good" (transparent) modular functions; ... LOGAND and LOGIOR are :GOOD; * on X86: transform 32BIT-LOGICAL-xxx into LOGXXX; implement LOGXOR-MOD32; change implementation of FAST-+-MOD32: inherit without changes from FAST-+/UNSIGNED=>UNSIGNED :-). (On X86 SB-MD5 may be implemented without 32BIT-LOGICAL-xxx and evil TRULY-THE.) Index: float.pure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/float.pure.lisp,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- float.pure.lisp 3 Aug 2003 11:32:29 -0000 1.9 +++ float.pure.lisp 15 Aug 2003 08:21:07 -0000 1.10 @@ -64,3 +64,12 @@ (integer-decode-float f) (scale-float (float signif f) expon)) f))) + +;;; bug found by Paul Dietz: FFLOOR and similar did not work for integers +(let ((tests '(((ffloor -8 3) (-3.0 1)) + ((fround -8 3) (-3.0 1)) + ((ftruncate -8 3) (-2.0 -2)) + ((fceiling -8 3) (-2.0 -2))))) + (loop for (exp res) in tests + for real-res = (multiple-value-list (eval exp)) + do (assert (equal real-res res)))) Index: list.pure.lisp =================================================================== RCS file: /cvsroot/sbcl/sbcl/tests/list.pure.lisp,v retrieving revision 1.10 retrieving revision 1.11 diff -u -d -r1.10 -r1.11 --- list.pure.lisp 1 Jul 2003 05:23:06 -0000 1.10 +++ list.pure.lisp 15 Aug 2003 08:21:07 -0000 1.11 @@ -129,3 +129,10 @@ (assert (eq s (last s (* 1440 most-positive-fixnum)))) (assert (null (butlast s (* 1440 most-positive-fixnum)))) (assert (null (nbutlast s (* 1440 most-positive-fixnum))))) + +;;; Bug reported by Paul Dietz: ASSOC should ignore NIL elements in a +;;; alist +(let ((f (compile nil '(lambda (x) + (assoc x '(nil (a . b) nil (nil . c) (c . d)) + :test #'eq))))) + (assert (equal (funcall f 'nil) '(nil . c)))) |