-
Notifications
You must be signed in to change notification settings - Fork 0
/
=.lisp
83 lines (72 loc) · 2.62 KB
/
=.lisp
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
#!/usr/bin/env ol
(import (otus algebra))
; direct equality
(assert 12345 = 12345 )
(assert "12345" = "12345" )
(assert 99999999999999999 = 99999999999999999 )
(assert [1 2 3] = [1 2 3] )
(assert [1 2 3] = (Array [1 2 3]) )
(assert [1 2 3] = (Array~ [1 2 3]) )
(assert (Array [1 2 3]) = [1 2 3] )
(assert (Array [1 2 3]) = (Array [1 2 3]) )
(assert (Array [1 2 3]) = (Array~ [1 2 3]) )
(assert (Array~ [1 2 3]) = [1 2 3] )
(assert (Array~ [1 2 3]) = (Array [1 2 3]) )
(assert (Array~ [1 2 3]) = (Array~ [1 2 3]) )
; =
(assert (= 1))
(assert (= 1 1))
(assert (= 1 1 1))
(assert (= 1 1 1 1))
(assert (= 1 1 1 1 1 1 1 1 1 1 1 1))
(assert (= []))
(assert (= [] []))
(assert (= [] [] []))
(assert (= [] [] [] []))
(assert (= [] [] [] [] [] [] [] [] [] [] [] []))
(assert (= [1]))
(assert (= [1] [1]))
(assert (= [1] [1] [1]))
(assert (= [1] [1] [1] [1]))
(assert (= [1] [1] [1] [1] [1] [1] [1] [1] [1] [1] [1] [1]))
(assert (= [1 2 3]))
(assert (= [1 2 3] [1 2 3]))
(assert (= [1 2 3] [1 2 3] [1 2 3]))
(assert (= [1 2 3] [1 2 3] [1 2 3] [1 2 3]))
(assert (= [1 2 3] [1 2 3] [1 2 3] [1 2 3] [1 2 3] [1 2 3] [1 2 3] [1 2 3] [1 2 3] [1 2 3] [1 2 3] [1 2 3]))
(assert (= [[1 2] [3 4]]))
(assert (= [[1 2] [3 4]] [[1 2] [3 4]]))
(assert (= [[1 2] [3 4]] [[1 2] [3 4]] [[1 2] [3 4]]))
(assert (= [[1 2] [3 4]] [[1 2] [3 4]] [[1 2] [3 4]] [[1 2] [3 4]]))
(assert (= [[1 2] [3 4]] [[1 2] [3 4]] [[1 2] [3 4]] [[1 2] [3 4]]
[[1 2] [3 4]] [[1 2] [3 4]] [[1 2] [3 4]] [[1 2] [3 4]]
[[1 2] [3 4]] [[1 2] [3 4]] [[1 2] [3 4]] [[1 2] [3 4]]))
(define x [[[[1 2] [3 4]] [[5 6] [7 8]]]
[[[1 2] [3 4]] [[5 6] [7 8]]]
[[[1 2] [3 4]] [[5 6] [7 8]]]])
(define y [1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8])
(assert (= (Reshape x '(24)) y))
(assert (≠ x y))
(assert (= x (Reshape y (Shape x))))
; ≠
(assert (≠ [] 0))
(assert (≠ [1] 1))
(assert (≠ [1] []))
(assert (≠ [] [] [] [] [] [] [] [] [] [] [] [1]))
(assert (≠ [] [] [] [] [1] [] [] [] [] [] [] []))
(assert (≠ [1] [] [] [] [] [] [] [] [] [] [] []))
; ~
(assert (= [1 2 3] (Array~ [1 2 3])))
(assert (= [1 2 3] (Array~ [1 2 3]) (Array~ [1 2 3])))
(assert (= [1 2 3] (Array~ [1 2 3])
[1 2 3] (Array~ [1 2 3])
[1 2 3] (Array~ [1 2 3])
[1 2 3] (Array~ [1 2 3])
[1 2 3] (Array~ [1 2 3])
[1 2 3] (Array~ [1 2 3])))
(assert (≡ [1 2 3] [1 2 3]))
(assert (≢ [1 2 3] (Array~ [1 2 3])))
(assert (≡ [#i1 #i2 #i3] [#i1 #i2 #i3]))
(assert (≢ [#e1 #e2 #e3] [#i1 #i2 #i3]))
; well, done.
(print "ok.")