[movitz-cvs] CVS update: movitz/losp/muerte/integers.lisp
Frode Vatvedt Fjeld
ffjeld at common-lisp.net
Thu Jun 10 01:25:27 UTC 2004
Update of /project/movitz/cvsroot/movitz/losp/muerte
In directory common-lisp.net:/tmp/cvs-serv22039
Modified Files:
integers.lisp
Log Message:
Minor shifting around of code.
Date: Wed Jun 9 18:25:27 2004
Author: ffjeld
Index: movitz/losp/muerte/integers.lisp
diff -u movitz/losp/muerte/integers.lisp:1.31 movitz/losp/muerte/integers.lisp:1.32
--- movitz/losp/muerte/integers.lisp:1.31 Wed Jun 9 15:52:12 2004
+++ movitz/losp/muerte/integers.lisp Wed Jun 9 18:25:27 2004
@@ -9,7 +9,7 @@
;;;; Created at: Wed Nov 8 18:44:57 2000
;;;; Distribution: See the accompanying file COPYING.
;;;;
-;;;; $Id: integers.lisp,v 1.31 2004/06/09 22:52:12 ffjeld Exp $
+;;;; $Id: integers.lisp,v 1.32 2004/06/10 01:25:27 ffjeld Exp $
;;;;
;;;;------------------------------------------------------------------
@@ -788,34 +788,6 @@
(when (< x min)
(setq min x)))))
-;;; Types
-
-(define-typep integer (x &optional (min '*) (max '*))
- (and (typep x 'integer)
- (or (eq min '*) (<= min x))
- (or (eq max '*) (<= x max))))
-
-(deftype signed-byte (&optional (size '*))
- (cond
- ((eq size '*)
- 'integer)
- ((typep size '(integer 1 *))
- (list 'integer
- (- (ash 1 (1- size)))
- (1- (ash 1 (1- size)))))
- (t (error "Illegal size for signed-byte."))))
-
-(deftype unsigned-byte (&optional (size '*))
- (cond
- ((eq size '*)
- '(integer 0))
- ((typep size '(integer 1 *))
- (list 'integer 0 (1- (ash 1 size))))
- (t (error "Illegal size for unsigned-byte."))))
-
-(define-simple-typep (bit bitp) (x)
- (or (eq x 0) (eq x 1)))
-
;; shift
(define-compiler-macro ash (&whole form integer count &environment env)
@@ -884,6 +856,36 @@
(:sarl :cl :eax)
(:andb #.(cl:logxor #xff movitz::+movitz-fixnum-zmask+) :al)))
(t (if (= 0 integer) 0 (error "Illegal ash count: ~D" count)))))
+
+;;; Types
+
+(define-typep integer (x &optional (min '*) (max '*))
+ (and (typep x 'integer)
+ (or (eq min '*) (<= min x))
+ (or (eq max '*) (<= x max))))
+
+(deftype signed-byte (&optional (size '*))
+ (cond
+ ((eq size '*)
+ 'integer)
+ ((typep size '(integer 1 *))
+ (list 'integer
+ (- (ash 1 (1- size)))
+ (1- (ash 1 (1- size)))))
+ (t (error "Illegal size for signed-byte."))))
+
+(deftype unsigned-byte (&optional (size '*))
+ (cond
+ ((eq size '*)
+ '(integer 0))
+ ((typep size '(integer 1 *))
+ (list 'integer 0 (1- (ash 1 size))))
+ (t (error "Illegal size for unsigned-byte."))))
+
+(define-simple-typep (bit bitp) (x)
+ (or (eq x 0) (eq x 1)))
+
+;;;;
(defun integer-length (integer)
"=> number-of-bits"
More information about the Movitz-cvs
mailing list