aboutsummaryrefslogtreecommitdiff
path: root/src/interp/g-opt.boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-07-23 15:50:13 +0000
committerdos-reis <gdr@axiomatics.org>2010-07-23 15:50:13 +0000
commit95a01c8b0ae5635b456e34d95bc7b0570a1952b8 (patch)
tree632a94c5b9710ed2ac7debf3f607df9e3b65ff2e /src/interp/g-opt.boot
parented3e1857fc3a67db0a36911d26d6bc1f50ee29ec (diff)
downloadopen-axiom-95a01c8b0ae5635b456e34d95bc7b0570a1952b8.tar.gz
* interp/g-util.boot: Remove expansion for %ble, %bgt, %bge.
* interp/g-opt.boot (optMINUS): Remove. (opt_-): Likewise. (optBle): New. (optBgt): Likewise. (optBge): Likewise.
Diffstat (limited to 'src/interp/g-opt.boot')
-rw-r--r--src/interp/g-opt.boot24
1 files changed, 17 insertions, 7 deletions
diff --git a/src/interp/g-opt.boot b/src/interp/g-opt.boot
index 887cbb94..543cf45e 100644
--- a/src/interp/g-opt.boot
+++ b/src/interp/g-opt.boot
@@ -445,12 +445,6 @@ optQSMINUS u ==
u
u
-opt_- u ==
- u is ['_-,v] =>
- integer? v => -v
- u
- u
-
++ List of VM side effect free operators.
$VMsideEffectFreeOperators ==
'(CAR CDR LENGTH SIZE EQUAL EQL EQ NOT NULL OR AND
@@ -696,6 +690,20 @@ optIgt x ==
optIge x ==
optNot ['%not,optIlt ['%ilt,second x,third x]]
+--% Byte operations
+
+optBle ['%ble,a,b] ==
+ optNot ['%not,['%blt,b,a]]
+
+optBgt ['%bgt,a,b] ==
+ ['%blt,b,a]
+
+optBge ['%bge,a,b] ==
+ optBle ['%ble,b,a]
+
+
+
+
--% Integer operations
optIadd(x is ['%iadd,a,b]) ==
@@ -726,6 +734,9 @@ for x in '( (%call optCall) _
(%not optNot)_
(%and optAnd)_
(%or optOr)_
+ (%ble optBle)_
+ (%bgt optBgt)_
+ (%bge optBge)_
(%ieq optIeq)_
(%ilt optIlt)_
(%ile optIle)_
@@ -737,7 +748,6 @@ for x in '( (%call optCall) _
(%imul optImul)_
(LIST optLIST)_
(QSMINUS optQSMINUS)_
- (_- opt_-)_
(SPADCALL optSPADCALL)_
(_| optSuchthat)_
(CATCH optCatch)_