aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/FFIELDC-.lsp
diff options
context:
space:
mode:
Diffstat (limited to 'src/algebra/strap/FFIELDC-.lsp')
-rw-r--r--src/algebra/strap/FFIELDC-.lsp615
1 files changed, 615 insertions, 0 deletions
diff --git a/src/algebra/strap/FFIELDC-.lsp b/src/algebra/strap/FFIELDC-.lsp
new file mode 100644
index 00000000..e886e7ff
--- /dev/null
+++ b/src/algebra/strap/FFIELDC-.lsp
@@ -0,0 +1,615 @@
+
+(/VERSIONCHECK 2)
+
+(DEFUN |FFIELDC-;differentiate;2S;1| (|x| $) (|spadConstant| $ 7))
+
+(DEFUN |FFIELDC-;init;S;2| ($) (|spadConstant| $ 7))
+
+(DEFUN |FFIELDC-;nextItem;SU;3| (|a| $)
+ (COND
+ ((SPADCALL
+ (LETT |a|
+ (SPADCALL (+ (SPADCALL |a| (|getShellEntry| $ 11)) 1)
+ (|getShellEntry| $ 12))
+ |FFIELDC-;nextItem;SU;3|)
+ (|getShellEntry| $ 14))
+ (CONS 1 "failed"))
+ ('T (CONS 0 |a|))))
+
+(DEFUN |FFIELDC-;order;SOpc;4| (|e| $)
+ (SPADCALL (SPADCALL |e| (|getShellEntry| $ 17))
+ (|getShellEntry| $ 20)))
+
+(DEFUN |FFIELDC-;conditionP;MU;5| (|mat| $)
+ (PROG (|l|)
+ (RETURN
+ (SEQ (LETT |l| (SPADCALL |mat| (|getShellEntry| $ 25))
+ |FFIELDC-;conditionP;MU;5|)
+ (COND
+ ((OR (NULL |l|)
+ (SPADCALL (ELT $ 14) (|SPADfirst| |l|)
+ (|getShellEntry| $ 27)))
+ (EXIT (CONS 1 "failed"))))
+ (EXIT (CONS 0
+ (SPADCALL (ELT $ 28) (|SPADfirst| |l|)
+ (|getShellEntry| $ 30))))))))
+
+(DEFUN |FFIELDC-;charthRoot;2S;6| (|x| $)
+ (SPADCALL |x|
+ (QUOTIENT2 (SPADCALL (|getShellEntry| $ 36))
+ (SPADCALL (|getShellEntry| $ 37)))
+ (|getShellEntry| $ 38)))
+
+(DEFUN |FFIELDC-;charthRoot;SU;7| (|x| $)
+ (CONS 0 (SPADCALL |x| (|getShellEntry| $ 28))))
+
+(DEFUN |FFIELDC-;createPrimitiveElement;S;8| ($)
+ (PROG (|sm1| |start| |i| #0=#:G1441 |e| |found|)
+ (RETURN
+ (SEQ (LETT |sm1| (- (SPADCALL (|getShellEntry| $ 36)) 1)
+ |FFIELDC-;createPrimitiveElement;S;8|)
+ (LETT |start|
+ (COND
+ ((SPADCALL (SPADCALL (|getShellEntry| $ 43))
+ (CONS 1 "polynomial") (|getShellEntry| $ 44))
+ (SPADCALL (|getShellEntry| $ 37)))
+ ('T 1))
+ |FFIELDC-;createPrimitiveElement;S;8|)
+ (LETT |found| 'NIL |FFIELDC-;createPrimitiveElement;S;8|)
+ (SEQ (LETT |i| |start|
+ |FFIELDC-;createPrimitiveElement;S;8|)
+ G190
+ (COND
+ ((NULL (SPADCALL |found| (|getShellEntry| $ 45)))
+ (GO G191)))
+ (SEQ (LETT |e|
+ (SPADCALL
+ (PROG1 (LETT #0# |i|
+ |FFIELDC-;createPrimitiveElement;S;8|)
+ (|check-subtype| (> #0# 0)
+ '(|PositiveInteger|) #0#))
+ (|getShellEntry| $ 12))
+ |FFIELDC-;createPrimitiveElement;S;8|)
+ (EXIT (LETT |found|
+ (EQL (SPADCALL |e|
+ (|getShellEntry| $ 17))
+ |sm1|)
+ |FFIELDC-;createPrimitiveElement;S;8|)))
+ (LETT |i| (+ |i| 1)
+ |FFIELDC-;createPrimitiveElement;S;8|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT |e|)))))
+
+(DEFUN |FFIELDC-;primitive?;SB;9| (|a| $)
+ (PROG (|explist| |q| |exp| #0=#:G1453 |equalone|)
+ (RETURN
+ (SEQ (COND
+ ((SPADCALL |a| (|getShellEntry| $ 14)) 'NIL)
+ ('T
+ (SEQ (LETT |explist| (SPADCALL (|getShellEntry| $ 49))
+ |FFIELDC-;primitive?;SB;9|)
+ (LETT |q| (- (SPADCALL (|getShellEntry| $ 36)) 1)
+ |FFIELDC-;primitive?;SB;9|)
+ (LETT |equalone| 'NIL |FFIELDC-;primitive?;SB;9|)
+ (SEQ (LETT |exp| NIL |FFIELDC-;primitive?;SB;9|)
+ (LETT #0# |explist| |FFIELDC-;primitive?;SB;9|)
+ G190
+ (COND
+ ((OR (ATOM #0#)
+ (PROGN
+ (LETT |exp| (CAR #0#)
+ |FFIELDC-;primitive?;SB;9|)
+ NIL)
+ (NULL (SPADCALL |equalone|
+ (|getShellEntry| $ 45))))
+ (GO G191)))
+ (SEQ (EXIT (LETT |equalone|
+ (SPADCALL
+ (SPADCALL |a|
+ (QUOTIENT2 |q| (QCAR |exp|))
+ (|getShellEntry| $ 50))
+ (|spadConstant| $ 41)
+ (|getShellEntry| $ 51))
+ |FFIELDC-;primitive?;SB;9|)))
+ (LETT #0# (CDR #0#) |FFIELDC-;primitive?;SB;9|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT (SPADCALL |equalone| (|getShellEntry| $ 45))))))))))
+
+(DEFUN |FFIELDC-;order;SPi;10| (|e| $)
+ (PROG (|lof| |rec| #0=#:G1461 |primeDivisor| |j| #1=#:G1462 |a|
+ |goon| |ord|)
+ (RETURN
+ (SEQ (COND
+ ((SPADCALL |e| (|spadConstant| $ 7)
+ (|getShellEntry| $ 51))
+ (|error| "order(0) is not defined "))
+ ('T
+ (SEQ (LETT |ord| (- (SPADCALL (|getShellEntry| $ 36)) 1)
+ |FFIELDC-;order;SPi;10|)
+ (LETT |a| 0 |FFIELDC-;order;SPi;10|)
+ (LETT |lof| (SPADCALL (|getShellEntry| $ 49))
+ |FFIELDC-;order;SPi;10|)
+ (SEQ (LETT |rec| NIL |FFIELDC-;order;SPi;10|)
+ (LETT #0# |lof| |FFIELDC-;order;SPi;10|) G190
+ (COND
+ ((OR (ATOM #0#)
+ (PROGN
+ (LETT |rec| (CAR #0#)
+ |FFIELDC-;order;SPi;10|)
+ NIL))
+ (GO G191)))
+ (SEQ (LETT |a|
+ (QUOTIENT2 |ord|
+ (LETT |primeDivisor| (QCAR |rec|)
+ |FFIELDC-;order;SPi;10|))
+ |FFIELDC-;order;SPi;10|)
+ (LETT |goon|
+ (SPADCALL
+ (SPADCALL |e| |a|
+ (|getShellEntry| $ 50))
+ (|spadConstant| $ 41)
+ (|getShellEntry| $ 51))
+ |FFIELDC-;order;SPi;10|)
+ (SEQ (LETT |j| 0 |FFIELDC-;order;SPi;10|)
+ (LETT #1# (- (QCDR |rec|) 2)
+ |FFIELDC-;order;SPi;10|)
+ G190
+ (COND
+ ((OR (QSGREATERP |j| #1#)
+ (NULL |goon|))
+ (GO G191)))
+ (SEQ (LETT |ord| |a|
+ |FFIELDC-;order;SPi;10|)
+ (LETT |a|
+ (QUOTIENT2 |ord|
+ |primeDivisor|)
+ |FFIELDC-;order;SPi;10|)
+ (EXIT
+ (LETT |goon|
+ (SPADCALL
+ (SPADCALL |e| |a|
+ (|getShellEntry| $ 50))
+ (|spadConstant| $ 41)
+ (|getShellEntry| $ 51))
+ |FFIELDC-;order;SPi;10|)))
+ (LETT |j| (QSADD1 |j|)
+ |FFIELDC-;order;SPi;10|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT (COND
+ (|goon|
+ (LETT |ord| |a|
+ |FFIELDC-;order;SPi;10|)))))
+ (LETT #0# (CDR #0#) |FFIELDC-;order;SPi;10|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT |ord|))))))))
+
+(DEFUN |FFIELDC-;discreteLog;SNni;11| (|b| $)
+ (PROG (|faclist| |gen| |groupord| |f| #0=#:G1482 |fac| |t| #1=#:G1483
+ |exp| |exptable| |n| |end| |i| |rho| |found| |disc1| |c|
+ |mult| |disclog| |a|)
+ (RETURN
+ (SEQ (COND
+ ((SPADCALL |b| (|getShellEntry| $ 14))
+ (|error| "discreteLog: logarithm of zero"))
+ ('T
+ (SEQ (LETT |faclist| (SPADCALL (|getShellEntry| $ 49))
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |a| |b| |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |gen| (SPADCALL (|getShellEntry| $ 54))
+ |FFIELDC-;discreteLog;SNni;11|)
+ (EXIT (COND
+ ((SPADCALL |b| |gen| (|getShellEntry| $ 51))
+ 1)
+ ('T
+ (SEQ (LETT |disclog| 0
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |mult| 1
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |groupord|
+ (-
+ (SPADCALL
+ (|getShellEntry| $ 36))
+ 1)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |exp| |groupord|
+ |FFIELDC-;discreteLog;SNni;11|)
+ (SEQ (LETT |f| NIL
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT #0# |faclist|
+ |FFIELDC-;discreteLog;SNni;11|)
+ G190
+ (COND
+ ((OR (ATOM #0#)
+ (PROGN
+ (LETT |f| (CAR #0#)
+ |FFIELDC-;discreteLog;SNni;11|)
+ NIL))
+ (GO G191)))
+ (SEQ
+ (LETT |fac| (QCAR |f|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (EXIT
+ (SEQ
+ (LETT |t| 0
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT #1# (- (QCDR |f|) 1)
+ |FFIELDC-;discreteLog;SNni;11|)
+ G190
+ (COND
+ ((QSGREATERP |t| #1#)
+ (GO G191)))
+ (SEQ
+ (LETT |exp|
+ (QUOTIENT2 |exp| |fac|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |exptable|
+ (SPADCALL |fac|
+ (|getShellEntry| $ 56))
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |n|
+ (SPADCALL |exptable|
+ (|getShellEntry| $ 57))
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |c|
+ (SPADCALL |a| |exp|
+ (|getShellEntry| $ 50))
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |end|
+ (QUOTIENT2 (- |fac| 1) |n|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |found| 'NIL
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |disc1| 0
+ |FFIELDC-;discreteLog;SNni;11|)
+ (SEQ
+ (LETT |i| 0
+ |FFIELDC-;discreteLog;SNni;11|)
+ G190
+ (COND
+ ((OR
+ (QSGREATERP |i| |end|)
+ (NULL
+ (SPADCALL |found|
+ (|getShellEntry| $ 45))))
+ (GO G191)))
+ (SEQ
+ (LETT |rho|
+ (SPADCALL
+ (SPADCALL |c|
+ (|getShellEntry| $ 11))
+ |exptable|
+ (|getShellEntry| $ 59))
+ |FFIELDC-;discreteLog;SNni;11|)
+ (EXIT
+ (COND
+ ((QEQCAR |rho| 0)
+ (SEQ
+ (LETT |found| 'T
+ |FFIELDC-;discreteLog;SNni;11|)
+ (EXIT
+ (LETT |disc1|
+ (*
+ (+ (* |n| |i|)
+ (QCDR |rho|))
+ |mult|)
+ |FFIELDC-;discreteLog;SNni;11|))))
+ ('T
+ (LETT |c|
+ (SPADCALL |c|
+ (SPADCALL |gen|
+ (*
+ (QUOTIENT2
+ |groupord| |fac|)
+ (- |n|))
+ (|getShellEntry| $
+ 50))
+ (|getShellEntry| $
+ 60))
+ |FFIELDC-;discreteLog;SNni;11|)))))
+ (LETT |i| (QSADD1 |i|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT
+ (COND
+ (|found|
+ (SEQ
+ (LETT |mult|
+ (* |mult| |fac|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (LETT |disclog|
+ (+ |disclog| |disc1|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (EXIT
+ (LETT |a|
+ (SPADCALL |a|
+ (SPADCALL |gen|
+ (- |disc1|)
+ (|getShellEntry| $
+ 50))
+ (|getShellEntry| $
+ 60))
+ |FFIELDC-;discreteLog;SNni;11|))))
+ ('T
+ (|error|
+ "discreteLog: ?? discrete logarithm")))))
+ (LETT |t| (QSADD1 |t|)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (GO G190) G191 (EXIT NIL))))
+ (LETT #0# (CDR #0#)
+ |FFIELDC-;discreteLog;SNni;11|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT |disclog|))))))))))))
+
+(DEFUN |FFIELDC-;discreteLog;2SU;12| (|logbase| |b| $)
+ (PROG (|groupord| |faclist| |f| #0=#:G1501 |fac| |primroot| |t|
+ #1=#:G1502 |exp| |rhoHelp| #2=#:G1500 |rho| |disclog|
+ |mult| |a|)
+ (RETURN
+ (SEQ (EXIT (COND
+ ((SPADCALL |b| (|getShellEntry| $ 14))
+ (SEQ (SPADCALL "discreteLog: logarithm of zero"
+ (|getShellEntry| $ 65))
+ (EXIT (CONS 1 "failed"))))
+ ((SPADCALL |logbase| (|getShellEntry| $ 14))
+ (SEQ (SPADCALL
+ "discreteLog: logarithm to base zero"
+ (|getShellEntry| $ 65))
+ (EXIT (CONS 1 "failed"))))
+ ((SPADCALL |b| |logbase| (|getShellEntry| $ 51))
+ (CONS 0 1))
+ ('T
+ (COND
+ ((NULL (ZEROP (REMAINDER2
+ (LETT |groupord|
+ (SPADCALL |logbase|
+ (|getShellEntry| $ 17))
+ |FFIELDC-;discreteLog;2SU;12|)
+ (SPADCALL |b|
+ (|getShellEntry| $ 17)))))
+ (SEQ (SPADCALL
+ "discreteLog: second argument not in cyclic group generated by first argument"
+ (|getShellEntry| $ 65))
+ (EXIT (CONS 1 "failed"))))
+ ('T
+ (SEQ (LETT |faclist|
+ (SPADCALL
+ (SPADCALL |groupord|
+ (|getShellEntry| $ 67))
+ (|getShellEntry| $ 69))
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |a| |b|
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |disclog| 0
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |mult| 1
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |exp| |groupord|
+ |FFIELDC-;discreteLog;2SU;12|)
+ (SEQ (LETT |f| NIL
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT #0# |faclist|
+ |FFIELDC-;discreteLog;2SU;12|)
+ G190
+ (COND
+ ((OR (ATOM #0#)
+ (PROGN
+ (LETT |f| (CAR #0#)
+ |FFIELDC-;discreteLog;2SU;12|)
+ NIL))
+ (GO G191)))
+ (SEQ (LETT |fac| (QCAR |f|)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |primroot|
+ (SPADCALL |logbase|
+ (QUOTIENT2 |groupord| |fac|)
+ (|getShellEntry| $ 50))
+ |FFIELDC-;discreteLog;2SU;12|)
+ (EXIT
+ (SEQ
+ (LETT |t| 0
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT #1# (- (QCDR |f|) 1)
+ |FFIELDC-;discreteLog;2SU;12|)
+ G190
+ (COND
+ ((QSGREATERP |t| #1#)
+ (GO G191)))
+ (SEQ
+ (LETT |exp|
+ (QUOTIENT2 |exp| |fac|)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |rhoHelp|
+ (SPADCALL |primroot|
+ (SPADCALL |a| |exp|
+ (|getShellEntry| $ 50))
+ |fac|
+ (|getShellEntry| $ 71))
+ |FFIELDC-;discreteLog;2SU;12|)
+ (EXIT
+ (COND
+ ((QEQCAR |rhoHelp| 1)
+ (PROGN
+ (LETT #2#
+ (CONS 1 "failed")
+ |FFIELDC-;discreteLog;2SU;12|)
+ (GO #2#)))
+ ('T
+ (SEQ
+ (LETT |rho|
+ (* (QCDR |rhoHelp|)
+ |mult|)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |disclog|
+ (+ |disclog| |rho|)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (LETT |mult|
+ (* |mult| |fac|)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (EXIT
+ (LETT |a|
+ (SPADCALL |a|
+ (SPADCALL |logbase|
+ (- |rho|)
+ (|getShellEntry| $
+ 50))
+ (|getShellEntry| $ 60))
+ |FFIELDC-;discreteLog;2SU;12|)))))))
+ (LETT |t| (QSADD1 |t|)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (GO G190) G191 (EXIT NIL))))
+ (LETT #0# (CDR #0#)
+ |FFIELDC-;discreteLog;2SU;12|)
+ (GO G190) G191 (EXIT NIL))
+ (EXIT (CONS 0 |disclog|))))))))
+ #2# (EXIT #2#)))))
+
+(DEFUN |FFIELDC-;squareFreePolynomial| (|f| $)
+ (SPADCALL |f| (|getShellEntry| $ 76)))
+
+(DEFUN |FFIELDC-;factorPolynomial| (|f| $)
+ (SPADCALL |f| (|getShellEntry| $ 78)))
+
+(DEFUN |FFIELDC-;factorSquareFreePolynomial| (|f| $)
+ (PROG (|flist| |u| #0=#:G1515 #1=#:G1512 #2=#:G1510 #3=#:G1511)
+ (RETURN
+ (SEQ (COND
+ ((SPADCALL |f| (|spadConstant| $ 79)
+ (|getShellEntry| $ 80))
+ (|spadConstant| $ 81))
+ ('T
+ (SEQ (LETT |flist|
+ (SPADCALL |f| 'T (|getShellEntry| $ 85))
+ |FFIELDC-;factorSquareFreePolynomial|)
+ (EXIT (SPADCALL
+ (SPADCALL (QCAR |flist|)
+ (|getShellEntry| $ 86))
+ (PROGN
+ (LETT #3# NIL
+ |FFIELDC-;factorSquareFreePolynomial|)
+ (SEQ (LETT |u| NIL
+ |FFIELDC-;factorSquareFreePolynomial|)
+ (LETT #0# (QCDR |flist|)
+ |FFIELDC-;factorSquareFreePolynomial|)
+ G190
+ (COND
+ ((OR (ATOM #0#)
+ (PROGN
+ (LETT |u| (CAR #0#)
+ |FFIELDC-;factorSquareFreePolynomial|)
+ NIL))
+ (GO G191)))
+ (SEQ
+ (EXIT
+ (PROGN
+ (LETT #1#
+ (SPADCALL (QCAR |u|)
+ (QCDR |u|)
+ (|getShellEntry| $ 87))
+ |FFIELDC-;factorSquareFreePolynomial|)
+ (COND
+ (#3#
+ (LETT #2#
+ (SPADCALL #2# #1#
+ (|getShellEntry| $ 88))
+ |FFIELDC-;factorSquareFreePolynomial|))
+ ('T
+ (PROGN
+ (LETT #2# #1#
+ |FFIELDC-;factorSquareFreePolynomial|)
+ (LETT #3# 'T
+ |FFIELDC-;factorSquareFreePolynomial|)))))))
+ (LETT #0# (CDR #0#)
+ |FFIELDC-;factorSquareFreePolynomial|)
+ (GO G190) G191 (EXIT NIL))
+ (COND
+ (#3# #2#)
+ ('T (|spadConstant| $ 89))))
+ (|getShellEntry| $ 90))))))))))
+
+(DEFUN |FFIELDC-;gcdPolynomial;3Sup;16| (|f| |g| $)
+ (SPADCALL |f| |g| (|getShellEntry| $ 92)))
+
+(DEFUN |FiniteFieldCategory&| (|#1|)
+ (PROG (|dv$1| |dv$| $ |pv$|)
+ (RETURN
+ (PROGN
+ (LETT |dv$1| (|devaluate| |#1|) . #0=(|FiniteFieldCategory&|))
+ (LETT |dv$| (LIST '|FiniteFieldCategory&| |dv$1|) . #0#)
+ (LETT $ (|newShell| 95) . #0#)
+ (|setShellEntry| $ 0 |dv$|)
+ (|setShellEntry| $ 3
+ (LETT |pv$| (|buildPredVector| 0 0 NIL) . #0#))
+ (|stuffDomainSlots| $)
+ (|setShellEntry| $ 6 |#1|)
+ $))))
+
+(MAKEPROP '|FiniteFieldCategory&| '|infovec|
+ (LIST '#(NIL NIL NIL NIL NIL NIL (|local| |#1|) (0 . |Zero|)
+ |FFIELDC-;differentiate;2S;1| |FFIELDC-;init;S;2|
+ (|PositiveInteger|) (4 . |lookup|) (9 . |index|)
+ (|Boolean|) (14 . |zero?|) (|Union| $ '"failed")
+ |FFIELDC-;nextItem;SU;3| (19 . |order|) (|Integer|)
+ (|OnePointCompletion| 10) (24 . |coerce|)
+ |FFIELDC-;order;SOpc;4| (|Vector| 6) (|List| 22)
+ (|Matrix| 6) (29 . |nullSpace|) (|Mapping| 13 6)
+ (34 . |every?|) (40 . |charthRoot|) (|Mapping| 6 6)
+ (45 . |map|) (|Vector| $) (|Union| 31 '"failed")
+ (|Matrix| $) |FFIELDC-;conditionP;MU;5|
+ (|NonNegativeInteger|) (51 . |size|)
+ (55 . |characteristic|) (59 . **)
+ |FFIELDC-;charthRoot;2S;6| |FFIELDC-;charthRoot;SU;7|
+ (65 . |One|)
+ (|Union| '"prime" '"polynomial" '"normal" '"cyclic")
+ (69 . |representationType|) (73 . =) (79 . |not|)
+ |FFIELDC-;createPrimitiveElement;S;8|
+ (|Record| (|:| |factor| 18) (|:| |exponent| 18))
+ (|List| 47) (84 . |factorsOfCyclicGroupSize|) (88 . **)
+ (94 . =) |FFIELDC-;primitive?;SB;9|
+ |FFIELDC-;order;SPi;10| (100 . |primitiveElement|)
+ (|Table| 10 35) (104 . |tableForDiscreteLogarithm|)
+ (109 . |#|) (|Union| 35 '"failed") (114 . |search|)
+ (120 . *) |FFIELDC-;discreteLog;SNni;11| (|Void|)
+ (|String|) (|OutputForm|) (126 . |messagePrint|)
+ (|Factored| $) (131 . |factor|) (|Factored| 18)
+ (136 . |factors|) (|DiscreteLogarithmPackage| 6)
+ (141 . |shanksDiscLogAlgorithm|)
+ |FFIELDC-;discreteLog;2SU;12|
+ (|SparseUnivariatePolynomial| 6) (|Factored| 73)
+ (|UnivariatePolynomialSquareFree| 6 73)
+ (148 . |squareFree|) (|DistinctDegreeFactorize| 6 73)
+ (153 . |factor|) (158 . |Zero|) (162 . =) (168 . |Zero|)
+ (|Record| (|:| |irr| 73) (|:| |pow| 18)) (|List| 82)
+ (|Record| (|:| |cont| 6) (|:| |factors| 83))
+ (172 . |distdfact|) (178 . |coerce|) (183 . |primeFactor|)
+ (189 . *) (195 . |One|) (199 . *) (|EuclideanDomain&| 73)
+ (205 . |gcd|) (|SparseUnivariatePolynomial| $)
+ |FFIELDC-;gcdPolynomial;3Sup;16|)
+ '#(|primitive?| 211 |order| 216 |nextItem| 226 |init| 231
+ |gcdPolynomial| 235 |discreteLog| 241 |differentiate| 252
+ |createPrimitiveElement| 257 |conditionP| 261 |charthRoot|
+ 266)
+ 'NIL
+ (CONS (|makeByteWordVec2| 1 'NIL)
+ (CONS '#()
+ (CONS '#()
+ (|makeByteWordVec2| 94
+ '(0 6 0 7 1 6 10 0 11 1 6 0 10 12 1 6
+ 13 0 14 1 6 10 0 17 1 19 0 18 20 1 24
+ 23 0 25 2 22 13 26 0 27 1 6 0 0 28 2
+ 22 0 29 0 30 0 6 35 36 0 6 35 37 2 6
+ 0 0 35 38 0 6 0 41 0 6 42 43 2 42 13
+ 0 0 44 1 13 0 0 45 0 6 48 49 2 6 0 0
+ 18 50 2 6 13 0 0 51 0 6 0 54 1 6 55
+ 18 56 1 55 35 0 57 2 55 58 10 0 59 2
+ 6 0 0 0 60 1 64 62 63 65 1 18 66 0 67
+ 1 68 48 0 69 3 70 58 6 6 35 71 1 75
+ 74 73 76 1 77 74 73 78 0 73 0 79 2 73
+ 13 0 0 80 0 74 0 81 2 77 84 73 13 85
+ 1 73 0 6 86 2 74 0 73 18 87 2 74 0 0
+ 0 88 0 74 0 89 2 74 0 73 0 90 2 91 0
+ 0 0 92 1 0 13 0 52 1 0 10 0 53 1 0 19
+ 0 21 1 0 15 0 16 0 0 0 9 2 0 93 93 93
+ 94 1 0 35 0 61 2 0 58 0 0 72 1 0 0 0
+ 8 0 0 0 46 1 0 32 33 34 1 0 0 0 39 1
+ 0 15 0 40)))))
+ '|lookupComplete|))