Update of /project/movitz/cvsroot/movitz In directory clnet:/tmp/cvs-serv1708
Modified Files: compiler-types.lisp Log Message: Teach compiler about the ratio type.
--- /project/movitz/cvsroot/movitz/compiler-types.lisp 2005/08/21 23:29:44 1.25 +++ /project/movitz/cvsroot/movitz/compiler-types.lisp 2006/11/08 08:57:05 1.26 @@ -10,7 +10,7 @@ ;;;; Author: Frode Vatvedt Fjeld frodef@acm.org ;;;; Created at: Wed Sep 10 00:40:07 2003 ;;;; -;;;; $Id: compiler-types.lisp,v 1.25 2005/08/21 23:29:44 ffjeld Exp $ +;;;; $Id: compiler-types.lisp,v 1.26 2006/11/08 08:57:05 ffjeld Exp $ ;;;; ;;;;------------------------------------------------------------------
@@ -233,7 +233,7 @@ ;;;
(defparameter *tb-bitmap* - '(hash-table character function cons keyword symbol vector array integer :tail) + '(hash-table character function cons keyword symbol vector array integer ratio :tail) "The union of these types must be t.")
(defun basic-typep (x type) @@ -255,7 +255,9 @@ (fixnum (typep x 'movitz-fixnum)) (bignum - (typep x 'movitz-bignum)))) + (typep x 'movitz-bignum)) + (ratio + (typep x 'movitz-ratio))))
(defun type-code (first-type &rest types) "Find the code (a bitmap) for (or ,@types)." @@ -364,7 +366,7 @@ (or (type-code-p 'integer code) (and integer-range (numscope-memberp integer-range (movitz-bignum-value x))))) - (t (dolist (bt '(symbol character function cons hash-table vector) + (t (dolist (bt '(symbol character function cons hash-table vector ratio) (error "Cant decide typep for ~S." x)) (when (basic-typep x bt) (return (type-code-p bt code))))))