Update of /cvsroot/sbcl/sbcl/src/compiler/generic
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8139/src/compiler/generic
Modified Files:
vm-type.lisp
Log Message:
0.8.13.3:
Improve BIGNUM-GCD ever so slightly
... BIGNUM-INDEX isn't actually usefully INDEX, because we
require the ability to index individual bits. Divide
the type by 32, then.
... rearrange bignum.lisp slightly to declare types of functions
before their use. (Aside: I'm not sure why I need the
type declaration, given that the final compiler can
derive the type fine. Maybe the cross-compiler is
lobotomized in some significant way here?)
Index: vm-type.lisp
===================================================================
RCS file: /cvsroot/sbcl/sbcl/src/compiler/generic/vm-type.lisp,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- vm-type.lisp 3 May 2004 23:01:29 -0000 1.19
+++ vm-type.lisp 26 Jul 2004 10:24:40 -0000 1.20
@@ -73,7 +73,10 @@
(sb!xc:deftype bignum-element-type () `(unsigned-byte ,sb!vm:n-word-bits))
(sb!xc:deftype bignum-type () 'bignum)
-(sb!xc:deftype bignum-index () 'index)
+;;; FIXME: see also DEFCONSTANT MAXIMUM-BIGNUM-LENGTH in
+;;; src/code/bignum.lisp. -- CSR, 2004-07-19
+(sb!xc:deftype bignum-index ()
+ '(integer 0 #.(1- (ash 1 (- 32 sb!vm:n-widetag-bits)))))
;;;; hooks into the type system
|