;;;; FIXME: I'm not sure where to put this. -- WHN 19990817
(def!type sb!vm:word () `(unsigned-byte ,sb!vm:n-word-bits))
+(def!type sb!vm:signed-word () `(signed-byte ,sb!vm:n-word-bits))
+
\f
;;;; implementation-dependent DEFTYPEs
(types `(simple-array ,type ,dims))))
(types)))
+(sb!xc:deftype complex-vector (&optional element-type length)
+ `(and (vector ,element-type ,length) (not simple-array)))
+
;;; Return the symbol that describes the format of FLOAT.
(declaim (ftype (function (float) symbol) float-format-name))
(defun float-format-name (x)
(numeric-type
(cond ((type= type (specifier-type 'fixnum))
'sb!c:check-fixnum)
+ #!+#.(cl:if (cl:= 32 sb!vm:n-word-bits) '(and) '(or))
((type= type (specifier-type '(signed-byte 32)))
'sb!c:check-signed-byte-32)
+ #!+#.(cl:if (cl:= 32 sb!vm:n-word-bits) '(and) '(or))
((type= type (specifier-type '(unsigned-byte 32)))
'sb!c:check-unsigned-byte-32)
+ #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
+ ((type= type (specifier-type '(signed-byte 64)))
+ 'sb!c:check-signed-byte-64)
+ #!+#.(cl:if (cl:= 64 sb!vm:n-word-bits) '(and) '(or))
+ ((type= type (specifier-type '(unsigned-byte 64)))
+ 'sb!c:check-unsigned-byte-64)
(t nil)))
(fun-type
'sb!c:check-fun)