diff --git a/src/code/exports.lisp b/src/code/exports.lisp index 9322c5d12e82a47de9070b377f7cfb0dce1f4f48..a5f5ca653dabb3cd121e2678209f8f5170e5b1ed 100644 --- a/src/code/exports.lisp +++ b/src/code/exports.lisp @@ -1418,6 +1418,14 @@ "FLOAT-DENORMALIZED-P" "FLOAT-INFINITY-P" "FLOAT-NAN-P" "FLOAT-TRAPPING-NAN-P" "WITH-FLOAT-TRAPS-MASKED") + ;; More float extensions + #+double-double + (:export "LEAST-POSITIVE-NORMALIZED-DOUBLE-DOUBLE-FLOAT" + "LEAST-NEGATIVE-NORMALIZED-DOUBLE-DOUBLE-FLOAT" + "LEAST-POSITIVE-DOUBLE-DOUBLE-FLOAT" + "LEAST-NEGATIVE-DOUBLE-DOUBLE-FLOAT" + "MOST-POSITIVE-DOUBLE-DOUBLE-FLOAT" + "MOST-NEGATIVE-DOUBLE-DOUBLE-FLOAT") ;; Spice lisp extensions (:export "LETF*" "LETF" "DOVECTOR" "DELETEF" "INDENTING-FURTHER" "FILE-COMMENT" diff --git a/src/code/float.lisp b/src/code/float.lisp index ce7e57207e0f52637abf2dee073418a83a7f1cb1..01b70020fdb8ed8a8a3874c0dbac0f11b666a4ea 100644 --- a/src/code/float.lisp +++ b/src/code/float.lisp @@ -59,6 +59,14 @@ set-floating-point-modes float-denormalized-p float-nan-p float-trapping-nan-p float-infinity-p)) +#+double-double +(export '(least-positive-normalized-double-double-float + least-negative-normalized-double-double-float + least-positive-double-double-float + least-negative-double-double-float + most-positive-double-double-float + most-negative-double-double-float)) + (in-package "KERNEL") @@ -127,6 +135,32 @@ #+(and long-float x86) (defconstant least-negative-long-float (long-from-bits 1 0 1)) +#+double-double +(progn +(defconstant least-positive-normalized-double-double-float + ;; What is the right value? + (kernel:make-double-double-float least-positive-normalized-double-float + 0d0)) +(defconstant least-negative-normalized-double-double-float + ;; What is the right value? + (kernel:make-double-double-float least-negative-normalized-double-float + 0d0)) +(defconstant least-positive-double-double-float + (kernel:make-double-double-float least-positive-double-float + 0d0)) +(defconstant least-negative-double-double-float + (kernel:make-double-double-float least-negative-double-float + 0d0)) +(defconstant most-positive-double-double-float + ;; What is the right value? + (kernel:make-double-double-float most-positive-double-float + 0d0)) +(defconstant most-negative-double-double-float + ;; What is the right value? + (kernel:make-double-double-float most-negative-double-float + 0d0)) +); double-double + (defconstant least-positive-normalized-single-float (single-from-bits 0 vm:single-float-normal-exponent-min 0)) (defconstant least-positive-normalized-short-float