31 |
|
|
32 |
|
|
33 |
(deftest types-3 |
(deftest types-3 |
34 |
(count-if |
(loop |
35 |
#'(lambda (pair) |
for (t1 t2) in *subtype-table* |
36 |
(let ((t1 (first pair)) |
for m1 = (check-subtypep t1 t2 t t) |
37 |
(t2 (second pair))) |
for m2 = (check-subtypep `(and ,t1 ,t2) t1 t) |
38 |
(cond |
for m3 = (check-subtypep `(and ,t2 ,t1) t1 t) |
39 |
((not (subtypep* t1 t2)) |
for m4 = (check-subtypep `(and ,t1 (not ,t2)) nil t) |
40 |
(format t "~%Problem! Did not find ~S to be a subtype of ~S" t1 t2) |
for m5 = (check-subtypep `(and (not ,t2) ,t1) nil t) |
41 |
t) |
when m1 collect m1 |
42 |
(t nil)))) |
when m2 collect m2 |
43 |
*subtype-table*) |
when m3 collect m3 |
44 |
0) |
when m4 collect m4 |
45 |
|
when m5 collect m5) |
46 |
|
nil) |
47 |
|
|
48 |
(declaim (special +float-types+ *subtype-table*)) |
(declaim (special +float-types+ *subtype-table*)) |
49 |
|
|
91 |
)) |
)) |
92 |
|
|
93 |
(deftest types-4 |
(deftest types-4 |
94 |
(types-4-body) |
(types-4-body) |
95 |
0) |
0) |
96 |
|# |
|# |
97 |
|
|
98 |
(deftest types-6 |
(deftest types-6 |
99 |
(types-6-body) |
(types-6-body) |
100 |
0) |
nil) |
101 |
|
|
102 |
(declaim (special *disjoint-types-list*)) |
(declaim (special *disjoint-types-list*)) |
103 |
|
|
196 |
(check-disjointness 'integer 'ratio) |
(check-disjointness 'integer 'ratio) |
197 |
nil) |
nil) |
198 |
|
|
199 |
|
(deftest bignum-and-ratio-are-disjoint |
200 |
|
(check-disjointness 'bignum 'ratio) |
201 |
|
nil) |
202 |
|
|
203 |
|
(deftest bignum-and-fixnum-are-disjoint |
204 |
|
(check-disjointness 'bignum 'fixnum) |
205 |
|
nil) |
206 |
|
|
207 |
(deftest fixnum-and-ratio-are-disjoint |
(deftest fixnum-and-ratio-are-disjoint |
208 |
(check-disjointness 'fixnum 'ratio) |
(check-disjointness 'fixnum 'ratio) |
209 |
nil) |
nil) |