From 6a7022d0c0be54f3411ee07663765f60691c5f0c Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sun, 23 Oct 2011 21:53:39 +0000 Subject: * 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. --- src/interp/g-opt.boot | 2 +- src/interp/lisp-backend.boot | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) (limited to 'src/interp') 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], -- cgit v1.2.3