diff options
author | dos-reis <gdr@axiomatics.org> | 2011-02-06 03:36:41 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2011-02-06 03:36:41 +0000 |
commit | 9c5ffc67bc7783bf0a93335ef6703a10a602ff37 (patch) | |
tree | 95cab276671a8a4d802bc24e6c97241985055753 /src/algebra | |
parent | e007c1c9b02538f76a17eb630f5b6db8ef131c6d (diff) | |
download | open-axiom-9c5ffc67bc7783bf0a93335ef6703a10a602ff37.tar.gz |
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %fmanexp.
(sideEffectFree?): New.
(varIsAssigned): Tidy.
(canInlineVarDefinition): Likewise.
* interp/boot-pkg.lisp (gensym?): New.
* interp/c-util.boot ($NonExpandableOperators): New.
(expandableDefinition?): Use it.
* algebra/sf.spad.pamphlet (DoubleFloat): Use %fmanexp.
Diffstat (limited to 'src/algebra')
-rw-r--r-- | src/algebra/sf.spad.pamphlet | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/algebra/sf.spad.pamphlet b/src/algebra/sf.spad.pamphlet index d4291701..55a4bd72 100644 --- a/src/algebra/sf.spad.pamphlet +++ b/src/algebra/sf.spad.pamphlet @@ -278,12 +278,13 @@ DoubleFloat(): Join(FloatingPointSystem, DifferentialRing, OpenMath, ++ (that is, \spad{|(r-f)/f| < b**(-n)}). == add - MER ==> Record(MANTISSA:Integer,EXPONENT:Integer) + macro MER == Record(MANTISSA:Integer,EXPONENT:Integer) import %hash: % -> SingleInteger from Foreign Builtin import %fminval: () -> % from Foreign Builtin import %fmaxval: () -> % from Foreign Builtin import %fbase: () -> PositiveInteger from Foreign Builtin import %fprec: () -> PositiveInteger from Foreign Builtin + import %fmanexp: % -> Record(man: %,exp: Integer) from Foreign Builtin import %i2f: Integer -> % from Foreign Builtin import %fabs: % -> % from Foreign Builtin import %fneg: % -> % from Foreign Builtin @@ -491,7 +492,7 @@ DoubleFloat(): Join(FloatingPointSystem, DifferentialRing, OpenMath, x := abs x if x > max()$% then return [s*mantissa(max())+1,exponent max()] - me: Record(man:%,exp:Integer) := MANEXP(x)$Lisp + me: Record(man: %,exp: Integer) := %fmanexp x two53 := base()**precision() [s*wholePart(two53 * me.man ),me.exp-precision()] |