Merge branch 'master' of ssh://git.code.sf.net/p/maxima/code
[maxima.git] / tests / rtest_round.mac
blob381da5dec993b53013478942c3d6b8c1bcab7484
1 (kill(all),0);
2 0$
4 round(0);
5 0$
7 round(0.0);
8 0$
10 round(0.0b0);
13 round(zeroa);
16 round(zerob);
19 round(-3);
20 -3$
22 round(42);
23 42$
25 round(-4/3);
26 -1$
28 round(16/29);
31 round(-16/29);
32 -1$
34 round(172.23);
35 172$
37 round(-314.56);
38 -315$
40 round(191.45b0);
41 191$
43 round(191.501b0);
44 192$
46 round(sqrt(2));
49 round(sqrt(5) - sqrt(2));
52 round(sqrt(1932));
53 44$
55 (declare(n,integer),0);
58 round(n);
61 round(n+49/100);
64 round(n + 51/100);
65 n+1$
67 round(5*n+7);
68 5*n+7$
70 round(n*(n+1));
71 n*(n+1)$
73 round(2*n + 1/2);
74 2*n$
76 round(2*n + 3/2);
77 2*n + 2$
79 (assume(n > 0),0);
82 round(n!);
83 n!$
85 (remove(n,integer),0);
88 (forget(n > 0),0);
91 (declare(o,odd), declare(o,integer),0);
94 round(o+1/2);
95 o+1$
97 round(o-1/2);
98 o-1$
100 round(2*o + 1/2);
101 2*o$
103 (declare(e,even), declare(e,integer),0);
106 round(e+1/2);
109 round(e-1/2);
112 (remove(o,odd), remove(o,integer), remove(e,even), remove(e,integer),0);
115 round(x) + round(-x);
118 round(a-b) + round(b-a);
121 round(round(a));
122 round(a)$
124 round(round(rat(a)));
125 round(a)$
127 round(floor(x));
128 floor(x);
130 round(ceiling(x));
131 ceiling(x)$
133 map('round,[inf, minf, und, ind]);
134 [inf, minf, und, ind]$
136 args(round(%i));
137 [%i]$
139 truncate(0);
142 truncate(0.0);
145 truncate(0.0b0);
148 truncate(zeroa);
151 truncate(zerob);
154 truncate(-3);
157 truncate(42);
160 truncate(-4/3);
163 truncate(16/29);
166 truncate(-16/29);
169 truncate(172.23);
170 172$
172 truncate(-314.56);
173 -314$
175 truncate(191.45b0);
176 191$
178 truncate(191.501b0);
179 191$
181 truncate(sqrt(2));
184 truncate(sqrt(5) - sqrt(2));
187 truncate(sqrt(1932));
190 (declare(n,integer),0);
193 truncate(n);
196 truncate(5*n+7);
197 5*n+7$
199 truncate(n*(n+1));
200 n*(n+1)$
202 (assume(n > 0),0);
205 truncate(n!);
208 (remove(n,integer),0);
211 (forget(n > 0),0);
214 truncate(x) + truncate(-x);
217 truncate(a-b) + truncate(b-a);
220 truncate(truncate(a));
221 truncate(a)$
223 truncate(truncate(rat(a)));
224 truncate(a)$
226 truncate(floor(x));
227 floor(x);
229 truncate(ceiling(x));
230 ceiling(x)$
232 map('truncate,[inf, minf, und, ind]);
233 [inf, minf, und, ind]$
235 args(truncate(%i));
236 [%i]$
238 (tellsimp(truncate(x),%pi),0);
241 truncate(-x);
242 -%pi$
244 (tellsimp(round(x), sqrt(3)),0);
247 round(-x);
248 -sqrt(3)$
250 (clear_rules(),0);
253 truncate(-truncate(-x));
254 truncate(x)$
256 round(-round(-x));
257 round(x)$
259 (e : round(x/3),0);
262 ratsubst(6,x,e);
265 (e : round(x/3),0);
268 ratsubst(6,x,e);
271 (remvalue(e),0);
275 /* check for noun /verb weirdness */
277 'round(0);
280 'truncate(0);
283 '(round(5));
286 '(truncate(-7));
289 'round(-x) + round(x);
292 'truncate(-x) + truncate(x);
295 /* regression tests for SF bug 1867942 */
297 map('round, [1.b0, 1.1b1, 1.11b2, 10.b-1, 100.b-2]);
298 [1,11,111,1,1]$
300 map('round, [-1.b0, -1.1b1, -1.11b2, -10.b-1, -100.b-2]);
301 [-1,-11,-111,-1,-1]$
303 map('round, [1.0, 1.1d1, 1.11d2, 10.d-1, 100.d-2]);
304 [1,11,111,1,1]$
306 map('round, [-1.0, -1.1d1, -1.11d2, -10.d-1, -100.d-2]);
307 [-1,-11,-111,-1,-1]$