0.9.1.18:
authorChristophe Rhodes <csr21@cam.ac.uk>
Wed, 1 Jun 2005 14:46:24 +0000 (14:46 +0000)
committerChristophe Rhodes <csr21@cam.ac.uk>
Wed, 1 Jun 2005 14:46:24 +0000 (14:46 +0000)
Fix for the modular arithmetic improvement from nfroyd
... lognot is unary :-)
... (I don't have _Hacker's Delight_, so I guessed what was
meant).

src/compiler/srctran.lisp
version.lisp-expr

index f137b49..c8a7b20 100644 (file)
     (loop for m = (ash 1 (1- length)) then (ash m -1)
           until (zerop m) do
           (cond
-            ((not (zerop (logand (logand (lognot a mask))
+            ((not (zerop (logand (logand (lognot a) mask)
                                  c
                                  m)))
              (let ((temp (logand (logior a m) (logand (- m) mask))))
                  (setf a temp)
                  (loop-finish))))
             ((not (zerop (logand a
-                                 (logand (lognot c mask))
+                                 (logand (lognot c) mask)
                                  m)))
              (let ((temp (logand (logior c m) (logand (- m) mask))))
                (when (<= temp d)
index e14c141..6e2ba58 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"0.9.1.17"
+"0.9.1.18"