From 555e9b539d3cb2e0dbcf6f6efb22bf3bcd94c1db Mon Sep 17 00:00:00 2001 From: Taylor R Campbell Date: Wed, 7 Nov 2018 07:53:44 +0000 Subject: [PATCH] More floating-point parameters. --- src/runtime/arith.scm | 9 +++++++++ src/runtime/runtime.pkg | 3 +++ 2 files changed, 12 insertions(+) diff --git a/src/runtime/arith.scm b/src/runtime/arith.scm index edf7ca3fe..fe9c3989a 100644 --- a/src/runtime/arith.scm +++ b/src/runtime/arith.scm @@ -106,6 +106,9 @@ USA. (define flo:subnormal-exponent-min-base-2) (define flo:subnormal-exponent-min-base-e) (define flo:subnormal-exponent-min-base-10) +(define flo:smallest-positive-subnormal) +(define flo:smallest-positive-normal) +(define flo:largest-positive-normal) (define flo:significand-digits-base-2) (define flo:significand-digits-base-10) (define int:flonum-integer-limit) @@ -148,6 +151,12 @@ USA. (flo:/ flo:normal-exponent-min-base-e (flo:log 10.))) (set! flo:subnormal-exponent-min-base-10 (flo:/ flo:subnormal-exponent-min-base-e (flo:log 10.))) + (set! flo:smallest-positive-subnormal + (flo:ldexp 1. flo:subnormal-exponent-min-base-2)) + (set! flo:smallest-positive-normal + (flo:ldexp 1. flo:normal-exponent-min-base-2)) + (set! flo:largest-positive-normal + (flo:ldexp 1. flo:normal-exponent-max-base-2)) unspecific) (define (initialize-package!) diff --git a/src/runtime/runtime.pkg b/src/runtime/runtime.pkg index cd40c1ba0..546d9a6e6 100644 --- a/src/runtime/runtime.pkg +++ b/src/runtime/runtime.pkg @@ -3359,6 +3359,7 @@ USA. exact-nonnegative-integer? exact-positive-integer? flo:error-bound + flo:largest-positive-normal flo:log-error-bound flo:normal-exponent-max-base-10 flo:normal-exponent-max-base-2 @@ -3369,6 +3370,8 @@ USA. flo:radix flo:significand-digits-base-10 flo:significand-digits-base-2 + flo:smallest-positive-normal + flo:smallest-positive-subnormal flo:subnormal-exponent-min-base-10 flo:subnormal-exponent-min-base-2 flo:subnormal-exponent-min-base-e -- 2.25.1