aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/si.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2012-05-01 02:27:52 +0000
committerdos-reis <gdr@axiomatics.org>2012-05-01 02:27:52 +0000
commite37c877a8ad003972fc6c0206dc6220e266f0a8b (patch)
tree6a4dafe69f35f013172cdbf7b646064328380986 /src/algebra/si.spad.pamphlet
parent52d8ccbf25a71457f923860824696742328bdb35 (diff)
downloadopen-axiom-e37c877a8ad003972fc6c0206dc6220e266f0a8b.tar.gz
* algebra/integer.spad.pamphlet (Integer): Use %iaddmod, %isubmod,
%imulmod. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * interp/c-util.boot (devaluate): Use # in lieu of QVSIZE. * interp/g-opt.boot: %ilfshift and %irshift are now builtin side-effect free operations. * interp/lisp-backend.boot: Translate them. * interp/g-util.boot (mergeSort): Avoid QSDIFFERENCE. * interp/slam.boot: Likewise. * interp/sys-macros.lisp: Likewise. * interp/macros.lisp: Avoid QVMAXINDEX. * interp/vmlisp.lisp (QSDIFFERENCE): Remove. (QSGREATERP): Likewise. (QSLEFTSHIFT): Likewise. (QSLESSP): Likewise. (QSMAX): Likewise. (QSMIN): Likewise. (QSMINUS): Likewise. (QSMINUSP): Likewise. (QSODDP): Likewise. (QSABSVAL): Likewise. (QSPLUS): Likewise. (QSZEROP): Likewise. (QVMAXINDEX): Likewise. (QVSIZE): Likewise. (ZERO?): Likewise.
Diffstat (limited to 'src/algebra/si.spad.pamphlet')
-rw-r--r--src/algebra/si.spad.pamphlet13
1 files changed, 5 insertions, 8 deletions
diff --git a/src/algebra/si.spad.pamphlet b/src/algebra/si.spad.pamphlet
index d982c432..795a75ed 100644
--- a/src/algebra/si.spad.pamphlet
+++ b/src/algebra/si.spad.pamphlet
@@ -179,10 +179,6 @@ IntegerNumberSystem(): Category ==
-- MODULUS, MULTIPLIER (random number generator constants)
--- Lisp dependencies
--- QSLEFTSHIFT
-
-
SingleInteger(): Join(IntegerNumberSystem,OrderedFinite,BooleanLogic) with
canonical
++ \spad{canonical} means that mathematical equality is implied by data structure equality.
@@ -204,11 +200,12 @@ SingleInteger(): Join(IntegerNumberSystem,OrderedFinite,BooleanLogic) with
import %iadd: (%,%) -> % from Foreign Builtin
import %iaddmod: (%,%,%) -> % from Foreign Builtin
import %isub: (%,%) -> % from Foreign Builtin
- import %isubmod: (%,%) -> % from Foreign Builtin
+ import %isubmod: (%,%,%) -> % from Foreign Builtin
import %imul: (%,%) -> % from Foreign Builtin
import %imulmod: (%,%,%) -> % from Foreign Builtin
import %irem: (%,%) -> % from Foreign Builtin
import %iquo: (%,%) -> % from Foreign Builtin
+ import %ilshift: (%,%) -> % from Foreign Builtin
import %ineg: % -> % from Foreign Builtin
import %iinc: % -> % from Foreign Builtin
import %idec: % -> % from Foreign Builtin
@@ -273,10 +270,10 @@ SingleInteger(): Join(IntegerNumberSystem,OrderedFinite,BooleanLogic) with
min(x,y) == %imin(x,y)
hash(x) == %hash x
length(x) == %ilength x
- shift(x,n) == QSLEFTSHIFT(x,n)$Lisp
+ shift(x,n) == %ilshift(x,n)
mulmod(a,b,p) == %imulmod(a,b,p)
- addmod(a,b,p) == %iaddmod(a,b,p)$Lisp
- submod(a,b,p) == %isubmod(a,b,p)$Lisp
+ addmod(a,b,p) == %iaddmod(a,b,p)
+ submod(a,b,p) == %isubmod(a,b,p)
negative?(x) == %ilt(x,%icst0)
size() ==
(%icstmax - %icstmin + %icst1) pretend NonNegativeInteger