diff options
author | dos-reis <gdr@axiomatics.org> | 2010-06-22 17:20:38 +0000 |
---|---|---|
committer | dos-reis <gdr@axiomatics.org> | 2010-06-22 17:20:38 +0000 |
commit | b06599402ca23cce8ba7eea03886dc11a5d29af4 (patch) | |
tree | 763ae52bb73dfb7f76feb7433b7853056acb9605 /src/algebra/strap/INS-.lsp | |
parent | 48d55f8e89cdc22afbf661b823bf059d231b0db4 (diff) | |
download | open-axiom-b06599402ca23cce8ba7eea03886dc11a5d29af4.tar.gz |
Group sequence of LETT definitions into LET/LET* expressions where
appropriate.
* interp/g-opt.boot (jumpToToplevel?): New.
(singleAssignment?): Likewise.
(groupVariableDefinitions): Likewise. Use them.
(optimizeFunctionDef): Group toplevel variable definitions into
a bind expression.
* interp/g-util.boot (expandBind): Tidy.
* interp/c-util.boot (transformToBackendCode): Refrain from
enclosing let-expressions in SEQ if not needed.
Diffstat (limited to 'src/algebra/strap/INS-.lsp')
-rw-r--r-- | src/algebra/strap/INS-.lsp | 61 |
1 files changed, 26 insertions, 35 deletions
diff --git a/src/algebra/strap/INS-.lsp b/src/algebra/strap/INS-.lsp index f75d7e3c..794d4374 100644 --- a/src/algebra/strap/INS-.lsp +++ b/src/algebra/strap/INS-.lsp @@ -194,41 +194,32 @@ (|getShellEntry| $ 76)))) (DEFUN |INS-;symmetricRemainder;3S;27| (|x| |n| $) - (PROG (|r|) - (RETURN - (SEQ (LETT |r| (SPADCALL |x| |n| (|getShellEntry| $ 80)) - |INS-;symmetricRemainder;3S;27|) - (EXIT (COND - ((SPADCALL |r| (|spadConstant| $ 10) - (|getShellEntry| $ 27)) - |r|) - ('T - (SEQ (COND - ((SPADCALL |n| (|spadConstant| $ 10) - (|getShellEntry| $ 28)) - (SETQ |n| - (SPADCALL |n| (|getShellEntry| $ 19))))) - (EXIT (COND - ((SPADCALL |r| (|spadConstant| $ 10) - (|getShellEntry| $ 16)) - (COND - ((SPADCALL - (SPADCALL 2 |r| - (|getShellEntry| $ 82)) - |n| (|getShellEntry| $ 16)) - (SPADCALL |r| |n| - (|getShellEntry| $ 67))) - ('T |r|))) - ((NOT (SPADCALL - (SPADCALL - (SPADCALL 2 |r| - (|getShellEntry| $ 82)) - |n| (|getShellEntry| $ 83)) - (|spadConstant| $ 10) - (|getShellEntry| $ 16))) - (SPADCALL |r| |n| - (|getShellEntry| $ 83))) - ('T |r|))))))))))) + (LET ((|r| (SPADCALL |x| |n| (|getShellEntry| $ 80)))) + (COND + ((SPADCALL |r| (|spadConstant| $ 10) (|getShellEntry| $ 27)) |r|) + ('T + (SEQ (COND + ((SPADCALL |n| (|spadConstant| $ 10) + (|getShellEntry| $ 28)) + (SETQ |n| (SPADCALL |n| (|getShellEntry| $ 19))))) + (EXIT (COND + ((SPADCALL |r| (|spadConstant| $ 10) + (|getShellEntry| $ 16)) + (COND + ((SPADCALL + (SPADCALL 2 |r| (|getShellEntry| $ 82)) |n| + (|getShellEntry| $ 16)) + (SPADCALL |r| |n| (|getShellEntry| $ 67))) + ('T |r|))) + ((NOT (SPADCALL + (SPADCALL + (SPADCALL 2 |r| + (|getShellEntry| $ 82)) + |n| (|getShellEntry| $ 83)) + (|spadConstant| $ 10) + (|getShellEntry| $ 16))) + (SPADCALL |r| |n| (|getShellEntry| $ 83))) + ('T |r|)))))))) (DEFUN |INS-;invmod;3S;28| (|a| |b| $) (PROG (|c| |c1| |d| |d1| |q| |r| |r1|) |