diff options
author | dos-reis <gdr@axiomatics.org> | 2008-09-07 05:41:35 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2008-09-07 05:41:35 +0000 |
commit | 18b7b4b5d3511211092796bd8d593d5c9debec02 (patch) | |
tree | a90da73966bbb0311bf51c62e9ab8356465be694 /src/interp/sys-constants.boot | |
parent | 52642d936f26a18f7d3818fcabe3fad2bff157ea (diff) | |
download | open-axiom-18b7b4b5d3511211092796bd8d593d5c9debec02.tar.gz |
Ensure SingleFloat is 32-bit, DoubleFloat 64-bit.
* interp/types.boot: Tidy.
* interp/sys-constants.boot: Define limits for builtin numeric types.
* interp/sys-os.boot: Import sys-constants.
* interp/foam_l.lisp: Import sys-constants. Align builtin numeric
types with OpenAxiom runtime's.
* interp/fortcall.boot: Tidy.
* interp/i-output.boot: Likewise.
* interp/Makefile.pamphlet (foam_l.$(FASLEXT)): Now require
sys-constants.$(FASLEXT).
* algebra/si.spad.pamphlet: Use $ShortMinimum and $ShortMaximum
for SingleInteger limits.
* algebra/sf.spad.pamphlet: Use $DoubleFloatMaximum,
$DoubleFloatMinimum for DoubleFloat limits.
* algebra/strap: Update cached Lisp translation.
Diffstat (limited to 'src/interp/sys-constants.boot')
-rw-r--r-- | src/interp/sys-constants.boot | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/src/interp/sys-constants.boot b/src/interp/sys-constants.boot index 12b11104..4bf36c9e 100644 --- a/src/interp/sys-constants.boot +++ b/src/interp/sys-constants.boot @@ -40,6 +40,55 @@ import types namespace BOOT +--% +--% Numeric limits +--% + +++ Minimum for %Short values. +$ShortMinimum == + MOST_-NEGATIVE_-FIXNUM + +++ Maximum for %Short values. +$ShortMaximum == + MOST_-POSITIVE_-FIXNUM + +++ Minimum for %SingleFloat values. +$SingleFloatMinimum == +)if %hasFeature KEYWORD::GCL + MOST_-NEGATIVE_-SHORT_-FLOAT +)else + MOST_-NEGATIVE_-SINGLE_-FLOAT +)endif + +++ Maximum for %SingleFloat values. +$SingleFloatMaximum == +)if %hasFeature KEYWORD::GCL + MOST_-POSITIVE_-SHORT_-FLOAT +)else + MOST_-POSITIVE_-SINGLE_-FLOAT +)endif + +++ Machine precision for %SingleFloat +$SingleFloatEpsilon == +)if %hasFeature KEYWORD::GCL + SHORT_-FLOAT_-EPSILON +)else + SINGLE_-FLOAT_-EPSILON +)endif + +++ Maximum for %DoubleFloat values +$DoubleFloatMinimum == + MOST_-NEGATIVE_-DOUBLE_-FLOAT + +++ Maximum for %DoubleFloat values +$DoubleFloatMaximum == + MOST_-POSITIVE_-DOUBLE_-FLOAT + +++ Machine precision for %DoubleFloat +$DoubleFloatEpsilon == + DOUBLE_-FLOAT_-EPSILON + +--% ++ Clock time unit per second. $timerTicksPerSecond == |