about summary refs log tree commit diff stats
path: root/core/scripts/setup-virtual.sh
blob: 3583bb6af24eaef7c00d751179d06b150f2a5f35 (plain) (blame)
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
generated by cgit-pink 1.4.1-2-gfad0 (git 2.36.2.497.gbbea4dcf42) at 2025-07-07 12:37:01 +0000
 


/span>))))
     nil)
    ((and
      (eql (car number-list) (car numerals))
      (not (null (cdr number-list))))
     (cons (previous-digit numerals (car number-list)) (previous-list-number numerals (cdr number-list))))
    (t (cons (previous-digit numerals (car number-list)) (cdr number-list)))))

(defun plus-args-list (numerals a b)
  "Given a list of a numeral system and 2 lists of numbers, it returns the list of it's sum."
  (cond
    ((and
      (null (cdr b))
      (eql (car b) (if (eql (car numerals) '|0|)
				(cadr numerals)
				(car numerals))))
     (next-list-number numerals a))
    (t (plus-args-list numerals (next-list-number numerals a) (previous-list-number numerals b)))))

(defun plus (numerals a b)
  "Given a list of a numeral system and 2 numbers, it returns the list of it's sum."
  (may-reverse (plus-args-list numerals (may-reverse (explode a)) (may-reverse (explode b)))))

(defun symbol-to-number (symbol)
  "Given a symbol, returns it's number."
  (nth-value 0 (parse-integer (symbol-name symbol))))

(defun plus-decimal (&rest args)
  "Given decimal numbers, it returns it's sum."
  (nth-value 0 (implode (reduce (lambda (a b) (plus '(|0| |1| |2| |3| |4| |5| |6| |7| |8| |9|) a b)) args))))

(defun plus-earth (&rest args)
  "Give earthal numbers, it returns it's sum."
  (nth-value 0 (implode (reduce (lambda (a b) (plus '(|1| |2| |3| |4| |5|) a b)) args))))