From d5d98cb660f7a8c7897c228414deb169222e3254 Mon Sep 17 00:00:00 2001
From: wlott <wlott>
Date: Thu, 5 Jul 1990 21:35:57 +0000
Subject: [PATCH] Added ext: in front of truly-the.  Changed plusp to minusp in
 multiply-fixnums so that it will not negate 0.

---
 code/bignum.lisp | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

diff --git a/code/bignum.lisp b/code/bignum.lisp
index a35d708b9..d485ddfb7 100644
--- a/code/bignum.lisp
+++ b/code/bignum.lisp
@@ -548,22 +548,22 @@
 
 (defun multiply-fixnums (a b)
   (declare (fixnum a b))
-  (let* ((a-plusp (plusp a))
-	 (b-plusp (plusp b)))
+  (let* ((a-minusp (minusp a))
+	 (b-minusp (minusp b)))
     (multiple-value-bind (high low)
-			 (%multiply (%fixnum-to-digit (if a-plusp a (- a)))
-				    (%fixnum-to-digit (if b-plusp b (- b))))
+			 (%multiply (%fixnum-to-digit (if a-minusp (- a) a))
+				    (%fixnum-to-digit (if b-minusp (- b) b)))
       (if (and (zerop high)
 	       (%digit-0-or-plusp low))
-	  (let ((low (truly-the (unsigned-byte 31)
-				(%fixnum-digit-with-correct-sign low))))
-	    (if (eq a-plusp b-plusp)
+	  (let ((low (ext:truly-the (unsigned-byte 31)
+				    (%fixnum-digit-with-correct-sign low))))
+	    (if (eq a-minusp b-minusp)
 		low
 		(- low)))
 	  (let ((res (%allocate-bignum 2)))
 	    (%bignum-set res 0 low)
 	    (%bignum-set res 1 high)
-	    (unless (eq a-plusp b-plusp) (negate-bignum-in-place res))
+	    (unless (eq a-minusp b-minusp) (negate-bignum-in-place res))
 	    (%normalize-bignum res 2))))))
 
 
-- 
GitLab