diff options
author | dos-reis <gdr@axiomatics.org> | 2011-10-23 21:53:39 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-10-23 21:53:39 +0000 |
commit | 6a7022d0c0be54f3411ee07663765f60691c5f0c (patch) | |
tree | 907995b463cb3cc2a59ec2b67634ec536c3b0986 /src/interp | |
parent | 776d3d65f420e017b7cc45549e845cbf28920291 (diff) | |
download | open-axiom-6a7022d0c0be54f3411ee07663765f60691c5f0c.tar.gz |
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fdecode.
* interp/lisp-backend.boot: Expand it.
* algebra/sf.spad.pamphlet (DoubleFloat): Remove %fmanexpr import.
Use %fdecode to access Lisp-level double-float decoding.
[mantissa]: Rewrite.
[exponent]: Likewise.
[negative?]: Likewise.
[positive?]: Likewise.
[manexp]: Likewise.
* algebra/view2D.spad.pamphlet (TwoDimensionalViewport): Tidy.
Diffstat (limited to 'src/interp')
-rw-r--r-- | src/interp/g-opt.boot | 2 | ||||
-rw-r--r-- | src/interp/lisp-backend.boot | 4 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot index e2a1e7c9..f044b7a2 100644 --- a/src/interp/g-opt.boot +++ b/src/interp/g-opt.boot @@ -431,7 +431,7 @@ $VMsideEffectFreeOperators == %idec %irem %iquo %idivide %idec %irandom %feq %flt %fle %fgt %fge %fmul %fadd %fsub %fexp %fmin %fmax %float? %fpowi %fdiv %fneg %i2f %fminval %fmaxval %fbase %fprec %ftrunc - %fsqrt %fpowf %flog %flog2 %flog10 %fmanexp %fNaN? + %fsqrt %fpowf %flog %flog2 %flog10 %fmanexp %fNaN? %fdecode %fsin %fcos %ftan %fcot %fasin %facos %fatan %facot %fsinh %fcosh %ftanh diff --git a/src/interp/lisp-backend.boot b/src/interp/lisp-backend.boot index 89972184..17efec64 100644 --- a/src/interp/lisp-backend.boot +++ b/src/interp/lisp-backend.boot @@ -322,6 +322,9 @@ expandFatanh ['%fatanh,x] == expandFacoth ['%facoth,x] == ['C_-TO_-R,['ACOTH,expandToVMForm x]] +expandFdecode ['%fdecode,x] == + ['MULTIPLE_-VALUE_-CALL,['FUNCTION,'LIST], + ['INTEGER_-DECODE_-FLOAT,expandToVMForm x]] -- String operations @@ -655,6 +658,7 @@ for x in [ ['%idivide, :function expandIdivide], ['%i2f, :function expandI2f], + ['%fdecode, :function expandFdecode], ['%fbase, :function expandFbase], ['%feq, :function expandFeq], ['%fgt, :function expandFgt], |