source: trunk/source/tests/ansi-tests/subtypep-real.lsp @ 8991

Last change on this file since 8991 was 8991, checked in by gz, 11 years ago

Check in the gcl ansi test suite (original, in preparation for making local changes)

File size: 4.4 KB
Line 
1;-*- Mode:     Lisp -*-
2;;;; Author:   Paul Dietz
3;;;; Created:  Tue Feb 18 18:38:55 2003
4;;;; Contains: Tests of SUBTYPEP on REAL types.
5
6(in-package :cl-test)
7
8(compile-and-load "types-aux.lsp")
9
10;;; SUBTYPEP on real types
11
12(deftest subtypep.real.1
13  (loop for tp1 in '((real 10) (real 10 *)
14                     (real 10 20)
15                     (real (10) 20)
16                     (real 10 (20))
17                     (real (10) (20))
18                     (real 10 1000000000000000)
19                     (real (10)) (real (10) *))
20        append
21        (loop for tp2 in '(real (real) (real *)
22                           (real * *) (real 10) (real 10 *)
23                           (real 0) (real 0 *)
24                           (real 19/2) (real 19/2 *)
25                           (real 9.5) (real 9.5 *)
26                           (real -1000000000000000))
27              unless (equal (multiple-value-list
28                             (subtypep* tp1 tp2))
29                            '(t t))
30              collect (list tp1 tp2)))
31  nil)
32
33(deftest subtypep.real.2
34  (loop for tp1 in '((real * 10)
35                     (real 0 10)
36                     (real 0 (10))
37                     (real (0) 10)
38                     (real (0) (10))
39                     (real -1000000000000000 10)
40                     (real * (10)))
41        append
42        (loop for tp2 in '(real (real) (real *)
43                           (real * *) (real * 10)
44                           (real * 21/2)
45                           (real * 10.5)
46                           (real * 1000000000000000))
47              unless (equal (multiple-value-list
48                             (subtypep* tp1 tp2))
49                            '(t t))
50              collect (list tp1 tp2)))
51  nil)
52
53(deftest subtypep.real.3
54  (loop for tp1 in '((real 10) (real 10 *)
55                     (real 10 20)
56                     (real 10 (21))
57                     (real 10 1000000000000000))
58        append
59        (loop for tp2 in '((real 11) (real 11 *)
60                           (real (10)) (real (10) *)
61                           (integer 10) (integer 10 *)
62                           (real 11)
63                           (real (10))
64                           (real 11 *)
65                           (real (10) *)
66                           (real * (20))
67                           (real * 19)
68                           (real * (20))
69                           (real * 19))
70              unless (equal (multiple-value-list
71                             (subtypep* tp1 tp2))
72                            '(nil t))
73              collect (list tp1 tp2)))
74  nil)
75
76(deftest subtypep.real.4
77  (loop for tp1 in '((real * 10)
78                     (real 0 10)
79                     (real (0) 10)
80                     (real -1000000000000000 10))
81        append
82        (loop for tp2 in '((real * 9)
83                           (real * (10))
84                           (integer * 10)
85                           (real * 9)
86                           (real * (10)))
87              unless (equal (multiple-value-list
88                             (subtypep* tp1 tp2))
89                            '(nil t))
90              collect (list tp1 tp2)))
91  nil)
92
93(deftest subtypep.real.5
94  (check-equivalence
95   '(or (real 0 0) (real (0)))
96   '(real 0))
97  nil)
98
99(deftest subtypep.real.6
100  (check-equivalence
101   '(and (real 0 10) (real 5 15))
102   '(real 5 10))
103  nil)
104
105(deftest subtypep.real.7
106  (check-equivalence
107   '(and (real (0) 10) (real 5 15))
108   '(real 5 10))
109  nil)
110
111(deftest subtypep.real.8
112  (check-equivalence
113   '(and (real 0 (10)) (real 5 15))
114   '(real 5 (10)))
115  nil)
116
117(deftest subtypep.real.9
118  (check-equivalence
119   '(and (real (0) (10)) (real 5 15))
120   '(real 5 (10)))
121  nil)
122
123(deftest subtypep.real.10
124  (check-equivalence
125   '(and (real 0 10) (real (5) 15))
126   '(real (5) 10))
127  nil)
128
129(deftest subtypep.real.11
130  (check-equivalence
131   '(and (real 0 (10)) (real (5) 15))
132   '(real (5) (10)))
133  nil)
134
135(deftest subtypep.real.12
136  (check-equivalence
137   '(and integer (real 0 10) (not (real (0) (10))))
138   '(member 0 10))
139  nil)
140
141(deftest subtypep.real.13
142  (check-equivalence '(and integer (real -1/2 1/2))
143                     '(integer 0 0))
144  nil)
145
146(deftest subtypep.real.14
147  (check-equivalence '(and integer (real -1/2 1/2))
148                     '(eql 0))
149  nil)
150
151(deftest subtypep.real.15
152  (check-equivalence '(and integer (real (-1/2) 1/2))
153                     '(integer 0 0))
154  nil)
155
156(deftest subtypep.real.16
157  (check-equivalence '(and integer (real (-1/2) (1/2)))
158                     '(integer 0 0))
159  nil)
160
161(deftest subtypep.real.17
162  (check-equivalence '(real 0 10) '(real 0.0 10.0))
163  nil)
164
165(deftest subtypep.real.18
166  (check-equivalence '(and rational (real 0 10))
167                     '(rational 0 10))
168  nil)
169
170(deftest subtypep.real.19
171  (check-equivalence '(and rational (real 0 (10)))
172                     '(rational 0 (10)))
173  nil)
174
175(deftest subtypep.real.20
176  (check-equivalence '(and rational (real (0) (10)))
177                     '(rational (0) (10)))
178  nil)
179
180(deftest subtypep.real.21
181  (check-equivalence '(and rational (real 1/2 7/3))
182                     '(rational 1/2 7/3))
183  nil)
184
185(deftest subtypep.real.22
186  (check-equivalence '(and rational (real (1/11) (8/37)))
187                     '(rational (1/11) (8/37)))
188  nil)
189
190(deftest subtypep.real.23
191  (check-all-subtypep '(not (real -1/2 1/2)) '(not (integer 0 0)))
192  nil)
193
194(deftest subtypep.real.24
195  (check-all-subtypep '(not (real -1/2 1/2)) '(not (eql 0)))
196  nil)
197
198(deftest subtypep.real.25
199  (check-all-subtypep t '(or (not (real 0 10)) (not (real -100 -50))))
200  nil)
201
Note: See TracBrowser for help on using the repository browser.