Array functions can now be translated (again)
[maxima.git] / tests / rtest_everysome.mac
blobc65087ecbffebb1124f5807a3c28c4767a6db78f
1 (kill (all), 0);
2 0;
4 /* There are more tests for every and some in rtestnset; these tests mainly
5 check these functions with matrix arguments. */
7 emptyp(matrix());
8 true$
10 emptyp(matrix([]));
11 true$
13 emptyp(matrix([],[]));
14 true$
16 emptyp(matrix([9]));
17 false$
19 every('integerp, matrix());
20 true$
22 some('integerp, matrix());
23 false$
25 every("<", matrix([]));
26 true$
28 every("=", matrix([],[]));
29 true$
31 some("<", matrix([]));
32 false$
34 some("=", matrix([],[]));
35 false$
37 some("=",[[x],a],[x,b]);
38 false$
40 every("=",[[x],a],[x,b]);
41 false$
43 some(identity, [false,true]);
44 true$
46 every(identity, [false,true]);
47 false$
49 every(integerp, matrix([6,2],[7,21]));
50 true$
52 some(integerp, matrix([6,2],[7,21]));
53 true$
55 every(integerp, matrix([6,2],[7,%pi]));
56 false$
58 some(integerp, matrix([6,2],[7,%pi]));
59 true$
61 every(lambda([x], x < 1), matrix([-7,0],[-5,-13]));
62 true$
64 every(lambda([x], x < 1), matrix([-7,0],[5,13]));
65 false$
67 some(lambda([x], x < 1), matrix([-7,0],[5,13]));
68 true$
70 (booleanp(x) := is (x = 'true) or is (x = 'false),0);
73 every('booleanp, matrix([false],[true]));
74 true$
76 every('booleanp, matrix([false],[45]));
77 false$
79 some('booleanp, matrix([false],[true]));
80 true$
82 some('booleanp, matrix([false],[45]));
83 true$
85 every("=", matrix([a,b],[c,d]), matrix([a,b],[c,d]));
86 true$
88 every("=", matrix([a,b],[c,d]), matrix([a,b],[c,29]));
89 false$
91 every('ratnump, genmatrix(lambda([i,j],1/(i+j)),101,103));
92 true$
94 some('integerp, genmatrix(lambda([i,j],1/(i+j)),101,92));
95 false$
97 (allrats(x) := if mapatom(x) then ratnump(x) else every('allrats, args(x)),0);
100 every('allrats, matrix([matrix([4,5],[6,7]), matrix([8,9],[7,z])]));
101 false$
103 every('allrats, [[[5,19/3],[],[1,2]]]);
104 true$
106 (somerats(x) := if mapatom(x) then ratnump(x) else some('somerats, args(x)),0);
109 some('somerats, matrix([matrix([4,5],[6,7]), matrix([8,9],[7,z])]));
110 true$
112 some('somerats, [[[u,[1/2],[],[n,k]]]]);
113 true$
115 some('somerats, [[[u,[%pi-%e],[],[n,k]]]]);
116 false$
118 some(listp,matrix([a]));
119 false$
121 some(integerp, [ [ 1 , 2 ] ] );
122 false$
123        
124 every(matrixp,matrix([matrix([a])]));
125 true$
127 every(listp,[]);
128 true$
130 every(listp,[a]);
131 false$
133 every(listp, [ [ ] ] );
134 true$
136 every(listp, [ [ a ] ] );
137 true$
138        
139 errcatch(some(listp,a[1]));
142 errcatch(every(listp,a[1]));
145 errcatch(some(numberp,a[1])); 
148 errcatch(some(listp,a[[x]]));
151 errcatch(some(integerp,f[1](2)));
154 some("<",[%i,3],[2,7]);
155 true$
157 some("<",[%i,3],[2,-7]);
158 false$
160 every("<",[%i,3],[2,7]);
161 false$
163 every("<",[%i,3],[2,-7]);
164 false$
166 (saveprederror : prederror, prederror : false,0);
169 some('maybe,[6<5,a<b]);
170 unknown$
172 some("<", [a],[b]);
173 unknown$
175 every("<",[a],[b]);
176 unknown$
178 some('identity, [unknown, false]);
179 unknown$
181 every('identity, [unknown, false]);
182 false$
184 (betweenp(a,b,c) :=  (a-b)*(c-b) < 0,0);
187 every('betweenp, matrix([1,2],[5,6]), matrix([2,3],[6,7]), matrix([3,4],[7,8]));
188 true$
190 some('betweenp, matrix([1,2],[5,6]), matrix([2,3],[6,7]), matrix([3,u],[n,k]));
191 true$
193 every('betweenp, matrix([1,2],[5,6]), matrix([2,3],[6,7]), matrix([3,u],[n,k]));
194 unknown$
196 some('identity,set(a,b,c));
197 unknown$
199 every('identity,set(a,b,c));
200 unknown$
202 some("<", [%i,2],[1,5]);
203 true$
205 every("<", [%i,2],[1,5]);
206 false$
208 some("<",[a,b],[c,d]);
209 unknown$
211 every("<",[a,b],[c,d]);
212 unknown$
214 (prederror : true,0);
217 some('maybe,[6<5,a<b]);
218 false$
220 some("<", [a],[b]);
221 false$
223 every("<",[a],[b]);
224 false$
226 some('identity,set(a,b,c));
227 false$
229 every('identity,set(a,b,c));
230 false$
232 some("<", [%i,2],[1,5]);
233 true$
235 every("<", [%i,2],[1,5]);
236 false$
238 some("<",[a,b],[c,d]);
239 false$
241 every("<",[a,b],[c,d]);
242 false$
244 every('betweenp, matrix([1,2],[5,6]), matrix([2,3],[6,7]), matrix([3,u],[n,k]));
245 false$
247 (prederror : saveprederror,0);
250 (remvalue(saveprederror),0);
253 (remfunction(betweenp, booleanp, allrats, somerats),0);