blob: c116cf87ee33e27a31a594bf227d57424d2d5503 (
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
|
(load "../common")
(mtest
(range 1 1) (1)
(range 1.0 1.0) (1.0)
(range #\a #\a) (#\a)
(range #R(1 1) #R(1 1)) (#R(1 1)))
(mtest
(range 0 4) (0 1 2 3 4)
(range 4 0) (4 3 2 1 0)
(range 0.0 4.0) (0.0 1.0 2.0 3.0 4.0)
(range 4.0 0.0) (4.0 3.0 2.0 1.0 0.0)
(range #\a #\c) (#\a #\b #\c)
(range #\c #\a) (#\c #\b #\a)
(range #R(0 0) #R(4 4)) (#R(0 0) #R(1 1) #R(2 2) #R(3 3) #R(4 4))
(range #R(4 4) #R(0 0)) (#R(4 4) #R(3 3) #R(2 2) #R(1 1) #R(0 0)))
(mtest
(len (range 1 1 "")) :error
(len (range 1 2 "")) :error)
(mtest
(range 0 4 2) (0 2 4)
(range 4 0 -2) (4 2 0)
(range 0.0 4.0 2) (0.0 2.0 4.0)
(range 4.0 0.0 -2) (4.0 2.0 0.0)
(range #\a #\e 2) (#\a #\c #\e)
(range #\e #\a -2) (#\e #\c #\a)
(range #R(0 0) #R(4 4) 2) (#R(0 0) #R(2 2) #R(4 4))
(range #R(4 4) #R(0 0) -2) (#R(4 4) #R(2 2) #R(0 0))
(range 1 32 (op * 2)) (1 2 4 8 16 32))
(mtest
(range* 1 1) nil
(range* 1.0 1.0) nil
(range* #\a #\a) nil
(range* #R(1 1) #R(1 1)) nil)
(mtest
(range* 0 4) (0 1 2 3)
(range* 4 0) (4 3 2 1)
(range* 0.0 4.0) (0.0 1.0 2.0 3.0)
(range* 4.0 0.0) (4.0 3.0 2.0 1.0)
(range* #\a #\c) (#\a #\b)
(range* #\c #\a) (#\c #\b)
(range* #R(0 0) #R(4 4)) (#R(0 0) #R(1 1) #R(2 2) #R(3 3))
(range* #R(4 4) #R(0 0)) (#R(4 4) #R(3 3) #R(2 2) #R(1 1)))
(mtest
(len (range* 1 1 "")) 0
(len (range* 1 2 "")) :error)
(mtest
(range* 0 4 2) (0 2)
(range* 4 0 -2) (4 2)
(range* 0.0 4.0 2) (0.0 2.0)
(range* 4.0 0.0 -2) (4.0 2.0)
(range* #\a #\e 2) (#\a #\c)
(range* #\e #\a -2) (#\e #\c)
(range* #R(0 0) #R(4 4) 2) (#R(0 0) #R(2 2))
(range* #R(4 4) #R(0 0) -2) (#R(4 4) #R(2 2))
(range* 1 32 (op * 2)) (1 2 4 8 16))
(mtest
(range 0 1.25 0.5) (0 0.5 1.0)
(range* 0 1.25 0.5) (0 0.5 1.0))
(mtest
(range "A" "A") ("A")
(range "A" "A" 0) :error
(range "A" "A" -2) :error)
(mtest
(range "A" "C") ("A" "B" "C")
(range "A" "C" 2) ("A" "C")
(range "A" "D" 2) ("A" "C")
(range "A" "E" 2) ("A" "C" "E")
(range "A" "C" 3) ("A")
(range "A" "E" 3) ("A" "D"))
(mtest
(range* "A" "C") ("A" "B")
(range* "A" "C" 2) ("A")
(range* "A" "D" 2) ("A" "C")
(range* "A" "E" 2) ("A" "C")
(range* "A" "C" 3) ("A")
(range* "A" "E" 3) ("A" "D"))
(mtest
[range "ABCD" nil rest] ("ABCD" "BCD" "CD" "D" nil)
[range* "ABCD" nil rest] ("ABCD" "BCD" "CD" "D"))
(defstruct udnum nil
v
(:method + (me arg) (new udnum v (+ me.v arg)))
(:method > (me arg) (> me.v arg))
(:method < (me arg) (< me.v arg))
(:method = (me arg) (= me.v arg)))
(mtest
(range (new udnum v 0) (new udnum v 3)) (#S(udnum v 0) #S(udnum v 1) #S(udnum v 2) #S(udnum v 3))
(range* (new udnum v 0) (new udnum v 3)) (#S(udnum v 0) #S(udnum v 1) #S(udnum v 2)))
|