aboutsummaryrefslogtreecommitdiff
path: root/src/interp/sys-macros.lisp
diff options
context:
space:
mode:
Diffstat (limited to 'src/interp/sys-macros.lisp')
-rw-r--r--src/interp/sys-macros.lisp10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/interp/sys-macros.lisp b/src/interp/sys-macros.lisp
index 85f5434f..3f4ac262 100644
--- a/src/interp/sys-macros.lisp
+++ b/src/interp/sys-macros.lisp
@@ -61,6 +61,12 @@
;; -*- BigFloat Constructors -*-
;;
+(defmacro |float| (x &optional (y 0.0d0))
+ `(float ,x ,y))
+
+(defun |makeSF| (mantissa exponent)
+ (|float| (/ mantissa (expt 2 (- exponent)))))
+
(defmacro MAKE-BF (MT EP)
`(CONS |$BFtag| (CONS ,MT ,EP)))
@@ -152,6 +158,10 @@
(defmacro KADDR (ARG)
`(IFCAR (IFCDR (IFCDR ,arg))))
+
+(defmacro APPEND2 (x y)
+ `(append ,x ,y))
+
(eval-when
#+:common-lisp (:compile-toplevel :load-toplevel :execute)
#-:common-lisp (compile load eval)