aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/catdef.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-04-14 02:49:24 +0000
committerdos-reis <gdr@axiomatics.org>2008-04-14 02:49:24 +0000
commitd04a3262a6f4493bd65c45ff73b4d1b8243f47a0 (patch)
tree8b3f5df0e9c1e2474b39073e9785b407597d7285 /src/algebra/catdef.spad.pamphlet
parent1d44d2feb01bc10dcc8690c4f71a3157b07502bc (diff)
downloadopen-axiom-d04a3262a6f4493bd65c45ff73b4d1b8243f47a0.tar.gz
Update cached Lisp translation.
Diffstat (limited to 'src/algebra/catdef.spad.pamphlet')
-rw-r--r--src/algebra/catdef.spad.pamphlet1175
1 files changed, 536 insertions, 639 deletions
diff --git a/src/algebra/catdef.spad.pamphlet b/src/algebra/catdef.spad.pamphlet
index f4fc44b4..b75dc4b5 100644
--- a/src/algebra/catdef.spad.pamphlet
+++ b/src/algebra/catdef.spad.pamphlet
@@ -1379,636 +1379,530 @@ category which we can write into the {\bf MID} directory. We compile
the lisp code and copy the {\bf EUCDOM-.o} file to the {\bf OUT} directory.
This is eventually forcibly replaced by a recompiled version.
-Note that this code is not included in the generated catdef.spad file.
-
-\subsection{The Lisp Implementation}
-\subsubsection{EUCDOM-;VersionCheck}
-This implements the bootstrap code for {\bf EuclideanDomain}.
-The call to {\bf VERSIONCHECK} is a legacy check to ensure that
-we did not load algebra code from a previous system version (which
-would not run due to major surgical changes in the system) without
-recompiling.
-<<EUCDOM-;VersionCheck>>=
-(|/VERSIONCHECK| 2)
-
-@
-\subsubsection{EUCDOM-;sizeLess?;2SB;1}
-<<EUCDOM-;sizeLess?;2SB;1>>=
-(DEFUN |EUCDOM-;sizeLess?;2SB;1| (|x| |y| |$|)
- (COND
- ((SPADCALL |y| (QREFELT |$| 8)) (QUOTE NIL))
- ((SPADCALL |x| (QREFELT |$| 8)) (QUOTE T))
- ((QUOTE T)
- (|<| (SPADCALL |x| (QREFELT |$| 10)) (SPADCALL |y| (QREFELT |$| 10))))))
-
-@
-
-\subsubsection{EUCDOM-;quo;3S;2}
-<<EUCDOM-;quo;3S;2>>=
-(DEFUN |EUCDOM-;quo;3S;2| (|x| |y| |$|)
- (QCAR (SPADCALL |x| |y| (QREFELT |$| 13))))
-
-@
-\subsubsection{EUCDOM-;rem;3S;3}
-<<EUCDOM-;rem;3S;3>>=
-(DEFUN |EUCDOM-;rem;3S;3| (|x| |y| |$|)
- (QCDR (SPADCALL |x| |y| (QREFELT |$| 13))))
+<<EUCDOM-.lsp BOOTSTRAP>>=
-@
-\subsubsection{EUCDOM-;exquo;2SU;4}
-<<EUCDOM-;exquo;2SU;4>>=
-(DEFUN |EUCDOM-;exquo;2SU;4| (|x| |y| |$|)
- (PROG (|qr|)
- (RETURN
- (SEQ
- (COND
- ((SPADCALL |y| (QREFELT |$| 8)) (CONS 1 "failed"))
- ((QUOTE T)
- (SEQ
- (LETT |qr|
- (SPADCALL |x| |y| (QREFELT |$| 13))
- |EUCDOM-;exquo;2SU;4|)
- (EXIT
- (COND
- ((SPADCALL (QCDR |qr|) (QREFELT |$| 8)) (CONS 0 (QCAR |qr|)))
- ((QUOTE T) (CONS 1 "failed")))))))))))
+(/VERSIONCHECK 2)
-@
-\subsubsection{EUCDOM-;gcd;3S;5}
-<<EUCDOM-;gcd;3S;5>>=
-(DEFUN |EUCDOM-;gcd;3S;5| (|x| |y| |$|)
- (PROG (|#G13| |#G14|)
- (RETURN
- (SEQ
- (LETT |x| (SPADCALL |x| (QREFELT |$| 18)) |EUCDOM-;gcd;3S;5|)
- (LETT |y| (SPADCALL |y| (QREFELT |$| 18)) |EUCDOM-;gcd;3S;5|)
- (SEQ G190
- (COND
- ((NULL
- (COND
- ((SPADCALL |y| (QREFELT |$| 8)) (QUOTE NIL))
- ((QUOTE T) (QUOTE T))))
- (GO G191)))
- (SEQ
- (PROGN
- (LETT |#G13| |y| |EUCDOM-;gcd;3S;5|)
- (LETT |#G14| (SPADCALL |x| |y| (QREFELT |$| 19)) |EUCDOM-;gcd;3S;5|)
- (LETT |x| |#G13| |EUCDOM-;gcd;3S;5|)
- (LETT |y| |#G14| |EUCDOM-;gcd;3S;5|))
- (EXIT
- (LETT |y| (SPADCALL |y| (QREFELT |$| 18)) |EUCDOM-;gcd;3S;5|)))
- NIL
- (GO G190)
- G191
- (EXIT NIL))
- (EXIT |x|)))))
+(DEFUN |EUCDOM-;sizeLess?;2SB;1| (|x| |y| $)
+ (COND
+ ((SPADCALL |y| (|getShellEntry| $ 8)) 'NIL)
+ ((SPADCALL |x| (|getShellEntry| $ 8)) 'T)
+ ('T
+ (< (SPADCALL |x| (|getShellEntry| $ 10))
+ (SPADCALL |y| (|getShellEntry| $ 10))))))
-@
-\subsubsection{EUCDOM-;unitNormalizeIdealElt}
-<<EUCDOM-;unitNormalizeIdealElt>>=
-(DEFUN |EUCDOM-;unitNormalizeIdealElt| (|s| |$|)
- (PROG (|#G16| |u| |c| |a|)
- (RETURN
- (SEQ
- (PROGN
- (LETT |#G16| (SPADCALL (QVELT |s| 2) (QREFELT |$| 22)) |EUCDOM-;unitNormalizeIdealElt|)
- (LETT |u| (QVELT |#G16| 0) |EUCDOM-;unitNormalizeIdealElt|)
- (LETT |c| (QVELT |#G16| 1) |EUCDOM-;unitNormalizeIdealElt|)
- (LETT |a| (QVELT |#G16| 2) |EUCDOM-;unitNormalizeIdealElt|)
- |#G16|)
- (EXIT
- (COND
- ((SPADCALL |a| (QREFELT |$| 23)) |s|)
- ((QUOTE T)
- (VECTOR
- (SPADCALL |a| (QVELT |s| 0) (QREFELT |$| 24))
- (SPADCALL |a| (QVELT |s| 1) (QREFELT |$| 24))
- |c|))))))))
+(DEFUN |EUCDOM-;quo;3S;2| (|x| |y| $)
+ (QCAR (SPADCALL |x| |y| (|getShellEntry| $ 13))))
-@
-\subsubsection{EUCDOM-;extendedEuclidean;2SR;7}
-<<EUCDOM-;extendedEuclidean;2SR;7>>=
-(DEFUN |EUCDOM-;extendedEuclidean;2SR;7| (|x| |y| |$|)
- (PROG (|s3| |s2| |qr| |s1|)
- (RETURN
- (SEQ
- (LETT |s1|
- (|EUCDOM-;unitNormalizeIdealElt|
- (VECTOR (|spadConstant| |$| 25) (|spadConstant| |$| 26) |x|) |$|)
- |EUCDOM-;extendedEuclidean;2SR;7|)
- (LETT |s2|
- (|EUCDOM-;unitNormalizeIdealElt|
- (VECTOR (|spadConstant| |$| 26) (|spadConstant| |$| 25) |y|) |$|)
- |EUCDOM-;extendedEuclidean;2SR;7|)
- (EXIT
- (COND
- ((SPADCALL |y| (QREFELT |$| 8)) |s1|)
- ((SPADCALL |x| (QREFELT |$| 8)) |s2|)
- ((QUOTE T)
- (SEQ
- (SEQ G190
- (COND
- ((NULL
- (COND
- ((SPADCALL (QVELT |s2| 2) (QREFELT |$| 8))
- (QUOTE NIL))
- ((QUOTE T) (QUOTE T))))
- (GO G191)))
- (SEQ
- (LETT |qr|
- (SPADCALL (QVELT |s1| 2) (QVELT |s2| 2) (QREFELT |$| 13))
- |EUCDOM-;extendedEuclidean;2SR;7|)
- (LETT |s3|
- (VECTOR
- (SPADCALL
- (QVELT |s1| 0)
- (SPADCALL
- (QCAR |qr|)
- (QVELT |s2| 0)
- (QREFELT |$| 24))
- (QREFELT |$| 27))
- (SPADCALL
- (QVELT |s1| 1)
- (SPADCALL
- (QCAR |qr|)
- (QVELT |s2| 1)
- (QREFELT |$| 24))
- (QREFELT |$| 27))
- (QCDR |qr|))
- |EUCDOM-;extendedEuclidean;2SR;7|)
- (LETT |s1| |s2| |EUCDOM-;extendedEuclidean;2SR;7|)
- (EXIT
- (LETT |s2|
- (|EUCDOM-;unitNormalizeIdealElt| |s3| |$|)
- |EUCDOM-;extendedEuclidean;2SR;7|)))
- NIL
- (GO G190)
- G191
- (EXIT NIL))
- (COND
- ((NULL (SPADCALL (QVELT |s1| 0) (QREFELT |$| 8)))
- (COND
- ((NULL (SPADCALL (QVELT |s1| 0) |y| (QREFELT |$| 28)))
- (SEQ
- (LETT |qr|
- (SPADCALL (QVELT |s1| 0) |y| (QREFELT |$| 13))
- |EUCDOM-;extendedEuclidean;2SR;7|)
- (QSETVELT |s1| 0 (QCDR |qr|))
- (QSETVELT |s1| 1
- (SPADCALL
- (QVELT |s1| 1)
- (SPADCALL (QCAR |qr|) |x| (QREFELT |$| 24))
- (QREFELT |$| 29)))
- (EXIT
- (LETT |s1|
- (|EUCDOM-;unitNormalizeIdealElt| |s1| |$|)
- |EUCDOM-;extendedEuclidean;2SR;7|)))))))
- (EXIT |s1|)))))))))
+(DEFUN |EUCDOM-;rem;3S;3| (|x| |y| $)
+ (QCDR (SPADCALL |x| |y| (|getShellEntry| $ 13))))
-@
-\subsubsection{EUCDOM-;extendedEuclidean;3SU;8}
-<<EUCDOM-;extendedEuclidean;3SU;8>>=
-(DEFUN |EUCDOM-;extendedEuclidean;3SU;8| (|x| |y| |z| |$|)
- (PROG (|s| |w| |qr|)
- (RETURN
- (SEQ
- (COND
- ((SPADCALL |z| (QREFELT |$| 8))
- (CONS 0 (CONS (|spadConstant| |$| 26) (|spadConstant| |$| 26))))
- ((QUOTE T)
- (SEQ
- (LETT |s|
- (SPADCALL |x| |y| (QREFELT |$| 32))
- |EUCDOM-;extendedEuclidean;3SU;8|)
- (LETT |w|
- (SPADCALL |z| (QVELT |s| 2) (QREFELT |$| 33))
- |EUCDOM-;extendedEuclidean;3SU;8|)
- (EXIT
- (COND
- ((QEQCAR |w| 1) (CONS 1 "failed"))
- ((SPADCALL |y| (QREFELT |$| 8))
- (CONS 0
- (CONS
- (SPADCALL (QVELT |s| 0) (QCDR |w|) (QREFELT |$| 24))
- (SPADCALL (QVELT |s| 1) (QCDR |w|) (QREFELT |$| 24)))))
- ((QUOTE T)
- (SEQ
- (LETT |qr|
- (SPADCALL
- (SPADCALL (QVELT |s| 0) (QCDR |w|) (QREFELT |$| 24))
- |y|
- (QREFELT |$| 13))
- |EUCDOM-;extendedEuclidean;3SU;8|)
- (EXIT
- (CONS
- 0
- (CONS
- (QCDR |qr|)
- (SPADCALL
- (SPADCALL
- (QVELT |s| 1)
- (QCDR |w|)
- (QREFELT |$| 24))
- (SPADCALL
- (QCAR |qr|)
- |x|
- (QREFELT |$| 24))
- (QREFELT |$| 29))))))))))))))))
+(DEFUN |EUCDOM-;exquo;2SU;4| (|x| |y| $)
+ (PROG (|qr|)
+ (RETURN
+ (SEQ (COND
+ ((SPADCALL |y| (|getShellEntry| $ 8)) (CONS 1 "failed"))
+ ('T
+ (SEQ (LETT |qr| (SPADCALL |x| |y| (|getShellEntry| $ 13))
+ |EUCDOM-;exquo;2SU;4|)
+ (EXIT (COND
+ ((SPADCALL (QCDR |qr|)
+ (|getShellEntry| $ 8))
+ (CONS 0 (QCAR |qr|)))
+ ('T (CONS 1 "failed")))))))))))
-@
-\subsubsection{EUCDOM-;principalIdeal;LR;9}
-<<EUCDOM-;principalIdeal;LR;9>>=
-(DEFUN |EUCDOM-;principalIdeal;LR;9| (|l| |$|)
- (PROG (|uca| |v| |u| #1=#:G83663 |vv| #2=#:G83664)
- (RETURN
- (SEQ
- (COND
- ((SPADCALL |l| NIL (QREFELT |$| 38))
- (|error| "empty list passed to principalIdeal"))
- ((SPADCALL (CDR |l|) NIL (QREFELT |$| 38))
- (SEQ
- (LETT |uca|
- (SPADCALL (|SPADfirst| |l|) (QREFELT |$| 22))
- |EUCDOM-;principalIdeal;LR;9|)
- (EXIT (CONS (LIST (QVELT |uca| 0)) (QVELT |uca| 1)))))
- ((SPADCALL (CDR (CDR |l|)) NIL (QREFELT |$| 38))
- (SEQ
- (LETT |u|
- (SPADCALL
- (|SPADfirst| |l|)
- (SPADCALL |l| (QREFELT |$| 39))
- (QREFELT |$| 32))
- |EUCDOM-;principalIdeal;LR;9|)
- (EXIT
- (CONS (LIST (QVELT |u| 0) (QVELT |u| 1)) (QVELT |u| 2)))))
- ((QUOTE T)
- (SEQ
- (LETT |v|
- (SPADCALL (CDR |l|) (QREFELT |$| 42))
- |EUCDOM-;principalIdeal;LR;9|)
- (LETT |u|
- (SPADCALL (|SPADfirst| |l|) (QCDR |v|) (QREFELT |$| 32))
- |EUCDOM-;principalIdeal;LR;9|)
- (EXIT
- (CONS
- (CONS
- (QVELT |u| 0)
- (PROGN
- (LETT #1# NIL |EUCDOM-;principalIdeal;LR;9|)
- (SEQ
- (LETT |vv| NIL |EUCDOM-;principalIdeal;LR;9|)
- (LETT #2# (QCAR |v|) |EUCDOM-;principalIdeal;LR;9|)
- G190
- (COND
- ((OR
- (ATOM #2#)
- (PROGN
- (LETT |vv|
- (CAR #2#)
- |EUCDOM-;principalIdeal;LR;9|)
- NIL))
- (GO G191)))
- (SEQ
- (EXIT
- (LETT #1#
- (CONS
- (SPADCALL
- (QVELT |u| 1)
- |vv|
- (QREFELT |$| 24))
- #1#)
- |EUCDOM-;principalIdeal;LR;9|)))
- (LETT #2# (CDR #2#) |EUCDOM-;principalIdeal;LR;9|)
- (GO G190)
- G191
- (EXIT (NREVERSE0 #1#)))))
- (QVELT |u| 2))))))))))
-@
-\subsubsection{EUCDOM-;expressIdealMember;LSU;10}
-<<EUCDOM-;expressIdealMember;LSU;10>>=
-(DEFUN |EUCDOM-;expressIdealMember;LSU;10| (|l| |z| |$|)
- (PROG (#1=#:G83681 #2=#:G83682 |pid| |q| #3=#:G83679 |v| #4=#:G83680)
- (RETURN
- (SEQ
- (COND
- ((SPADCALL |z| (|spadConstant| |$| 26) (QREFELT |$| 44))
- (CONS
- 0
- (PROGN
- (LETT #1# NIL |EUCDOM-;expressIdealMember;LSU;10|)
- (SEQ
- (LETT |v| NIL |EUCDOM-;expressIdealMember;LSU;10|)
- (LETT #2# |l| |EUCDOM-;expressIdealMember;LSU;10|)
- G190
- (COND
- ((OR
- (ATOM #2#)
- (PROGN
- (LETT |v|
- (CAR #2#)
- |EUCDOM-;expressIdealMember;LSU;10|)
- NIL))
- (GO G191)))
- (SEQ
- (EXIT
- (LETT #1#
- (CONS (|spadConstant| |$| 26) #1#)
- |EUCDOM-;expressIdealMember;LSU;10|)))
- (LETT #2# (CDR #2#) |EUCDOM-;expressIdealMember;LSU;10|)
- (GO G190)
- G191
- (EXIT (NREVERSE0 #1#))))))
- ((QUOTE T)
- (SEQ
- (LETT |pid|
- (SPADCALL |l| (QREFELT |$| 42))
- |EUCDOM-;expressIdealMember;LSU;10|)
- (LETT |q|
- (SPADCALL |z| (QCDR |pid|) (QREFELT |$| 33))
- |EUCDOM-;expressIdealMember;LSU;10|)
- (EXIT
- (COND
- ((QEQCAR |q| 1) (CONS 1 "failed"))
- ((QUOTE T)
- (CONS
- 0
- (PROGN
- (LETT #3# NIL |EUCDOM-;expressIdealMember;LSU;10|)
- (SEQ
- (LETT |v| NIL |EUCDOM-;expressIdealMember;LSU;10|)
- (LETT #4# (QCAR |pid|) |EUCDOM-;expressIdealMember;LSU;10|)
- G190
- (COND
- ((OR
- (ATOM #4#)
- (PROGN
- (LETT |v|
- (CAR #4#)
- |EUCDOM-;expressIdealMember;LSU;10|)
- NIL))
- (GO G191)))
- (SEQ
- (EXIT
- (LETT #3#
- (CONS
- (SPADCALL (QCDR |q|) |v| (QREFELT |$| 24))
- #3#)
- |EUCDOM-;expressIdealMember;LSU;10|)))
- (LETT #4#
- (CDR #4#)
+(DEFUN |EUCDOM-;gcd;3S;5| (|x| |y| $)
+ (PROG (|#G13| |#G14|)
+ (RETURN
+ (SEQ (LETT |x| (SPADCALL |x| (|getShellEntry| $ 18))
+ |EUCDOM-;gcd;3S;5|)
+ (LETT |y| (SPADCALL |y| (|getShellEntry| $ 18))
+ |EUCDOM-;gcd;3S;5|)
+ (SEQ G190
+ (COND
+ ((NULL (SPADCALL (SPADCALL |y| (|getShellEntry| $ 8))
+ (|getShellEntry| $ 19)))
+ (GO G191)))
+ (SEQ (PROGN
+ (LETT |#G13| |y| |EUCDOM-;gcd;3S;5|)
+ (LETT |#G14|
+ (SPADCALL |x| |y| (|getShellEntry| $ 20))
+ |EUCDOM-;gcd;3S;5|)
+ (LETT |x| |#G13| |EUCDOM-;gcd;3S;5|)
+ (LETT |y| |#G14| |EUCDOM-;gcd;3S;5|))
+ (EXIT (LETT |y|
+ (SPADCALL |y| (|getShellEntry| $ 18))
+ |EUCDOM-;gcd;3S;5|)))
+ NIL (GO G190) G191 (EXIT NIL))
+ (EXIT |x|)))))
+
+(DEFUN |EUCDOM-;unitNormalizeIdealElt| (|s| $)
+ (PROG (|#G16| |u| |c| |a|)
+ (RETURN
+ (SEQ (PROGN
+ (LETT |#G16|
+ (SPADCALL (QVELT |s| 2) (|getShellEntry| $ 23))
+ |EUCDOM-;unitNormalizeIdealElt|)
+ (LETT |u| (QVELT |#G16| 0)
+ |EUCDOM-;unitNormalizeIdealElt|)
+ (LETT |c| (QVELT |#G16| 1)
+ |EUCDOM-;unitNormalizeIdealElt|)
+ (LETT |a| (QVELT |#G16| 2)
+ |EUCDOM-;unitNormalizeIdealElt|)
+ |#G16|)
+ (EXIT (COND
+ ((SPADCALL |a| (|spadConstant| $ 24)
+ (|getShellEntry| $ 25))
+ |s|)
+ ('T
+ (VECTOR (SPADCALL |a| (QVELT |s| 0)
+ (|getShellEntry| $ 26))
+ (SPADCALL |a| (QVELT |s| 1)
+ (|getShellEntry| $ 26))
+ |c|))))))))
+
+(DEFUN |EUCDOM-;extendedEuclidean;2SR;7| (|x| |y| $)
+ (PROG (|s3| |s2| |qr| |s1|)
+ (RETURN
+ (SEQ (LETT |s1|
+ (|EUCDOM-;unitNormalizeIdealElt|
+ (VECTOR (|spadConstant| $ 24)
+ (|spadConstant| $ 27) |x|)
+ $)
+ |EUCDOM-;extendedEuclidean;2SR;7|)
+ (LETT |s2|
+ (|EUCDOM-;unitNormalizeIdealElt|
+ (VECTOR (|spadConstant| $ 27)
+ (|spadConstant| $ 24) |y|)
+ $)
+ |EUCDOM-;extendedEuclidean;2SR;7|)
+ (EXIT (COND
+ ((SPADCALL |y| (|getShellEntry| $ 8)) |s1|)
+ ((SPADCALL |x| (|getShellEntry| $ 8)) |s2|)
+ ('T
+ (SEQ (SEQ G190
+ (COND
+ ((NULL (SPADCALL
+ (SPADCALL (QVELT |s2| 2)
+ (|getShellEntry| $ 8))
+ (|getShellEntry| $ 19)))
+ (GO G191)))
+ (SEQ (LETT |qr|
+ (SPADCALL (QVELT |s1| 2)
+ (QVELT |s2| 2)
+ (|getShellEntry| $ 13))
+ |EUCDOM-;extendedEuclidean;2SR;7|)
+ (LETT |s3|
+ (VECTOR
+ (SPADCALL (QVELT |s1| 0)
+ (SPADCALL (QCAR |qr|)
+ (QVELT |s2| 0)
+ (|getShellEntry| $ 26))
+ (|getShellEntry| $ 28))
+ (SPADCALL (QVELT |s1| 1)
+ (SPADCALL (QCAR |qr|)
+ (QVELT |s2| 1)
+ (|getShellEntry| $ 26))
+ (|getShellEntry| $ 28))
+ (QCDR |qr|))
+ |EUCDOM-;extendedEuclidean;2SR;7|)
+ (LETT |s1| |s2|
+ |EUCDOM-;extendedEuclidean;2SR;7|)
+ (EXIT
+ (LETT |s2|
+ (|EUCDOM-;unitNormalizeIdealElt|
+ |s3| $)
+ |EUCDOM-;extendedEuclidean;2SR;7|)))
+ NIL (GO G190) G191 (EXIT NIL))
+ (COND
+ ((NULL (SPADCALL (QVELT |s1| 0)
+ (|getShellEntry| $ 8)))
+ (COND
+ ((NULL (SPADCALL (QVELT |s1| 0) |y|
+ (|getShellEntry| $ 29)))
+ (SEQ (LETT |qr|
+ (SPADCALL (QVELT |s1| 0) |y|
+ (|getShellEntry| $ 13))
+ |EUCDOM-;extendedEuclidean;2SR;7|)
+ (QSETVELT |s1| 0 (QCDR |qr|))
+ (QSETVELT |s1| 1
+ (SPADCALL (QVELT |s1| 1)
+ (SPADCALL (QCAR |qr|) |x|
+ (|getShellEntry| $ 26))
+ (|getShellEntry| $ 30)))
+ (EXIT
+ (LETT |s1|
+ (|EUCDOM-;unitNormalizeIdealElt|
+ |s1| $)
+ |EUCDOM-;extendedEuclidean;2SR;7|)))))))
+ (EXIT |s1|)))))))))
+
+(DEFUN |EUCDOM-;extendedEuclidean;3SU;8| (|x| |y| |z| $)
+ (PROG (|s| |w| |qr|)
+ (RETURN
+ (SEQ (COND
+ ((SPADCALL |z| (|getShellEntry| $ 8))
+ (CONS 0
+ (CONS (|spadConstant| $ 27) (|spadConstant| $ 27))))
+ ('T
+ (SEQ (LETT |s| (SPADCALL |x| |y| (|getShellEntry| $ 33))
+ |EUCDOM-;extendedEuclidean;3SU;8|)
+ (LETT |w|
+ (SPADCALL |z| (QVELT |s| 2)
+ (|getShellEntry| $ 34))
+ |EUCDOM-;extendedEuclidean;3SU;8|)
+ (EXIT (COND
+ ((QEQCAR |w| 1) (CONS 1 "failed"))
+ ((SPADCALL |y| (|getShellEntry| $ 8))
+ (CONS 0
+ (CONS (SPADCALL (QVELT |s| 0)
+ (QCDR |w|)
+ (|getShellEntry| $ 26))
+ (SPADCALL (QVELT |s| 1)
+ (QCDR |w|)
+ (|getShellEntry| $ 26)))))
+ ('T
+ (SEQ (LETT |qr|
+ (SPADCALL
+ (SPADCALL (QVELT |s| 0)
+ (QCDR |w|)
+ (|getShellEntry| $ 26))
+ |y| (|getShellEntry| $ 13))
+ |EUCDOM-;extendedEuclidean;3SU;8|)
+ (EXIT (CONS 0
+ (CONS (QCDR |qr|)
+ (SPADCALL
+ (SPADCALL (QVELT |s| 1)
+ (QCDR |w|)
+ (|getShellEntry| $ 26))
+ (SPADCALL (QCAR |qr|) |x|
+ (|getShellEntry| $ 26))
+ (|getShellEntry| $ 30))))))))))))))))
+
+(DEFUN |EUCDOM-;principalIdeal;LR;9| (|l| $)
+ (PROG (|uca| |v| |u| #0=#:G1478 |vv| #1=#:G1479)
+ (RETURN
+ (SEQ (COND
+ ((SPADCALL |l| NIL (|getShellEntry| $ 39))
+ (|error| "empty list passed to principalIdeal"))
+ ((SPADCALL (CDR |l|) NIL (|getShellEntry| $ 39))
+ (SEQ (LETT |uca|
+ (SPADCALL (|SPADfirst| |l|)
+ (|getShellEntry| $ 23))
+ |EUCDOM-;principalIdeal;LR;9|)
+ (EXIT (CONS (LIST (QVELT |uca| 0)) (QVELT |uca| 1)))))
+ ((SPADCALL (CDR (CDR |l|)) NIL (|getShellEntry| $ 39))
+ (SEQ (LETT |u|
+ (SPADCALL (|SPADfirst| |l|)
+ (SPADCALL |l| (|getShellEntry| $ 40))
+ (|getShellEntry| $ 33))
+ |EUCDOM-;principalIdeal;LR;9|)
+ (EXIT (CONS (LIST (QVELT |u| 0) (QVELT |u| 1))
+ (QVELT |u| 2)))))
+ ('T
+ (SEQ (LETT |v|
+ (SPADCALL (CDR |l|) (|getShellEntry| $ 43))
+ |EUCDOM-;principalIdeal;LR;9|)
+ (LETT |u|
+ (SPADCALL (|SPADfirst| |l|) (QCDR |v|)
+ (|getShellEntry| $ 33))
+ |EUCDOM-;principalIdeal;LR;9|)
+ (EXIT (CONS (CONS (QVELT |u| 0)
+ (PROGN
+ (LETT #0# NIL
+ |EUCDOM-;principalIdeal;LR;9|)
+ (SEQ
+ (LETT |vv| NIL
+ |EUCDOM-;principalIdeal;LR;9|)
+ (LETT #1# (QCAR |v|)
+ |EUCDOM-;principalIdeal;LR;9|)
+ G190
+ (COND
+ ((OR (ATOM #1#)
+ (PROGN
+ (LETT |vv| (CAR #1#)
+ |EUCDOM-;principalIdeal;LR;9|)
+ NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT #0#
+ (CONS
+ (SPADCALL (QVELT |u| 1)
+ |vv|
+ (|getShellEntry| $ 26))
+ #0#)
+ |EUCDOM-;principalIdeal;LR;9|)))
+ (LETT #1# (CDR #1#)
+ |EUCDOM-;principalIdeal;LR;9|)
+ (GO G190) G191
+ (EXIT (NREVERSE0 #0#)))))
+ (QVELT |u| 2))))))))))
+
+(DEFUN |EUCDOM-;expressIdealMember;LSU;10| (|l| |z| $)
+ (PROG (#0=#:G1494 #1=#:G1495 |pid| |q| #2=#:G1496 |v| #3=#:G1497)
+ (RETURN
+ (SEQ (COND
+ ((SPADCALL |z| (|spadConstant| $ 27)
+ (|getShellEntry| $ 25))
+ (CONS 0
+ (PROGN
+ (LETT #0# NIL
|EUCDOM-;expressIdealMember;LSU;10|)
- (GO G190)
- G191
- (EXIT (NREVERSE0 #3#)))))))))))))))
-
-@
-\subsubsection{EUCDOM-;multiEuclidean;LSU;11}
-<<EUCDOM-;multiEuclidean;LSU;11>>=
-(DEFUN |EUCDOM-;multiEuclidean;LSU;11| (|l| |z| |$|)
- (PROG (|n| |l1| |l2| #1=#:G83565 #2=#:G83702 #3=#:G83688 #4=#:G83686
- #5=#:G83687 #6=#:G83566 #7=#:G83701 #8=#:G83691 #9=#:G83689
- #10=#:G83690 |u| |v1| |v2|)
- (RETURN
- (SEQ
- (LETT |n| (LENGTH |l|) |EUCDOM-;multiEuclidean;LSU;11|)
- (EXIT
- (COND
- ((ZEROP |n|) (|error| "empty list passed to multiEuclidean"))
- ((EQL |n| 1) (CONS 0 (LIST |z|)))
- ((QUOTE T)
- (SEQ
- (LETT |l1|
- (SPADCALL |l| (QREFELT |$| 47))
- |EUCDOM-;multiEuclidean;LSU;11|)
- (LETT |l2|
- (SPADCALL |l1| (QUOTIENT2 |n| 2) (QREFELT |$| 49))
- |EUCDOM-;multiEuclidean;LSU;11|)
- (LETT |u|
- (SPADCALL
- (PROGN
- (LETT #5# NIL |EUCDOM-;multiEuclidean;LSU;11|)
- (SEQ
- (LETT #1# NIL |EUCDOM-;multiEuclidean;LSU;11|)
- (LETT #2# |l1| |EUCDOM-;multiEuclidean;LSU;11|)
- G190
- (COND
- ((OR
- (ATOM #2#)
- (PROGN
- (LETT #1#
- (CAR #2#)
- |EUCDOM-;multiEuclidean;LSU;11|)
- NIL))
- (GO G191)))
- (SEQ
- (EXIT
- (PROGN
- (LETT #3# #1# |EUCDOM-;multiEuclidean;LSU;11|)
- (COND
- (#5#
- (LETT #4#
- (SPADCALL #4# #3# (QREFELT |$| 24))
- |EUCDOM-;multiEuclidean;LSU;11|))
- ((QUOTE T)
- (PROGN
- (LETT #4#
- #3#
- |EUCDOM-;multiEuclidean;LSU;11|)
- (LETT #5#
- (QUOTE T)
- |EUCDOM-;multiEuclidean;LSU;11|)))))))
- (LETT #2# (CDR #2#) |EUCDOM-;multiEuclidean;LSU;11|)
- (GO G190)
- G191
- (EXIT NIL))
- (COND (#5# #4#) ((QUOTE T) (|spadConstant| |$| 25))))
- (PROGN
- (LETT #10# NIL |EUCDOM-;multiEuclidean;LSU;11|)
- (SEQ
- (LETT #6# NIL |EUCDOM-;multiEuclidean;LSU;11|)
- (LETT #7# |l2| |EUCDOM-;multiEuclidean;LSU;11|)
- G190
- (COND
- ((OR
- (ATOM #7#)
- (PROGN
- (LETT #6#
- (CAR #7#)
- |EUCDOM-;multiEuclidean;LSU;11|)
- NIL))
- (GO G191)))
- (SEQ
- (EXIT
- (PROGN
- (LETT #8# #6# |EUCDOM-;multiEuclidean;LSU;11|)
- (COND
- (#10#
- (LETT #9#
- (SPADCALL #9# #8# (QREFELT |$| 24))
- |EUCDOM-;multiEuclidean;LSU;11|))
- ((QUOTE T)
- (PROGN
- (LETT #9#
- #8#
+ (SEQ (LETT |v| NIL
+ |EUCDOM-;expressIdealMember;LSU;10|)
+ (LETT #1# |l|
+ |EUCDOM-;expressIdealMember;LSU;10|)
+ G190
+ (COND
+ ((OR (ATOM #1#)
+ (PROGN
+ (LETT |v| (CAR #1#)
+ |EUCDOM-;expressIdealMember;LSU;10|)
+ NIL))
+ (GO G191)))
+ (SEQ (EXIT (LETT #0#
+ (CONS (|spadConstant| $ 27) #0#)
+ |EUCDOM-;expressIdealMember;LSU;10|)))
+ (LETT #1# (CDR #1#)
+ |EUCDOM-;expressIdealMember;LSU;10|)
+ (GO G190) G191 (EXIT (NREVERSE0 #0#))))))
+ ('T
+ (SEQ (LETT |pid| (SPADCALL |l| (|getShellEntry| $ 43))
+ |EUCDOM-;expressIdealMember;LSU;10|)
+ (LETT |q|
+ (SPADCALL |z| (QCDR |pid|)
+ (|getShellEntry| $ 34))
+ |EUCDOM-;expressIdealMember;LSU;10|)
+ (EXIT (COND
+ ((QEQCAR |q| 1) (CONS 1 "failed"))
+ ('T
+ (CONS 0
+ (PROGN
+ (LETT #2# NIL
+ |EUCDOM-;expressIdealMember;LSU;10|)
+ (SEQ
+ (LETT |v| NIL
+ |EUCDOM-;expressIdealMember;LSU;10|)
+ (LETT #3# (QCAR |pid|)
+ |EUCDOM-;expressIdealMember;LSU;10|)
+ G190
+ (COND
+ ((OR (ATOM #3#)
+ (PROGN
+ (LETT |v| (CAR #3#)
+ |EUCDOM-;expressIdealMember;LSU;10|)
+ NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (LETT #2#
+ (CONS
+ (SPADCALL (QCDR |q|) |v|
+ (|getShellEntry| $ 26))
+ #2#)
+ |EUCDOM-;expressIdealMember;LSU;10|)))
+ (LETT #3# (CDR #3#)
+ |EUCDOM-;expressIdealMember;LSU;10|)
+ (GO G190) G191
+ (EXIT (NREVERSE0 #2#)))))))))))))))
+
+(DEFUN |EUCDOM-;multiEuclidean;LSU;11| (|l| |z| $)
+ (PROG (|n| |l1| |l2| #0=#:G1392 #1=#:G1516 #2=#:G1503 #3=#:G1501
+ #4=#:G1502 #5=#:G1393 #6=#:G1517 #7=#:G1506 #8=#:G1504
+ #9=#:G1505 |u| |v1| |v2|)
+ (RETURN
+ (SEQ (LETT |n| (LENGTH |l|) |EUCDOM-;multiEuclidean;LSU;11|)
+ (EXIT (COND
+ ((ZEROP |n|)
+ (|error| "empty list passed to multiEuclidean"))
+ ((EQL |n| 1) (CONS 0 (LIST |z|)))
+ ('T
+ (SEQ (LETT |l1|
+ (SPADCALL |l| (|getShellEntry| $ 47))
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (LETT |l2|
+ (SPADCALL |l1| (QUOTIENT2 |n| 2)
+ (|getShellEntry| $ 49))
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (LETT |u|
+ (SPADCALL
+ (PROGN
+ (LETT #4# NIL
|EUCDOM-;multiEuclidean;LSU;11|)
- (LETT #10#
- (QUOTE T)
- |EUCDOM-;multiEuclidean;LSU;11|)))))))
- (LETT #7# (CDR #7#) |EUCDOM-;multiEuclidean;LSU;11|)
- (GO G190)
- G191
- (EXIT NIL))
- (COND
- (#10# #9#)
- ((QUOTE T) (|spadConstant| |$| 25))))
- |z|
- (QREFELT |$| 50))
- |EUCDOM-;multiEuclidean;LSU;11|)
- (EXIT
- (COND
- ((QEQCAR |u| 1) (CONS 1 "failed"))
- ((QUOTE T)
- (SEQ
- (LETT |v1|
- (SPADCALL |l1| (QCDR (QCDR |u|)) (QREFELT |$| 51))
- |EUCDOM-;multiEuclidean;LSU;11|)
- (EXIT
- (COND
- ((QEQCAR |v1| 1) (CONS 1 "failed"))
- ((QUOTE T)
- (SEQ
- (LETT |v2|
- (SPADCALL
- |l2|
- (QCAR (QCDR |u|))
- (QREFELT |$| 51))
- |EUCDOM-;multiEuclidean;LSU;11|)
- (EXIT
- (COND
- ((QEQCAR |v2| 1) (CONS 1 "failed"))
- ((QUOTE T)
- (CONS
- 0
- (SPADCALL
- (QCDR |v1|)
- (QCDR |v2|)
- (QREFELT |$| 52))))))))))))))))))))))
-
-@
-\subsubsection{EuclideanDomain\&}
-<<EuclideanDomainAmp>>=
-(DEFUN |EuclideanDomain&| (|#1|)
- (PROG (|DV$1| |dv$| |$| |pv$|)
- (RETURN
- (PROGN
- (LETT |DV$1| (|devaluate| |#1|) . #1=(|EuclideanDomain&|))
- (LETT |dv$| (LIST (QUOTE |EuclideanDomain&|) |DV$1|) . #1#)
- (LETT |$| (GETREFV 54) . #1#)
- (QSETREFV |$| 0 |dv$|)
- (QSETREFV |$| 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #1#))
- (|stuffDomainSlots| |$|)
- (QSETREFV |$| 6 |#1|)
- |$|))))
+ (SEQ
+ (LETT #0# NIL
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (LETT #1# |l1|
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ G190
+ (COND
+ ((OR (ATOM #1#)
+ (PROGN
+ (LETT #0# (CAR #1#)
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (PROGN
+ (LETT #2# #0#
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (COND
+ (#4#
+ (LETT #3#
+ (SPADCALL #3# #2#
+ (|getShellEntry| $ 26))
+ |EUCDOM-;multiEuclidean;LSU;11|))
+ ('T
+ (PROGN
+ (LETT #3# #2#
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (LETT #4# 'T
+ |EUCDOM-;multiEuclidean;LSU;11|)))))))
+ (LETT #1# (CDR #1#)
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (GO G190) G191 (EXIT NIL))
+ (COND
+ (#4# #3#)
+ ('T (|spadConstant| $ 24))))
+ (PROGN
+ (LETT #9# NIL
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (SEQ
+ (LETT #5# NIL
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (LETT #6# |l2|
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ G190
+ (COND
+ ((OR (ATOM #6#)
+ (PROGN
+ (LETT #5# (CAR #6#)
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (PROGN
+ (LETT #7# #5#
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (COND
+ (#9#
+ (LETT #8#
+ (SPADCALL #8# #7#
+ (|getShellEntry| $ 26))
+ |EUCDOM-;multiEuclidean;LSU;11|))
+ ('T
+ (PROGN
+ (LETT #8# #7#
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (LETT #9# 'T
+ |EUCDOM-;multiEuclidean;LSU;11|)))))))
+ (LETT #6# (CDR #6#)
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (GO G190) G191 (EXIT NIL))
+ (COND
+ (#9# #8#)
+ ('T (|spadConstant| $ 24))))
+ |z| (|getShellEntry| $ 50))
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (EXIT (COND
+ ((QEQCAR |u| 1) (CONS 1 "failed"))
+ ('T
+ (SEQ (LETT |v1|
+ (SPADCALL |l1|
+ (QCDR (QCDR |u|))
+ (|getShellEntry| $ 51))
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (EXIT
+ (COND
+ ((QEQCAR |v1| 1)
+ (CONS 1 "failed"))
+ ('T
+ (SEQ
+ (LETT |v2|
+ (SPADCALL |l2|
+ (QCAR (QCDR |u|))
+ (|getShellEntry| $ 51))
+ |EUCDOM-;multiEuclidean;LSU;11|)
+ (EXIT
+ (COND
+ ((QEQCAR |v2| 1)
+ (CONS 1 "failed"))
+ ('T
+ (CONS 0
+ (SPADCALL (QCDR |v1|)
+ (QCDR |v2|)
+ (|getShellEntry| $
+ 52))))))))))))))))))))))
+
+(DEFUN |EuclideanDomain&| (|#1|)
+ (PROG (|dv$1| |dv$| $ |pv$|)
+ (RETURN
+ (PROGN
+ (LETT |dv$1| (|devaluate| |#1|) . #0=(|EuclideanDomain&|))
+ (LETT |dv$| (LIST '|EuclideanDomain&| |dv$1|) . #0#)
+ (LETT $ (|newShell| 54) . #0#)
+ (|setShellEntry| $ 0 |dv$|)
+ (|setShellEntry| $ 3
+ (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
+ (|stuffDomainSlots| $)
+ (|setShellEntry| $ 6 |#1|)
+ $))))
+(MAKEPROP '|EuclideanDomain&| '|infovec|
+ (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|Boolean|)
+ (0 . |zero?|) (|NonNegativeInteger|) (5 . |euclideanSize|)
+ |EUCDOM-;sizeLess?;2SB;1|
+ (|Record| (|:| |quotient| $) (|:| |remainder| $))
+ (10 . |divide|) |EUCDOM-;quo;3S;2| |EUCDOM-;rem;3S;3|
+ (|Union| $ '"failed") |EUCDOM-;exquo;2SU;4|
+ (16 . |unitCanonical|) (21 . |not|) (26 . |rem|)
+ |EUCDOM-;gcd;3S;5|
+ (|Record| (|:| |unit| $) (|:| |canonical| $)
+ (|:| |associate| $))
+ (32 . |unitNormal|) (37 . |One|) (41 . =) (47 . *)
+ (53 . |Zero|) (57 . -) (63 . |sizeLess?|) (69 . +)
+ (|Record| (|:| |coef1| $) (|:| |coef2| $)
+ (|:| |generator| $))
+ |EUCDOM-;extendedEuclidean;2SR;7|
+ (75 . |extendedEuclidean|) (81 . |exquo|)
+ (|Record| (|:| |coef1| $) (|:| |coef2| $))
+ (|Union| 35 '"failed") |EUCDOM-;extendedEuclidean;3SU;8|
+ (|List| 6) (87 . =) (93 . |second|) (|List| $)
+ (|Record| (|:| |coef| 41) (|:| |generator| $))
+ (98 . |principalIdeal|) |EUCDOM-;principalIdeal;LR;9|
+ (|Union| 41 '"failed") |EUCDOM-;expressIdealMember;LSU;10|
+ (103 . |copy|) (|Integer|) (108 . |split!|)
+ (114 . |extendedEuclidean|) (121 . |multiEuclidean|)
+ (127 . |concat|) |EUCDOM-;multiEuclidean;LSU;11|)
+ '#(|sizeLess?| 133 |rem| 139 |quo| 145 |principalIdeal| 151
+ |multiEuclidean| 156 |gcd| 162 |extendedEuclidean| 168
+ |exquo| 181 |expressIdealMember| 187)
+ 'NIL
+ (CONS (|makeByteWordVec2| 1 'NIL)
+ (CONS '#()
+ (CONS '#()
+ (|makeByteWordVec2| 53
+ '(1 6 7 0 8 1 6 9 0 10 2 6 12 0 0 13 1
+ 6 0 0 18 1 7 0 0 19 2 6 0 0 0 20 1 6
+ 22 0 23 0 6 0 24 2 6 7 0 0 25 2 6 0 0
+ 0 26 0 6 0 27 2 6 0 0 0 28 2 6 7 0 0
+ 29 2 6 0 0 0 30 2 6 31 0 0 33 2 6 16
+ 0 0 34 2 38 7 0 0 39 1 38 6 0 40 1 6
+ 42 41 43 1 38 0 0 47 2 38 0 0 48 49 3
+ 6 36 0 0 0 50 2 6 45 41 0 51 2 38 0 0
+ 0 52 2 0 7 0 0 11 2 0 0 0 0 15 2 0 0
+ 0 0 14 1 0 42 41 44 2 0 45 41 0 53 2
+ 0 0 0 0 21 3 0 36 0 0 0 37 2 0 31 0 0
+ 32 2 0 16 0 0 17 2 0 45 41 0 46)))))
+ '|lookupComplete|))
@
-\subsubsection{EUCDOM-;MAKEPROP}
-<<EUCDOM-;MAKEPROP>>=
-(MAKEPROP
- (QUOTE |EuclideanDomain&|)
- (QUOTE |infovec|)
- (LIST
- (QUOTE
- #(NIL NIL NIL NIL NIL NIL
- (|local| |#1|)
- (|Boolean|)
- (0 . |zero?|)
- (|NonNegativeInteger|)
- (5 . |euclideanSize|)
- |EUCDOM-;sizeLess?;2SB;1|
- (|Record| (|:| |quotient| |$|) (|:| |remainder| |$|))
- (10 . |divide|)
- |EUCDOM-;quo;3S;2|
- |EUCDOM-;rem;3S;3|
- (|Union| |$| (QUOTE "failed"))
- |EUCDOM-;exquo;2SU;4|
- (16 . |unitCanonical|)
- (21 . |rem|)
- |EUCDOM-;gcd;3S;5|
- (|Record| (|:| |unit| |$|) (|:| |canonical| |$|) (|:| |associate| |$|))
- (27 . |unitNormal|)
- (32 . |one?|)
- (37 . |*|)
- (43 . |One|)
- (47 . |Zero|)
- (51 . |-|)
- (57 . |sizeLess?|)
- (63 . |+|)
- (|Record| (|:| |coef1| |$|) (|:| |coef2| |$|) (|:| |generator| |$|))
- |EUCDOM-;extendedEuclidean;2SR;7|
- (69 . |extendedEuclidean|)
- (75 . |exquo|)
- (|Record| (|:| |coef1| |$|) (|:| |coef2| |$|))
- (|Union| 34 (QUOTE "failed"))
- |EUCDOM-;extendedEuclidean;3SU;8|
- (|List| 6)
- (81 . |=|)
- (87 . |second|)
- (|Record| (|:| |coef| 41) (|:| |generator| |$|))
- (|List| |$|)
- (92 . |principalIdeal|)
- |EUCDOM-;principalIdeal;LR;9|
- (97 . |=|)
- (|Union| 41 (QUOTE "failed"))
- |EUCDOM-;expressIdealMember;LSU;10|
- (103 . |copy|)
- (|Integer|)
- (108 . |split!|)
- (114 . |extendedEuclidean|)
- (121 . |multiEuclidean|)
- (127 . |concat|)
- |EUCDOM-;multiEuclidean;LSU;11|))
- (QUOTE
- #(|sizeLess?| 133 |rem| 139 |quo| 145 |principalIdeal| 151
- |multiEuclidean| 156 |gcd| 162 |extendedEuclidean| 168 |exquo| 181
- |expressIdealMember| 187))
- (QUOTE NIL)
- (CONS
- (|makeByteWordVec2| 1 (QUOTE NIL))
- (CONS
- (QUOTE #())
- (CONS
- (QUOTE #())
- (|makeByteWordVec2| 53
- (QUOTE
- (1 6 7 0 8 1 6 9 0 10 2 6 12 0 0 13 1 6 0 0 18 2 6 0 0 0 19 1 6
- 21 0 22 1 6 7 0 23 2 6 0 0 0 24 0 6 0 25 0 6 0 26 2 6 0 0 0 27
- 2 6 7 0 0 28 2 6 0 0 0 29 2 6 30 0 0 32 2 6 16 0 0 33 2 37 7 0
- 0 38 1 37 6 0 39 1 6 40 41 42 2 6 7 0 0 44 1 37 0 0 47 2 37 0 0
- 48 49 3 6 35 0 0 0 50 2 6 45 41 0 51 2 37 0 0 0 52 2 0 7 0 0 11
- 2 0 0 0 0 15 2 0 0 0 0 14 1 0 40 41 43 2 0 45 41 0 53 2 0 0 0 0
- 20 3 0 35 0 0 0 36 2 0 30 0 0 31 2 0 16 0 0 17 2 0 45 41 0
- 46))))))
- (QUOTE |lookupComplete|)))
-@
-<<EUCDOM-.lsp BOOTSTRAP>>=
-<<EUCDOM-;VersionCheck>>
-<<EUCDOM-;sizeLess?;2SB;1>>
-<<EUCDOM-;quo;3S;2>>
-<<EUCDOM-;rem;3S;3>>
-<<EUCDOM-;exquo;2SU;4>>
-<<EUCDOM-;gcd;3S;5>>
-<<EUCDOM-;unitNormalizeIdealElt>>
-<<EUCDOM-;extendedEuclidean;2SR;7>>
-<<EUCDOM-;extendedEuclidean;3SU;8>>
-<<EUCDOM-;principalIdeal;LR;9>>
-<<EUCDOM-;expressIdealMember;LSU;10>>
-<<EUCDOM-;multiEuclidean;LSU;11>>
-<<EuclideanDomainAmp>>
-<<EUCDOM-;MAKEPROP>>
-@
\section{category FIELD Field}
+
<<category FIELD Field>>=
)abbrev category FIELD Field
++ Author:
@@ -4003,17 +3897,17 @@ Note that this code is not included in the generated catdef.spad file.
(/VERSIONCHECK 2)
(DEFUN |UFD-;squareFreePart;2S;1| (|x| $)
- (PROG (|s| |f| #0=#:G1396 #1=#:G1394 #2=#:G1392 #3=#:G1393)
+ (PROG (|s| |f| #0=#:G1403 #1=#:G1401 #2=#:G1399 #3=#:G1400)
(RETURN
(SEQ (SPADCALL
(SPADCALL
- (LETT |s| (SPADCALL |x| (QREFELT $ 8))
+ (LETT |s| (SPADCALL |x| (|getShellEntry| $ 8))
|UFD-;squareFreePart;2S;1|)
- (QREFELT $ 10))
+ (|getShellEntry| $ 10))
(PROGN
(LETT #3# NIL |UFD-;squareFreePart;2S;1|)
(SEQ (LETT |f| NIL |UFD-;squareFreePart;2S;1|)
- (LETT #0# (SPADCALL |s| (QREFELT $ 13))
+ (LETT #0# (SPADCALL |s| (|getShellEntry| $ 14))
|UFD-;squareFreePart;2S;1|)
G190
(COND
@@ -4030,7 +3924,7 @@ Note that this code is not included in the generated catdef.spad file.
(#3#
(LETT #2#
(SPADCALL #2# #1#
- (QREFELT $ 14))
+ (|getShellEntry| $ 15))
|UFD-;squareFreePart;2S;1|))
('T
(PROGN
@@ -4040,11 +3934,12 @@ Note that this code is not included in the generated catdef.spad file.
|UFD-;squareFreePart;2S;1|)))))))
(LETT #0# (CDR #0#) |UFD-;squareFreePart;2S;1|)
(GO G190) G191 (EXIT NIL))
- (COND (#3# #2#) ('T (|spadConstant| $ 15))))
- (QREFELT $ 14))))))
+ (COND (#3# #2#) ('T (|spadConstant| $ 16))))
+ (|getShellEntry| $ 15))))))
(DEFUN |UFD-;prime?;SB;2| (|x| $)
- (EQL (LENGTH (SPADCALL (SPADCALL |x| (QREFELT $ 17)) (QREFELT $ 21)))
+ (EQL (LENGTH (SPADCALL (SPADCALL |x| (|getShellEntry| $ 18))
+ (|getShellEntry| $ 22)))
1))
(DEFUN |UniqueFactorizationDomain&| (|#1|)
@@ -4054,35 +3949,37 @@ Note that this code is not included in the generated catdef.spad file.
(LETT |dv$1| (|devaluate| |#1|)
. #0=(|UniqueFactorizationDomain&|))
(LETT |dv$| (LIST '|UniqueFactorizationDomain&| |dv$1|) . #0#)
- (LETT $ (GETREFV 24) . #0#)
- (QSETREFV $ 0 |dv$|)
- (QSETREFV $ 3 (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
+ (LETT $ (|newShell| 25) . #0#)
+ (|setShellEntry| $ 0 |dv$|)
+ (|setShellEntry| $ 3
+ (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
(|stuffDomainSlots| $)
- (QSETREFV $ 6 |#1|)
+ (|setShellEntry| $ 6 |#1|)
$))))
(MAKEPROP '|UniqueFactorizationDomain&| '|infovec|
(LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (|Factored| $)
- (0 . |squareFree|) (|Factored| 6) (5 . |unit|)
- (|Record| (|:| |factor| 6) (|:| |exponent| (|Integer|)))
- (|List| 11) (10 . |factors|) (15 . *) (21 . |One|)
+ (0 . |squareFree|) (|Factored| 6) (5 . |unit|) (|Integer|)
+ (|Record| (|:| |factor| 6) (|:| |exponent| 11))
+ (|List| 12) (10 . |factors|) (15 . *) (21 . |One|)
|UFD-;squareFreePart;2S;1| (25 . |factor|)
(|Union| '"nil" '"sqfr" '"irred" '"prime")
- (|Record| (|:| |flg| 18) (|:| |fctr| 6)
- (|:| |xpnt| (|Integer|)))
- (|List| 19) (30 . |factorList|) (|Boolean|)
+ (|Record| (|:| |flg| 19) (|:| |fctr| 6) (|:| |xpnt| 11))
+ (|List| 20) (30 . |factorList|) (|Boolean|)
|UFD-;prime?;SB;2|)
'#(|squareFreePart| 35 |prime?| 40) 'NIL
(CONS (|makeByteWordVec2| 1 'NIL)
(CONS '#()
(CONS '#()
- (|makeByteWordVec2| 23
- '(1 6 7 0 8 1 9 6 0 10 1 9 12 0 13 2 6
- 0 0 0 14 0 6 0 15 1 6 7 0 17 1 9 20 0
- 21 1 0 0 0 16 1 0 22 0 23)))))
+ (|makeByteWordVec2| 24
+ '(1 6 7 0 8 1 9 6 0 10 1 9 13 0 14 2 6
+ 0 0 0 15 0 6 0 16 1 6 7 0 18 1 9 21 0
+ 22 1 0 0 0 17 1 0 23 0 24)))))
'|lookupComplete|))
@
+
\section{category VSPACE VectorSpace}
+
<<category VSPACE VectorSpace>>=
)abbrev category VSPACE VectorSpace
++ Author: