aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/strap/INS.lsp
blob: af5969d3086023275acb5ab4c5c595c9e96c40e7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
(/VERSIONCHECK 2) 

(DEFPARAMETER |IntegerNumberSystem;AL| 'NIL) 

(DEFUN |IntegerNumberSystem;| ()
  (PROG (#0=#:G1413)
    (RETURN
      (PROG1 (LETT #0#
                   (|sublisV|
                       (PAIR '(#1=#:G1407 #2=#:G1408 #3=#:G1409
                                  #4=#:G1410 #5=#:G1411 #6=#:G1412)
                             (LIST '(|Integer|) '(|Integer|)
                                   '(|Integer|) '(|InputForm|)
                                   '(|Pattern| (|Integer|))
                                   '(|Integer|)))
                       (|Join| (|UniqueFactorizationDomain|)
                               (|EuclideanDomain|)
                               (|OrderedIntegralDomain|)
                               (|DifferentialRing|)
                               (|ConvertibleTo| '#1#)
                               (|RetractableTo| '#2#)
                               (|LinearlyExplicitRingOver| '#3#)
                               (|ConvertibleTo| '#4#)
                               (|ConvertibleTo| '#5#)
                               (|PatternMatchable| '#6#)
                               (|CombinatorialFunctionCategory|)
                               (|RealConstant|) (|CharacteristicZero|)
                               (|StepThrough|)
                               (|mkCategory| '|domain|
                                   '(((|odd?| ((|Boolean|) $)) T)
                                     ((|even?| ((|Boolean|) $)) T)
                                     ((|base| ($)) T)
                                     ((|length| ($ $)) T)
                                     ((|shift| ($ $ $)) T)
                                     ((|bit?| ((|Boolean|) $ $)) T)
                                     ((|positiveRemainder| ($ $ $)) T)
                                     ((|symmetricRemainder| ($ $ $)) T)
                                     ((|rational?| ((|Boolean|) $)) T)
                                     ((|rational|
                                       ((|Fraction| (|Integer|)) $))
                                      T)
                                     ((|rationalIfCan|
                                       ((|Union|
                                         (|Fraction| (|Integer|))
                                         "failed")
                                        $))
                                      T)
                                     ((|random| ($)) T)
                                     ((|random| ($ $)) T)
                                     ((|copy| ($ $)) T)
                                     ((|inc| ($ $)) T)
                                     ((|dec| ($ $)) T)
                                     ((|mask| ($ $)) T)
                                     ((|addmod| ($ $ $ $)) T)
                                     ((|submod| ($ $ $ $)) T)
                                     ((|mulmod| ($ $ $ $)) T)
                                     ((|powmod| ($ $ $ $)) T)
                                     ((|invmod| ($ $ $)) T))
                                   '((|multiplicativeValuation| T)
                                     (|canonicalUnitNormal| T))
                                   '((|Fraction| (|Integer|))
                                     (|Boolean|))
                                   NIL)))
                   |IntegerNumberSystem|)
        (SETELT #0# 0 '(|IntegerNumberSystem|)))))) 

(DEFUN |IntegerNumberSystem| ()
  (LET ()
    (COND
      (|IntegerNumberSystem;AL|)
      (T (SETQ |IntegerNumberSystem;AL| (|IntegerNumberSystem;|)))))) 

(SETQ |$CategoryFrame|
      (|put| '|IntegerNumberSystem| '|isCategory| T
             (|addModemap| '|IntegerNumberSystem|
                 '(|IntegerNumberSystem|) '((|Category|)) T
                 '|IntegerNumberSystem| |$CategoryFrame|))) 

(MAKEPROP '|IntegerNumberSystem| 'NILADIC T)