]> asedeno.scripts.mit.edu Git - cl-protobufs.git/blobdiff - utilities.lisp
A few whitespace changes
[cl-protobufs.git] / utilities.lisp
index 939cb08c3b8469fffaa0d921a2da069f08bb394d..42c68dc3da65ea7f99b59900061500f490d4d695 100644 (file)
 (deftype sfixed32 () '(signed-byte 32))
 (deftype sfixed64 () '(signed-byte 64))
 
+;; Type expansion
+(defun type-expand (type)
+  #+allegro (excl:normalize-type type :default type)
+  #+ccl (ccl::type-expand type)
+  #+clisp (ext:type-expand type)
+  #+cmu (kernel:type-expand type)
+  #+lispworks (type:expand-user-type type)
+  #+sbcl (sb-ext:typexpand type)
+  #-(or allegro ccl clisp cmu lispworks sbcl) type)
+
 
 ;;; Code generation utilities
 
                                          (ldb (byte 16 0) high)
                                          (ldb (byte 16 16) low)
                                          (ldb (byte 16 0) low))
-  #+ccl  (ccl::double-float-from-bits high low)
+  #+ccl  (ccl::double-float-from-bits (logand high #xffffffff) low)
   #+cmu  (kernel:make-double-float high low)
   #+sbcl (sb-kernel:make-double-float high low)
   #+lispworks (lispworks-float:make-double-float high low))