From a04a3604c253663854e92e3f5c35e3ea79a952b6 Mon Sep 17 00:00:00 2001 From: Kevin Ryde Date: Sat, 10 May 2003 00:10:40 +0000 Subject: [PATCH] (integer-length): Exercise some negatives, in particular -2^n which is ...11100..00. --- test-suite/tests/numbers.test | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/test-suite/tests/numbers.test b/test-suite/tests/numbers.test index 09c607b92..66830f93e 100644 --- a/test-suite/tests/numbers.test +++ b/test-suite/tests/numbers.test @@ -1796,6 +1796,33 @@ ;;; inexact->exact ;;; +;;; +;;; integer-length +;;; + +(with-test-prefix "integer-length" + + (with-test-prefix "-2^i, ...11100..00" + (do ((n -1 (ash n 1)) + (i 0 (1+ i))) + ((> i 256)) + (pass-if (list n "expect" i) + (= i (integer-length n))))) + + (with-test-prefix "-2^i+1 ...11100..01" + (do ((n -3 (logxor 3 (ash n 1))) + (i 2 (1+ i))) + ((> i 256)) + (pass-if n + (= i (integer-length n))))) + + (with-test-prefix "-2^i-1 ...111011..11" + (do ((n -2 (1+ (ash n 1))) + (i 1 (1+ i))) + ((> i 256)) + (pass-if n + (= i (integer-length n)))))) + ;;; ;;; logcount ;;;