aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/INS-.lsp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-06-09 02:04:08 +0000
committerdos-reis <gdr@axiomatics.org>2010-06-09 02:04:08 +0000
commitddd0d01eed235ef965e622c982667eeb2eb528c8 (patch)
tree934290623d267f317669a29ea0f7254b49c464b8 /src/algebra/strap/INS-.lsp
parent6aca99e6211a8fe97a8bb84d2bc85f9900f35315 (diff)
downloadopen-axiom-ddd0d01eed235ef965e622c982667eeb2eb528c8.tar.gz
Widen scope of iterator variables in presence of terminating
predicate iterators. There is exactly one instance in the entire OpenAxio library. * interp/g-util.boot (expandIN): Take one more parameter to determine early binding. (expandIterators): Determine if wider scope is needed for iterator variables.
Diffstat (limited to 'src/algebra/strap/INS-.lsp')
-rw-r--r--src/algebra/strap/INS-.lsp91
1 files changed, 43 insertions, 48 deletions
diff --git a/src/algebra/strap/INS-.lsp b/src/algebra/strap/INS-.lsp
index 4fb5914a..9b1413c2 100644
--- a/src/algebra/strap/INS-.lsp
+++ b/src/algebra/strap/INS-.lsp
@@ -275,55 +275,50 @@
('T |c1|)))))))
(DEFUN |INS-;powmod;4S;29| (|x| |n| |p| $)
- (PROG (|y| #0=#:G1483 |z|)
+ (PROG (|y| |z|)
(RETURN
- (SEQ (EXIT (SEQ (COND
- ((SPADCALL |x| (|getShellEntry| $ 85))
- (LETT |x|
- (SPADCALL |x| |p|
- (|getShellEntry| $ 86))
- |INS-;powmod;4S;29|)))
- (EXIT (COND
- ((SPADCALL |x| (|getShellEntry| $ 66))
- (|spadConstant| $ 10))
- ((SPADCALL |n| (|getShellEntry| $ 66))
- (|spadConstant| $ 22))
- ('T
- (SEQ (LETT |y| (|spadConstant| $ 22)
- |INS-;powmod;4S;29|)
- (LETT |z| |x| |INS-;powmod;4S;29|)
- (EXIT
- (SEQ G190 NIL
- (SEQ
- (COND
- ((SPADCALL |n|
- (|getShellEntry| $ 13))
- (LETT |y|
- (SPADCALL |y| |z| |p|
- (|getShellEntry| $ 91))
- |INS-;powmod;4S;29|)))
- (EXIT
- (COND
- ((SPADCALL
- (LETT |n|
- (SPADCALL |n|
- (SPADCALL
- (|spadConstant| $ 22)
- (|getShellEntry| $ 19))
- (|getShellEntry| $ 20))
- |INS-;powmod;4S;29|)
- (|getShellEntry| $ 66))
- (PROGN
- (LETT #0# |y|
- |INS-;powmod;4S;29|)
- (GO #0#)))
- ('T
- (LETT |z|
- (SPADCALL |z| |z| |p|
- (|getShellEntry| $ 91))
- |INS-;powmod;4S;29|)))))
- NIL (GO G190) G191 (EXIT NIL)))))))))
- #0# (EXIT #0#)))))
+ (SEQ (COND
+ ((SPADCALL |x| (|getShellEntry| $ 85))
+ (LETT |x| (SPADCALL |x| |p| (|getShellEntry| $ 86))
+ |INS-;powmod;4S;29|)))
+ (EXIT (COND
+ ((SPADCALL |x| (|getShellEntry| $ 66))
+ (|spadConstant| $ 10))
+ ((SPADCALL |n| (|getShellEntry| $ 66))
+ (|spadConstant| $ 22))
+ ('T
+ (SEQ (LETT |y| (|spadConstant| $ 22)
+ |INS-;powmod;4S;29|)
+ (LETT |z| |x| |INS-;powmod;4S;29|)
+ (EXIT (SEQ G190 NIL
+ (SEQ
+ (COND
+ ((SPADCALL |n|
+ (|getShellEntry| $ 13))
+ (LETT |y|
+ (SPADCALL |y| |z| |p|
+ (|getShellEntry| $ 91))
+ |INS-;powmod;4S;29|)))
+ (EXIT
+ (COND
+ ((SPADCALL
+ (LETT |n|
+ (SPADCALL |n|
+ (SPADCALL
+ (|spadConstant| $ 22)
+ (|getShellEntry| $ 19))
+ (|getShellEntry| $ 20))
+ |INS-;powmod;4S;29|)
+ (|getShellEntry| $ 66))
+ (RETURN-FROM
+ |INS-;powmod;4S;29|
+ |y|))
+ ('T
+ (LETT |z|
+ (SPADCALL |z| |z| |p|
+ (|getShellEntry| $ 91))
+ |INS-;powmod;4S;29|)))))
+ NIL (GO G190) G191 (EXIT NIL)))))))))))
(DEFUN |IntegerNumberSystem&| (|#1|)
(LET* ((|dv$1| (|devaluate| |#1|))