From 1eb8131045f497cb53818f6458a70a263b60489a Mon Sep 17 00:00:00 2001
From: rtoy <rtoy>
Date: Mon, 23 Aug 2004 16:15:24 +0000
Subject: [PATCH] Need actual function for vm::ash-mod32 support for modular
 ash with positive and negative shifts.

---
 code/numbers.lisp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/code/numbers.lisp b/code/numbers.lisp
index 11e776c86..6093e5900 100644
--- a/code/numbers.lisp
+++ b/code/numbers.lisp
@@ -5,7 +5,7 @@
 ;;; Carnegie Mellon University, and has been placed in the public domain.
 ;;;
 (ext:file-comment
-  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/numbers.lisp,v 1.58 2004/04/10 04:51:03 rtoy Exp $")
+  "$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/code/numbers.lisp,v 1.59 2004/08/23 16:15:24 rtoy Exp $")
 ;;;
 ;;; **********************************************************************
 ;;;
@@ -1541,3 +1541,10 @@ significant bit of INTEGER is bit 0."
 	   (type (integer 0 31) count))
   (bignum::%ashl (ldb (byte 32 0) integer) count))
 
+#+modular-arith
+(defun vm::ash-mod32 (integer count)
+  (declare (type integer integer)
+	   (type (integer -31 31) count))
+  (if (minusp count)
+      (bignum::%digit-logical-shift-right (ldb (byte 32 0) integer) (- count))
+      (bignum::%ashl (ldb (byte 32 0) integer) count)))
-- 
GitLab