[project @ 1999-07-29 10:03:18 by simonmar]
[ghc-hetmet.git] / ghc / tests / numeric / should_run / arith011.stdout
1 --------------------------------
2 --Testing Int
3 --------------------------------
4 testBounded
5 (2147483647,-2147483648,-2147483647)
6 (2147483646,2147483647,-2147483648)
7 testEnum
8 [0,1,2,3,4,5,6,7,8,9]
9 [0,2,4,6,8,10,12,14,16,18]
10 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
11 [0,2,4,6,8,10,12,14,16,18,20]
12 testReadShow
13 [-3,-2,-1,0,1,2,3]
14 [-3,-2,-1,0,1,2,3]
15 testEq
16 -3 == -3 = True
17 -3 == -2 = False
18 -3 == -1 = False
19 -3 == 0 = False
20 -3 == 1 = False
21 -3 == 2 = False
22 -3 == 3 = False
23  
24 -2 == -3 = False
25 -2 == -2 = True
26 -2 == -1 = False
27 -2 == 0 = False
28 -2 == 1 = False
29 -2 == 2 = False
30 -2 == 3 = False
31  
32 -1 == -3 = False
33 -1 == -2 = False
34 -1 == -1 = True
35 -1 == 0 = False
36 -1 == 1 = False
37 -1 == 2 = False
38 -1 == 3 = False
39  
40 0 == -3 = False
41 0 == -2 = False
42 0 == -1 = False
43 0 == 0 = True
44 0 == 1 = False
45 0 == 2 = False
46 0 == 3 = False
47  
48 1 == -3 = False
49 1 == -2 = False
50 1 == -1 = False
51 1 == 0 = False
52 1 == 1 = True
53 1 == 2 = False
54 1 == 3 = False
55  
56 2 == -3 = False
57 2 == -2 = False
58 2 == -1 = False
59 2 == 0 = False
60 2 == 1 = False
61 2 == 2 = True
62 2 == 3 = False
63  
64 3 == -3 = False
65 3 == -2 = False
66 3 == -1 = False
67 3 == 0 = False
68 3 == 1 = False
69 3 == 2 = False
70 3 == 3 = True
71  
72 #
73 -3 /= -3 = False
74 -3 /= -2 = True
75 -3 /= -1 = True
76 -3 /= 0 = True
77 -3 /= 1 = True
78 -3 /= 2 = True
79 -3 /= 3 = True
80  
81 -2 /= -3 = True
82 -2 /= -2 = False
83 -2 /= -1 = True
84 -2 /= 0 = True
85 -2 /= 1 = True
86 -2 /= 2 = True
87 -2 /= 3 = True
88  
89 -1 /= -3 = True
90 -1 /= -2 = True
91 -1 /= -1 = False
92 -1 /= 0 = True
93 -1 /= 1 = True
94 -1 /= 2 = True
95 -1 /= 3 = True
96  
97 0 /= -3 = True
98 0 /= -2 = True
99 0 /= -1 = True
100 0 /= 0 = False
101 0 /= 1 = True
102 0 /= 2 = True
103 0 /= 3 = True
104  
105 1 /= -3 = True
106 1 /= -2 = True
107 1 /= -1 = True
108 1 /= 0 = True
109 1 /= 1 = False
110 1 /= 2 = True
111 1 /= 3 = True
112  
113 2 /= -3 = True
114 2 /= -2 = True
115 2 /= -1 = True
116 2 /= 0 = True
117 2 /= 1 = True
118 2 /= 2 = False
119 2 /= 3 = True
120  
121 3 /= -3 = True
122 3 /= -2 = True
123 3 /= -1 = True
124 3 /= 0 = True
125 3 /= 1 = True
126 3 /= 2 = True
127 3 /= 3 = False
128  
129 #
130 testOrd
131 -3 <= -3 = True
132 -3 <= -2 = True
133 -3 <= -1 = True
134 -3 <= 0 = True
135 -3 <= 1 = True
136 -3 <= 2 = True
137 -3 <= 3 = True
138  
139 -2 <= -3 = False
140 -2 <= -2 = True
141 -2 <= -1 = True
142 -2 <= 0 = True
143 -2 <= 1 = True
144 -2 <= 2 = True
145 -2 <= 3 = True
146  
147 -1 <= -3 = False
148 -1 <= -2 = False
149 -1 <= -1 = True
150 -1 <= 0 = True
151 -1 <= 1 = True
152 -1 <= 2 = True
153 -1 <= 3 = True
154  
155 0 <= -3 = False
156 0 <= -2 = False
157 0 <= -1 = False
158 0 <= 0 = True
159 0 <= 1 = True
160 0 <= 2 = True
161 0 <= 3 = True
162  
163 1 <= -3 = False
164 1 <= -2 = False
165 1 <= -1 = False
166 1 <= 0 = False
167 1 <= 1 = True
168 1 <= 2 = True
169 1 <= 3 = True
170  
171 2 <= -3 = False
172 2 <= -2 = False
173 2 <= -1 = False
174 2 <= 0 = False
175 2 <= 1 = False
176 2 <= 2 = True
177 2 <= 3 = True
178  
179 3 <= -3 = False
180 3 <= -2 = False
181 3 <= -1 = False
182 3 <= 0 = False
183 3 <= 1 = False
184 3 <= 2 = False
185 3 <= 3 = True
186  
187 #
188 -3 <  -3 = False
189 -3 <  -2 = True
190 -3 <  -1 = True
191 -3 <  0 = True
192 -3 <  1 = True
193 -3 <  2 = True
194 -3 <  3 = True
195  
196 -2 <  -3 = False
197 -2 <  -2 = False
198 -2 <  -1 = True
199 -2 <  0 = True
200 -2 <  1 = True
201 -2 <  2 = True
202 -2 <  3 = True
203  
204 -1 <  -3 = False
205 -1 <  -2 = False
206 -1 <  -1 = False
207 -1 <  0 = True
208 -1 <  1 = True
209 -1 <  2 = True
210 -1 <  3 = True
211  
212 0 <  -3 = False
213 0 <  -2 = False
214 0 <  -1 = False
215 0 <  0 = False
216 0 <  1 = True
217 0 <  2 = True
218 0 <  3 = True
219  
220 1 <  -3 = False
221 1 <  -2 = False
222 1 <  -1 = False
223 1 <  0 = False
224 1 <  1 = False
225 1 <  2 = True
226 1 <  3 = True
227  
228 2 <  -3 = False
229 2 <  -2 = False
230 2 <  -1 = False
231 2 <  0 = False
232 2 <  1 = False
233 2 <  2 = False
234 2 <  3 = True
235  
236 3 <  -3 = False
237 3 <  -2 = False
238 3 <  -1 = False
239 3 <  0 = False
240 3 <  1 = False
241 3 <  2 = False
242 3 <  3 = False
243  
244 #
245 -3 >  -3 = False
246 -3 >  -2 = False
247 -3 >  -1 = False
248 -3 >  0 = False
249 -3 >  1 = False
250 -3 >  2 = False
251 -3 >  3 = False
252  
253 -2 >  -3 = True
254 -2 >  -2 = False
255 -2 >  -1 = False
256 -2 >  0 = False
257 -2 >  1 = False
258 -2 >  2 = False
259 -2 >  3 = False
260  
261 -1 >  -3 = True
262 -1 >  -2 = True
263 -1 >  -1 = False
264 -1 >  0 = False
265 -1 >  1 = False
266 -1 >  2 = False
267 -1 >  3 = False
268  
269 0 >  -3 = True
270 0 >  -2 = True
271 0 >  -1 = True
272 0 >  0 = False
273 0 >  1 = False
274 0 >  2 = False
275 0 >  3 = False
276  
277 1 >  -3 = True
278 1 >  -2 = True
279 1 >  -1 = True
280 1 >  0 = True
281 1 >  1 = False
282 1 >  2 = False
283 1 >  3 = False
284  
285 2 >  -3 = True
286 2 >  -2 = True
287 2 >  -1 = True
288 2 >  0 = True
289 2 >  1 = True
290 2 >  2 = False
291 2 >  3 = False
292  
293 3 >  -3 = True
294 3 >  -2 = True
295 3 >  -1 = True
296 3 >  0 = True
297 3 >  1 = True
298 3 >  2 = True
299 3 >  3 = False
300  
301 #
302 -3 >= -3 = True
303 -3 >= -2 = False
304 -3 >= -1 = False
305 -3 >= 0 = False
306 -3 >= 1 = False
307 -3 >= 2 = False
308 -3 >= 3 = False
309  
310 -2 >= -3 = True
311 -2 >= -2 = True
312 -2 >= -1 = False
313 -2 >= 0 = False
314 -2 >= 1 = False
315 -2 >= 2 = False
316 -2 >= 3 = False
317  
318 -1 >= -3 = True
319 -1 >= -2 = True
320 -1 >= -1 = True
321 -1 >= 0 = False
322 -1 >= 1 = False
323 -1 >= 2 = False
324 -1 >= 3 = False
325  
326 0 >= -3 = True
327 0 >= -2 = True
328 0 >= -1 = True
329 0 >= 0 = True
330 0 >= 1 = False
331 0 >= 2 = False
332 0 >= 3 = False
333  
334 1 >= -3 = True
335 1 >= -2 = True
336 1 >= -1 = True
337 1 >= 0 = True
338 1 >= 1 = True
339 1 >= 2 = False
340 1 >= 3 = False
341  
342 2 >= -3 = True
343 2 >= -2 = True
344 2 >= -1 = True
345 2 >= 0 = True
346 2 >= 1 = True
347 2 >= 2 = True
348 2 >= 3 = False
349  
350 3 >= -3 = True
351 3 >= -2 = True
352 3 >= -1 = True
353 3 >= 0 = True
354 3 >= 1 = True
355 3 >= 2 = True
356 3 >= 3 = True
357  
358 #
359 -3 `compare` -3 = EQ
360 -3 `compare` -2 = LT
361 -3 `compare` -1 = LT
362 -3 `compare` 0 = LT
363 -3 `compare` 1 = LT
364 -3 `compare` 2 = LT
365 -3 `compare` 3 = LT
366  
367 -2 `compare` -3 = GT
368 -2 `compare` -2 = EQ
369 -2 `compare` -1 = LT
370 -2 `compare` 0 = LT
371 -2 `compare` 1 = LT
372 -2 `compare` 2 = LT
373 -2 `compare` 3 = LT
374  
375 -1 `compare` -3 = GT
376 -1 `compare` -2 = GT
377 -1 `compare` -1 = EQ
378 -1 `compare` 0 = LT
379 -1 `compare` 1 = LT
380 -1 `compare` 2 = LT
381 -1 `compare` 3 = LT
382  
383 0 `compare` -3 = GT
384 0 `compare` -2 = GT
385 0 `compare` -1 = GT
386 0 `compare` 0 = EQ
387 0 `compare` 1 = LT
388 0 `compare` 2 = LT
389 0 `compare` 3 = LT
390  
391 1 `compare` -3 = GT
392 1 `compare` -2 = GT
393 1 `compare` -1 = GT
394 1 `compare` 0 = GT
395 1 `compare` 1 = EQ
396 1 `compare` 2 = LT
397 1 `compare` 3 = LT
398  
399 2 `compare` -3 = GT
400 2 `compare` -2 = GT
401 2 `compare` -1 = GT
402 2 `compare` 0 = GT
403 2 `compare` 1 = GT
404 2 `compare` 2 = EQ
405 2 `compare` 3 = LT
406  
407 3 `compare` -3 = GT
408 3 `compare` -2 = GT
409 3 `compare` -1 = GT
410 3 `compare` 0 = GT
411 3 `compare` 1 = GT
412 3 `compare` 2 = GT
413 3 `compare` 3 = EQ
414  
415 #
416 testNum
417 -3 + -3 = -6
418 -3 + -2 = -5
419 -3 + -1 = -4
420 -3 + 0 = -3
421 -3 + 1 = -2
422 -3 + 2 = -1
423 -3 + 3 = 0
424  
425 -2 + -3 = -5
426 -2 + -2 = -4
427 -2 + -1 = -3
428 -2 + 0 = -2
429 -2 + 1 = -1
430 -2 + 2 = 0
431 -2 + 3 = 1
432  
433 -1 + -3 = -4
434 -1 + -2 = -3
435 -1 + -1 = -2
436 -1 + 0 = -1
437 -1 + 1 = 0
438 -1 + 2 = 1
439 -1 + 3 = 2
440  
441 0 + -3 = -3
442 0 + -2 = -2
443 0 + -1 = -1
444 0 + 0 = 0
445 0 + 1 = 1
446 0 + 2 = 2
447 0 + 3 = 3
448  
449 1 + -3 = -2
450 1 + -2 = -1
451 1 + -1 = 0
452 1 + 0 = 1
453 1 + 1 = 2
454 1 + 2 = 3
455 1 + 3 = 4
456  
457 2 + -3 = -1
458 2 + -2 = 0
459 2 + -1 = 1
460 2 + 0 = 2
461 2 + 1 = 3
462 2 + 2 = 4
463 2 + 3 = 5
464  
465 3 + -3 = 0
466 3 + -2 = 1
467 3 + -1 = 2
468 3 + 0 = 3
469 3 + 1 = 4
470 3 + 2 = 5
471 3 + 3 = 6
472  
473 #
474 -3 - -3 = 0
475 -3 - -2 = -1
476 -3 - -1 = -2
477 -3 - 0 = -3
478 -3 - 1 = -4
479 -3 - 2 = -5
480 -3 - 3 = -6
481  
482 -2 - -3 = 1
483 -2 - -2 = 0
484 -2 - -1 = -1
485 -2 - 0 = -2
486 -2 - 1 = -3
487 -2 - 2 = -4
488 -2 - 3 = -5
489  
490 -1 - -3 = 2
491 -1 - -2 = 1
492 -1 - -1 = 0
493 -1 - 0 = -1
494 -1 - 1 = -2
495 -1 - 2 = -3
496 -1 - 3 = -4
497  
498 0 - -3 = 3
499 0 - -2 = 2
500 0 - -1 = 1
501 0 - 0 = 0
502 0 - 1 = -1
503 0 - 2 = -2
504 0 - 3 = -3
505  
506 1 - -3 = 4
507 1 - -2 = 3
508 1 - -1 = 2
509 1 - 0 = 1
510 1 - 1 = 0
511 1 - 2 = -1
512 1 - 3 = -2
513  
514 2 - -3 = 5
515 2 - -2 = 4
516 2 - -1 = 3
517 2 - 0 = 2
518 2 - 1 = 1
519 2 - 2 = 0
520 2 - 3 = -1
521  
522 3 - -3 = 6
523 3 - -2 = 5
524 3 - -1 = 4
525 3 - 0 = 3
526 3 - 1 = 2
527 3 - 2 = 1
528 3 - 3 = 0
529  
530 #
531 -3 * -3 = 9
532 -3 * -2 = 6
533 -3 * -1 = 3
534 -3 * 0 = 0
535 -3 * 1 = -3
536 -3 * 2 = -6
537 -3 * 3 = -9
538  
539 -2 * -3 = 6
540 -2 * -2 = 4
541 -2 * -1 = 2
542 -2 * 0 = 0
543 -2 * 1 = -2
544 -2 * 2 = -4
545 -2 * 3 = -6
546  
547 -1 * -3 = 3
548 -1 * -2 = 2
549 -1 * -1 = 1
550 -1 * 0 = 0
551 -1 * 1 = -1
552 -1 * 2 = -2
553 -1 * 3 = -3
554  
555 0 * -3 = 0
556 0 * -2 = 0
557 0 * -1 = 0
558 0 * 0 = 0
559 0 * 1 = 0
560 0 * 2 = 0
561 0 * 3 = 0
562  
563 1 * -3 = -3
564 1 * -2 = -2
565 1 * -1 = -1
566 1 * 0 = 0
567 1 * 1 = 1
568 1 * 2 = 2
569 1 * 3 = 3
570  
571 2 * -3 = -6
572 2 * -2 = -4
573 2 * -1 = -2
574 2 * 0 = 0
575 2 * 1 = 2
576 2 * 2 = 4
577 2 * 3 = 6
578  
579 3 * -3 = -9
580 3 * -2 = -6
581 3 * -1 = -3
582 3 * 0 = 0
583 3 * 1 = 3
584 3 * 2 = 6
585 3 * 3 = 9
586  
587 #
588 negate -3 = 3
589 negate -2 = 2
590 negate -1 = 1
591 negate 0 = 0
592 negate 1 = -1
593 negate 2 = -2
594 negate 3 = -3
595 #
596 testReal
597 toRational -3 = -3 % 1
598 toRational -2 = -2 % 1
599 toRational -1 = -1 % 1
600 toRational 0 = 0 % 1
601 toRational 1 = 1 % 1
602 toRational 2 = 2 % 1
603 toRational 3 = 3 % 1
604 #
605 testIntegral
606 -3 `divMod`  -3 = (1,0)
607 -3 `divMod`  -2 = (1,-1)
608 -3 `divMod`  -1 = (3,0)
609 -3 `divMod`  1 = (-3,0)
610 -3 `divMod`  2 = (-2,1)
611 -3 `divMod`  3 = (-1,0)
612  
613 -2 `divMod`  -3 = (0,-2)
614 -2 `divMod`  -2 = (1,0)
615 -2 `divMod`  -1 = (2,0)
616 -2 `divMod`  1 = (-2,0)
617 -2 `divMod`  2 = (-1,0)
618 -2 `divMod`  3 = (-1,1)
619  
620 -1 `divMod`  -3 = (0,-1)
621 -1 `divMod`  -2 = (0,-1)
622 -1 `divMod`  -1 = (1,0)
623 -1 `divMod`  1 = (-1,0)
624 -1 `divMod`  2 = (-1,1)
625 -1 `divMod`  3 = (-1,2)
626  
627 0 `divMod`  -3 = (0,0)
628 0 `divMod`  -2 = (0,0)
629 0 `divMod`  -1 = (0,0)
630 0 `divMod`  1 = (0,0)
631 0 `divMod`  2 = (0,0)
632 0 `divMod`  3 = (0,0)
633  
634 1 `divMod`  -3 = (-1,-2)
635 1 `divMod`  -2 = (-1,-1)
636 1 `divMod`  -1 = (-1,0)
637 1 `divMod`  1 = (1,0)
638 1 `divMod`  2 = (0,1)
639 1 `divMod`  3 = (0,1)
640  
641 2 `divMod`  -3 = (-1,-1)
642 2 `divMod`  -2 = (-1,0)
643 2 `divMod`  -1 = (-2,0)
644 2 `divMod`  1 = (2,0)
645 2 `divMod`  2 = (1,0)
646 2 `divMod`  3 = (0,2)
647  
648 3 `divMod`  -3 = (-1,0)
649 3 `divMod`  -2 = (-2,-1)
650 3 `divMod`  -1 = (-3,0)
651 3 `divMod`  1 = (3,0)
652 3 `divMod`  2 = (1,1)
653 3 `divMod`  3 = (1,0)
654  
655 #
656 -3 `div`     -3 = 1
657 -3 `div`     -2 = 1
658 -3 `div`     -1 = 3
659 -3 `div`     1 = -3
660 -3 `div`     2 = -2
661 -3 `div`     3 = -1
662  
663 -2 `div`     -3 = 0
664 -2 `div`     -2 = 1
665 -2 `div`     -1 = 2
666 -2 `div`     1 = -2
667 -2 `div`     2 = -1
668 -2 `div`     3 = -1
669  
670 -1 `div`     -3 = 0
671 -1 `div`     -2 = 0
672 -1 `div`     -1 = 1
673 -1 `div`     1 = -1
674 -1 `div`     2 = -1
675 -1 `div`     3 = -1
676  
677 0 `div`     -3 = 0
678 0 `div`     -2 = 0
679 0 `div`     -1 = 0
680 0 `div`     1 = 0
681 0 `div`     2 = 0
682 0 `div`     3 = 0
683  
684 1 `div`     -3 = -1
685 1 `div`     -2 = -1
686 1 `div`     -1 = -1
687 1 `div`     1 = 1
688 1 `div`     2 = 0
689 1 `div`     3 = 0
690  
691 2 `div`     -3 = -1
692 2 `div`     -2 = -1
693 2 `div`     -1 = -2
694 2 `div`     1 = 2
695 2 `div`     2 = 1
696 2 `div`     3 = 0
697  
698 3 `div`     -3 = -1
699 3 `div`     -2 = -2
700 3 `div`     -1 = -3
701 3 `div`     1 = 3
702 3 `div`     2 = 1
703 3 `div`     3 = 1
704  
705 #
706 -3 `mod`     -3 = 0
707 -3 `mod`     -2 = -1
708 -3 `mod`     -1 = 0
709 -3 `mod`     1 = 0
710 -3 `mod`     2 = 1
711 -3 `mod`     3 = 0
712  
713 -2 `mod`     -3 = -2
714 -2 `mod`     -2 = 0
715 -2 `mod`     -1 = 0
716 -2 `mod`     1 = 0
717 -2 `mod`     2 = 0
718 -2 `mod`     3 = 1
719  
720 -1 `mod`     -3 = -1
721 -1 `mod`     -2 = -1
722 -1 `mod`     -1 = 0
723 -1 `mod`     1 = 0
724 -1 `mod`     2 = 1
725 -1 `mod`     3 = 2
726  
727 0 `mod`     -3 = 0
728 0 `mod`     -2 = 0
729 0 `mod`     -1 = 0
730 0 `mod`     1 = 0
731 0 `mod`     2 = 0
732 0 `mod`     3 = 0
733  
734 1 `mod`     -3 = -2
735 1 `mod`     -2 = -1
736 1 `mod`     -1 = 0
737 1 `mod`     1 = 0
738 1 `mod`     2 = 1
739 1 `mod`     3 = 1
740  
741 2 `mod`     -3 = -1
742 2 `mod`     -2 = 0
743 2 `mod`     -1 = 0
744 2 `mod`     1 = 0
745 2 `mod`     2 = 0
746 2 `mod`     3 = 2
747  
748 3 `mod`     -3 = 0
749 3 `mod`     -2 = -1
750 3 `mod`     -1 = 0
751 3 `mod`     1 = 0
752 3 `mod`     2 = 1
753 3 `mod`     3 = 0
754  
755 #
756 -3 `quotRem` -3 = (1,0)
757 -3 `quotRem` -2 = (1,-1)
758 -3 `quotRem` -1 = (3,0)
759 -3 `quotRem` 1 = (-3,0)
760 -3 `quotRem` 2 = (-1,-1)
761 -3 `quotRem` 3 = (-1,0)
762  
763 -2 `quotRem` -3 = (0,-2)
764 -2 `quotRem` -2 = (1,0)
765 -2 `quotRem` -1 = (2,0)
766 -2 `quotRem` 1 = (-2,0)
767 -2 `quotRem` 2 = (-1,0)
768 -2 `quotRem` 3 = (0,-2)
769  
770 -1 `quotRem` -3 = (0,-1)
771 -1 `quotRem` -2 = (0,-1)
772 -1 `quotRem` -1 = (1,0)
773 -1 `quotRem` 1 = (-1,0)
774 -1 `quotRem` 2 = (0,-1)
775 -1 `quotRem` 3 = (0,-1)
776  
777 0 `quotRem` -3 = (0,0)
778 0 `quotRem` -2 = (0,0)
779 0 `quotRem` -1 = (0,0)
780 0 `quotRem` 1 = (0,0)
781 0 `quotRem` 2 = (0,0)
782 0 `quotRem` 3 = (0,0)
783  
784 1 `quotRem` -3 = (0,1)
785 1 `quotRem` -2 = (0,1)
786 1 `quotRem` -1 = (-1,0)
787 1 `quotRem` 1 = (1,0)
788 1 `quotRem` 2 = (0,1)
789 1 `quotRem` 3 = (0,1)
790  
791 2 `quotRem` -3 = (0,2)
792 2 `quotRem` -2 = (-1,0)
793 2 `quotRem` -1 = (-2,0)
794 2 `quotRem` 1 = (2,0)
795 2 `quotRem` 2 = (1,0)
796 2 `quotRem` 3 = (0,2)
797  
798 3 `quotRem` -3 = (-1,0)
799 3 `quotRem` -2 = (-1,1)
800 3 `quotRem` -1 = (-3,0)
801 3 `quotRem` 1 = (3,0)
802 3 `quotRem` 2 = (1,1)
803 3 `quotRem` 3 = (1,0)
804  
805 #
806 -3 `quot`    -3 = 1
807 -3 `quot`    -2 = 1
808 -3 `quot`    -1 = 3
809 -3 `quot`    1 = -3
810 -3 `quot`    2 = -1
811 -3 `quot`    3 = -1
812  
813 -2 `quot`    -3 = 0
814 -2 `quot`    -2 = 1
815 -2 `quot`    -1 = 2
816 -2 `quot`    1 = -2
817 -2 `quot`    2 = -1
818 -2 `quot`    3 = 0
819  
820 -1 `quot`    -3 = 0
821 -1 `quot`    -2 = 0
822 -1 `quot`    -1 = 1
823 -1 `quot`    1 = -1
824 -1 `quot`    2 = 0
825 -1 `quot`    3 = 0
826  
827 0 `quot`    -3 = 0
828 0 `quot`    -2 = 0
829 0 `quot`    -1 = 0
830 0 `quot`    1 = 0
831 0 `quot`    2 = 0
832 0 `quot`    3 = 0
833  
834 1 `quot`    -3 = 0
835 1 `quot`    -2 = 0
836 1 `quot`    -1 = -1
837 1 `quot`    1 = 1
838 1 `quot`    2 = 0
839 1 `quot`    3 = 0
840  
841 2 `quot`    -3 = 0
842 2 `quot`    -2 = -1
843 2 `quot`    -1 = -2
844 2 `quot`    1 = 2
845 2 `quot`    2 = 1
846 2 `quot`    3 = 0
847  
848 3 `quot`    -3 = -1
849 3 `quot`    -2 = -1
850 3 `quot`    -1 = -3
851 3 `quot`    1 = 3
852 3 `quot`    2 = 1
853 3 `quot`    3 = 1
854  
855 #
856 -3 `rem`     -3 = 0
857 -3 `rem`     -2 = -1
858 -3 `rem`     -1 = 0
859 -3 `rem`     1 = 0
860 -3 `rem`     2 = -1
861 -3 `rem`     3 = 0
862  
863 -2 `rem`     -3 = -2
864 -2 `rem`     -2 = 0
865 -2 `rem`     -1 = 0
866 -2 `rem`     1 = 0
867 -2 `rem`     2 = 0
868 -2 `rem`     3 = -2
869  
870 -1 `rem`     -3 = -1
871 -1 `rem`     -2 = -1
872 -1 `rem`     -1 = 0
873 -1 `rem`     1 = 0
874 -1 `rem`     2 = -1
875 -1 `rem`     3 = -1
876  
877 0 `rem`     -3 = 0
878 0 `rem`     -2 = 0
879 0 `rem`     -1 = 0
880 0 `rem`     1 = 0
881 0 `rem`     2 = 0
882 0 `rem`     3 = 0
883  
884 1 `rem`     -3 = 1
885 1 `rem`     -2 = 1
886 1 `rem`     -1 = 0
887 1 `rem`     1 = 0
888 1 `rem`     2 = 1
889 1 `rem`     3 = 1
890  
891 2 `rem`     -3 = 2
892 2 `rem`     -2 = 0
893 2 `rem`     -1 = 0
894 2 `rem`     1 = 0
895 2 `rem`     2 = 0
896 2 `rem`     3 = 2
897  
898 3 `rem`     -3 = 0
899 3 `rem`     -2 = 1
900 3 `rem`     -1 = 0
901 3 `rem`     1 = 0
902 3 `rem`     2 = 1
903 3 `rem`     3 = 0
904  
905 #
906 --------------------------------
907 --Testing Int8
908 --------------------------------
909 testBounded
910 (127,-128,-127)
911 (126,127,-128)
912 testEnum
913 [0,1,2,3,4,5,6,7,8,9]
914 [0,2,4,6,8,10,12,14,16,18]
915 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
916 [0,2,4,6,8,10,12,14,16,18,20]
917 testReadShow
918 [-3,-2,-1,0,1,2,3]
919 [-3,-2,-1,0,1,2,3]
920 testEq
921 -3 == -3 = True
922 -3 == -2 = False
923 -3 == -1 = False
924 -3 == 0 = False
925 -3 == 1 = False
926 -3 == 2 = False
927 -3 == 3 = False
928  
929 -2 == -3 = False
930 -2 == -2 = True
931 -2 == -1 = False
932 -2 == 0 = False
933 -2 == 1 = False
934 -2 == 2 = False
935 -2 == 3 = False
936  
937 -1 == -3 = False
938 -1 == -2 = False
939 -1 == -1 = True
940 -1 == 0 = False
941 -1 == 1 = False
942 -1 == 2 = False
943 -1 == 3 = False
944  
945 0 == -3 = False
946 0 == -2 = False
947 0 == -1 = False
948 0 == 0 = True
949 0 == 1 = False
950 0 == 2 = False
951 0 == 3 = False
952  
953 1 == -3 = False
954 1 == -2 = False
955 1 == -1 = False
956 1 == 0 = False
957 1 == 1 = True
958 1 == 2 = False
959 1 == 3 = False
960  
961 2 == -3 = False
962 2 == -2 = False
963 2 == -1 = False
964 2 == 0 = False
965 2 == 1 = False
966 2 == 2 = True
967 2 == 3 = False
968  
969 3 == -3 = False
970 3 == -2 = False
971 3 == -1 = False
972 3 == 0 = False
973 3 == 1 = False
974 3 == 2 = False
975 3 == 3 = True
976  
977 #
978 -3 /= -3 = False
979 -3 /= -2 = True
980 -3 /= -1 = True
981 -3 /= 0 = True
982 -3 /= 1 = True
983 -3 /= 2 = True
984 -3 /= 3 = True
985  
986 -2 /= -3 = True
987 -2 /= -2 = False
988 -2 /= -1 = True
989 -2 /= 0 = True
990 -2 /= 1 = True
991 -2 /= 2 = True
992 -2 /= 3 = True
993  
994 -1 /= -3 = True
995 -1 /= -2 = True
996 -1 /= -1 = False
997 -1 /= 0 = True
998 -1 /= 1 = True
999 -1 /= 2 = True
1000 -1 /= 3 = True
1001  
1002 0 /= -3 = True
1003 0 /= -2 = True
1004 0 /= -1 = True
1005 0 /= 0 = False
1006 0 /= 1 = True
1007 0 /= 2 = True
1008 0 /= 3 = True
1009  
1010 1 /= -3 = True
1011 1 /= -2 = True
1012 1 /= -1 = True
1013 1 /= 0 = True
1014 1 /= 1 = False
1015 1 /= 2 = True
1016 1 /= 3 = True
1017  
1018 2 /= -3 = True
1019 2 /= -2 = True
1020 2 /= -1 = True
1021 2 /= 0 = True
1022 2 /= 1 = True
1023 2 /= 2 = False
1024 2 /= 3 = True
1025  
1026 3 /= -3 = True
1027 3 /= -2 = True
1028 3 /= -1 = True
1029 3 /= 0 = True
1030 3 /= 1 = True
1031 3 /= 2 = True
1032 3 /= 3 = False
1033  
1034 #
1035 testOrd
1036 -3 <= -3 = True
1037 -3 <= -2 = True
1038 -3 <= -1 = True
1039 -3 <= 0 = True
1040 -3 <= 1 = True
1041 -3 <= 2 = True
1042 -3 <= 3 = True
1043  
1044 -2 <= -3 = False
1045 -2 <= -2 = True
1046 -2 <= -1 = True
1047 -2 <= 0 = True
1048 -2 <= 1 = True
1049 -2 <= 2 = True
1050 -2 <= 3 = True
1051  
1052 -1 <= -3 = False
1053 -1 <= -2 = False
1054 -1 <= -1 = True
1055 -1 <= 0 = True
1056 -1 <= 1 = True
1057 -1 <= 2 = True
1058 -1 <= 3 = True
1059  
1060 0 <= -3 = False
1061 0 <= -2 = False
1062 0 <= -1 = False
1063 0 <= 0 = True
1064 0 <= 1 = True
1065 0 <= 2 = True
1066 0 <= 3 = True
1067  
1068 1 <= -3 = False
1069 1 <= -2 = False
1070 1 <= -1 = False
1071 1 <= 0 = False
1072 1 <= 1 = True
1073 1 <= 2 = True
1074 1 <= 3 = True
1075  
1076 2 <= -3 = False
1077 2 <= -2 = False
1078 2 <= -1 = False
1079 2 <= 0 = False
1080 2 <= 1 = False
1081 2 <= 2 = True
1082 2 <= 3 = True
1083  
1084 3 <= -3 = False
1085 3 <= -2 = False
1086 3 <= -1 = False
1087 3 <= 0 = False
1088 3 <= 1 = False
1089 3 <= 2 = False
1090 3 <= 3 = True
1091  
1092 #
1093 -3 <  -3 = False
1094 -3 <  -2 = True
1095 -3 <  -1 = True
1096 -3 <  0 = True
1097 -3 <  1 = True
1098 -3 <  2 = True
1099 -3 <  3 = True
1100  
1101 -2 <  -3 = False
1102 -2 <  -2 = False
1103 -2 <  -1 = True
1104 -2 <  0 = True
1105 -2 <  1 = True
1106 -2 <  2 = True
1107 -2 <  3 = True
1108  
1109 -1 <  -3 = False
1110 -1 <  -2 = False
1111 -1 <  -1 = False
1112 -1 <  0 = True
1113 -1 <  1 = True
1114 -1 <  2 = True
1115 -1 <  3 = True
1116  
1117 0 <  -3 = False
1118 0 <  -2 = False
1119 0 <  -1 = False
1120 0 <  0 = False
1121 0 <  1 = True
1122 0 <  2 = True
1123 0 <  3 = True
1124  
1125 1 <  -3 = False
1126 1 <  -2 = False
1127 1 <  -1 = False
1128 1 <  0 = False
1129 1 <  1 = False
1130 1 <  2 = True
1131 1 <  3 = True
1132  
1133 2 <  -3 = False
1134 2 <  -2 = False
1135 2 <  -1 = False
1136 2 <  0 = False
1137 2 <  1 = False
1138 2 <  2 = False
1139 2 <  3 = True
1140  
1141 3 <  -3 = False
1142 3 <  -2 = False
1143 3 <  -1 = False
1144 3 <  0 = False
1145 3 <  1 = False
1146 3 <  2 = False
1147 3 <  3 = False
1148  
1149 #
1150 -3 >  -3 = False
1151 -3 >  -2 = False
1152 -3 >  -1 = False
1153 -3 >  0 = False
1154 -3 >  1 = False
1155 -3 >  2 = False
1156 -3 >  3 = False
1157  
1158 -2 >  -3 = True
1159 -2 >  -2 = False
1160 -2 >  -1 = False
1161 -2 >  0 = False
1162 -2 >  1 = False
1163 -2 >  2 = False
1164 -2 >  3 = False
1165  
1166 -1 >  -3 = True
1167 -1 >  -2 = True
1168 -1 >  -1 = False
1169 -1 >  0 = False
1170 -1 >  1 = False
1171 -1 >  2 = False
1172 -1 >  3 = False
1173  
1174 0 >  -3 = True
1175 0 >  -2 = True
1176 0 >  -1 = True
1177 0 >  0 = False
1178 0 >  1 = False
1179 0 >  2 = False
1180 0 >  3 = False
1181  
1182 1 >  -3 = True
1183 1 >  -2 = True
1184 1 >  -1 = True
1185 1 >  0 = True
1186 1 >  1 = False
1187 1 >  2 = False
1188 1 >  3 = False
1189  
1190 2 >  -3 = True
1191 2 >  -2 = True
1192 2 >  -1 = True
1193 2 >  0 = True
1194 2 >  1 = True
1195 2 >  2 = False
1196 2 >  3 = False
1197  
1198 3 >  -3 = True
1199 3 >  -2 = True
1200 3 >  -1 = True
1201 3 >  0 = True
1202 3 >  1 = True
1203 3 >  2 = True
1204 3 >  3 = False
1205  
1206 #
1207 -3 >= -3 = True
1208 -3 >= -2 = False
1209 -3 >= -1 = False
1210 -3 >= 0 = False
1211 -3 >= 1 = False
1212 -3 >= 2 = False
1213 -3 >= 3 = False
1214  
1215 -2 >= -3 = True
1216 -2 >= -2 = True
1217 -2 >= -1 = False
1218 -2 >= 0 = False
1219 -2 >= 1 = False
1220 -2 >= 2 = False
1221 -2 >= 3 = False
1222  
1223 -1 >= -3 = True
1224 -1 >= -2 = True
1225 -1 >= -1 = True
1226 -1 >= 0 = False
1227 -1 >= 1 = False
1228 -1 >= 2 = False
1229 -1 >= 3 = False
1230  
1231 0 >= -3 = True
1232 0 >= -2 = True
1233 0 >= -1 = True
1234 0 >= 0 = True
1235 0 >= 1 = False
1236 0 >= 2 = False
1237 0 >= 3 = False
1238  
1239 1 >= -3 = True
1240 1 >= -2 = True
1241 1 >= -1 = True
1242 1 >= 0 = True
1243 1 >= 1 = True
1244 1 >= 2 = False
1245 1 >= 3 = False
1246  
1247 2 >= -3 = True
1248 2 >= -2 = True
1249 2 >= -1 = True
1250 2 >= 0 = True
1251 2 >= 1 = True
1252 2 >= 2 = True
1253 2 >= 3 = False
1254  
1255 3 >= -3 = True
1256 3 >= -2 = True
1257 3 >= -1 = True
1258 3 >= 0 = True
1259 3 >= 1 = True
1260 3 >= 2 = True
1261 3 >= 3 = True
1262  
1263 #
1264 -3 `compare` -3 = EQ
1265 -3 `compare` -2 = LT
1266 -3 `compare` -1 = LT
1267 -3 `compare` 0 = LT
1268 -3 `compare` 1 = LT
1269 -3 `compare` 2 = LT
1270 -3 `compare` 3 = LT
1271  
1272 -2 `compare` -3 = GT
1273 -2 `compare` -2 = EQ
1274 -2 `compare` -1 = LT
1275 -2 `compare` 0 = LT
1276 -2 `compare` 1 = LT
1277 -2 `compare` 2 = LT
1278 -2 `compare` 3 = LT
1279  
1280 -1 `compare` -3 = GT
1281 -1 `compare` -2 = GT
1282 -1 `compare` -1 = EQ
1283 -1 `compare` 0 = LT
1284 -1 `compare` 1 = LT
1285 -1 `compare` 2 = LT
1286 -1 `compare` 3 = LT
1287  
1288 0 `compare` -3 = GT
1289 0 `compare` -2 = GT
1290 0 `compare` -1 = GT
1291 0 `compare` 0 = EQ
1292 0 `compare` 1 = LT
1293 0 `compare` 2 = LT
1294 0 `compare` 3 = LT
1295  
1296 1 `compare` -3 = GT
1297 1 `compare` -2 = GT
1298 1 `compare` -1 = GT
1299 1 `compare` 0 = GT
1300 1 `compare` 1 = EQ
1301 1 `compare` 2 = LT
1302 1 `compare` 3 = LT
1303  
1304 2 `compare` -3 = GT
1305 2 `compare` -2 = GT
1306 2 `compare` -1 = GT
1307 2 `compare` 0 = GT
1308 2 `compare` 1 = GT
1309 2 `compare` 2 = EQ
1310 2 `compare` 3 = LT
1311  
1312 3 `compare` -3 = GT
1313 3 `compare` -2 = GT
1314 3 `compare` -1 = GT
1315 3 `compare` 0 = GT
1316 3 `compare` 1 = GT
1317 3 `compare` 2 = GT
1318 3 `compare` 3 = EQ
1319  
1320 #
1321 testNum
1322 -3 + -3 = -6
1323 -3 + -2 = -5
1324 -3 + -1 = -4
1325 -3 + 0 = -3
1326 -3 + 1 = -2
1327 -3 + 2 = -1
1328 -3 + 3 = 0
1329  
1330 -2 + -3 = -5
1331 -2 + -2 = -4
1332 -2 + -1 = -3
1333 -2 + 0 = -2
1334 -2 + 1 = -1
1335 -2 + 2 = 0
1336 -2 + 3 = 1
1337  
1338 -1 + -3 = -4
1339 -1 + -2 = -3
1340 -1 + -1 = -2
1341 -1 + 0 = -1
1342 -1 + 1 = 0
1343 -1 + 2 = 1
1344 -1 + 3 = 2
1345  
1346 0 + -3 = -3
1347 0 + -2 = -2
1348 0 + -1 = -1
1349 0 + 0 = 0
1350 0 + 1 = 1
1351 0 + 2 = 2
1352 0 + 3 = 3
1353  
1354 1 + -3 = -2
1355 1 + -2 = -1
1356 1 + -1 = 0
1357 1 + 0 = 1
1358 1 + 1 = 2
1359 1 + 2 = 3
1360 1 + 3 = 4
1361  
1362 2 + -3 = -1
1363 2 + -2 = 0
1364 2 + -1 = 1
1365 2 + 0 = 2
1366 2 + 1 = 3
1367 2 + 2 = 4
1368 2 + 3 = 5
1369  
1370 3 + -3 = 0
1371 3 + -2 = 1
1372 3 + -1 = 2
1373 3 + 0 = 3
1374 3 + 1 = 4
1375 3 + 2 = 5
1376 3 + 3 = 6
1377  
1378 #
1379 -3 - -3 = 0
1380 -3 - -2 = -1
1381 -3 - -1 = -2
1382 -3 - 0 = -3
1383 -3 - 1 = -4
1384 -3 - 2 = -5
1385 -3 - 3 = -6
1386  
1387 -2 - -3 = 1
1388 -2 - -2 = 0
1389 -2 - -1 = -1
1390 -2 - 0 = -2
1391 -2 - 1 = -3
1392 -2 - 2 = -4
1393 -2 - 3 = -5
1394  
1395 -1 - -3 = 2
1396 -1 - -2 = 1
1397 -1 - -1 = 0
1398 -1 - 0 = -1
1399 -1 - 1 = -2
1400 -1 - 2 = -3
1401 -1 - 3 = -4
1402  
1403 0 - -3 = 3
1404 0 - -2 = 2
1405 0 - -1 = 1
1406 0 - 0 = 0
1407 0 - 1 = -1
1408 0 - 2 = -2
1409 0 - 3 = -3
1410  
1411 1 - -3 = 4
1412 1 - -2 = 3
1413 1 - -1 = 2
1414 1 - 0 = 1
1415 1 - 1 = 0
1416 1 - 2 = -1
1417 1 - 3 = -2
1418  
1419 2 - -3 = 5
1420 2 - -2 = 4
1421 2 - -1 = 3
1422 2 - 0 = 2
1423 2 - 1 = 1
1424 2 - 2 = 0
1425 2 - 3 = -1
1426  
1427 3 - -3 = 6
1428 3 - -2 = 5
1429 3 - -1 = 4
1430 3 - 0 = 3
1431 3 - 1 = 2
1432 3 - 2 = 1
1433 3 - 3 = 0
1434  
1435 #
1436 -3 * -3 = 9
1437 -3 * -2 = 6
1438 -3 * -1 = 3
1439 -3 * 0 = 0
1440 -3 * 1 = -3
1441 -3 * 2 = -6
1442 -3 * 3 = -9
1443  
1444 -2 * -3 = 6
1445 -2 * -2 = 4
1446 -2 * -1 = 2
1447 -2 * 0 = 0
1448 -2 * 1 = -2
1449 -2 * 2 = -4
1450 -2 * 3 = -6
1451  
1452 -1 * -3 = 3
1453 -1 * -2 = 2
1454 -1 * -1 = 1
1455 -1 * 0 = 0
1456 -1 * 1 = -1
1457 -1 * 2 = -2
1458 -1 * 3 = -3
1459  
1460 0 * -3 = 0
1461 0 * -2 = 0
1462 0 * -1 = 0
1463 0 * 0 = 0
1464 0 * 1 = 0
1465 0 * 2 = 0
1466 0 * 3 = 0
1467  
1468 1 * -3 = -3
1469 1 * -2 = -2
1470 1 * -1 = -1
1471 1 * 0 = 0
1472 1 * 1 = 1
1473 1 * 2 = 2
1474 1 * 3 = 3
1475  
1476 2 * -3 = -6
1477 2 * -2 = -4
1478 2 * -1 = -2
1479 2 * 0 = 0
1480 2 * 1 = 2
1481 2 * 2 = 4
1482 2 * 3 = 6
1483  
1484 3 * -3 = -9
1485 3 * -2 = -6
1486 3 * -1 = -3
1487 3 * 0 = 0
1488 3 * 1 = 3
1489 3 * 2 = 6
1490 3 * 3 = 9
1491  
1492 #
1493 negate -3 = 3
1494 negate -2 = 2
1495 negate -1 = 1
1496 negate 0 = 0
1497 negate 1 = -1
1498 negate 2 = -2
1499 negate 3 = -3
1500 #
1501 testReal
1502 toRational -3 = -3 % 1
1503 toRational -2 = -2 % 1
1504 toRational -1 = -1 % 1
1505 toRational 0 = 0 % 1
1506 toRational 1 = 1 % 1
1507 toRational 2 = 2 % 1
1508 toRational 3 = 3 % 1
1509 #
1510 testIntegral
1511 -3 `divMod`  -3 = (1,0)
1512 -3 `divMod`  -2 = (1,-1)
1513 -3 `divMod`  -1 = (3,0)
1514 -3 `divMod`  1 = (-3,0)
1515 -3 `divMod`  2 = (-2,1)
1516 -3 `divMod`  3 = (-1,0)
1517  
1518 -2 `divMod`  -3 = (0,-2)
1519 -2 `divMod`  -2 = (1,0)
1520 -2 `divMod`  -1 = (2,0)
1521 -2 `divMod`  1 = (-2,0)
1522 -2 `divMod`  2 = (-1,0)
1523 -2 `divMod`  3 = (-1,1)
1524  
1525 -1 `divMod`  -3 = (0,-1)
1526 -1 `divMod`  -2 = (0,-1)
1527 -1 `divMod`  -1 = (1,0)
1528 -1 `divMod`  1 = (-1,0)
1529 -1 `divMod`  2 = (-1,1)
1530 -1 `divMod`  3 = (-1,2)
1531  
1532 0 `divMod`  -3 = (0,0)
1533 0 `divMod`  -2 = (0,0)
1534 0 `divMod`  -1 = (0,0)
1535 0 `divMod`  1 = (0,0)
1536 0 `divMod`  2 = (0,0)
1537 0 `divMod`  3 = (0,0)
1538  
1539 1 `divMod`  -3 = (-1,-2)
1540 1 `divMod`  -2 = (-1,-1)
1541 1 `divMod`  -1 = (-1,0)
1542 1 `divMod`  1 = (1,0)
1543 1 `divMod`  2 = (0,1)
1544 1 `divMod`  3 = (0,1)
1545  
1546 2 `divMod`  -3 = (-1,-1)
1547 2 `divMod`  -2 = (-1,0)
1548 2 `divMod`  -1 = (-2,0)
1549 2 `divMod`  1 = (2,0)
1550 2 `divMod`  2 = (1,0)
1551 2 `divMod`  3 = (0,2)
1552  
1553 3 `divMod`  -3 = (-1,0)
1554 3 `divMod`  -2 = (-2,-1)
1555 3 `divMod`  -1 = (-3,0)
1556 3 `divMod`  1 = (3,0)
1557 3 `divMod`  2 = (1,1)
1558 3 `divMod`  3 = (1,0)
1559  
1560 #
1561 -3 `div`     -3 = 1
1562 -3 `div`     -2 = 1
1563 -3 `div`     -1 = 3
1564 -3 `div`     1 = -3
1565 -3 `div`     2 = -2
1566 -3 `div`     3 = -1
1567  
1568 -2 `div`     -3 = 0
1569 -2 `div`     -2 = 1
1570 -2 `div`     -1 = 2
1571 -2 `div`     1 = -2
1572 -2 `div`     2 = -1
1573 -2 `div`     3 = -1
1574  
1575 -1 `div`     -3 = 0
1576 -1 `div`     -2 = 0
1577 -1 `div`     -1 = 1
1578 -1 `div`     1 = -1
1579 -1 `div`     2 = -1
1580 -1 `div`     3 = -1
1581  
1582 0 `div`     -3 = 0
1583 0 `div`     -2 = 0
1584 0 `div`     -1 = 0
1585 0 `div`     1 = 0
1586 0 `div`     2 = 0
1587 0 `div`     3 = 0
1588  
1589 1 `div`     -3 = -1
1590 1 `div`     -2 = -1
1591 1 `div`     -1 = -1
1592 1 `div`     1 = 1
1593 1 `div`     2 = 0
1594 1 `div`     3 = 0
1595  
1596 2 `div`     -3 = -1
1597 2 `div`     -2 = -1
1598 2 `div`     -1 = -2
1599 2 `div`     1 = 2
1600 2 `div`     2 = 1
1601 2 `div`     3 = 0
1602  
1603 3 `div`     -3 = -1
1604 3 `div`     -2 = -2
1605 3 `div`     -1 = -3
1606 3 `div`     1 = 3
1607 3 `div`     2 = 1
1608 3 `div`     3 = 1
1609  
1610 #
1611 -3 `mod`     -3 = 0
1612 -3 `mod`     -2 = -1
1613 -3 `mod`     -1 = 0
1614 -3 `mod`     1 = 0
1615 -3 `mod`     2 = 1
1616 -3 `mod`     3 = 0
1617  
1618 -2 `mod`     -3 = -2
1619 -2 `mod`     -2 = 0
1620 -2 `mod`     -1 = 0
1621 -2 `mod`     1 = 0
1622 -2 `mod`     2 = 0
1623 -2 `mod`     3 = 1
1624  
1625 -1 `mod`     -3 = -1
1626 -1 `mod`     -2 = -1
1627 -1 `mod`     -1 = 0
1628 -1 `mod`     1 = 0
1629 -1 `mod`     2 = 1
1630 -1 `mod`     3 = 2
1631  
1632 0 `mod`     -3 = 0
1633 0 `mod`     -2 = 0
1634 0 `mod`     -1 = 0
1635 0 `mod`     1 = 0
1636 0 `mod`     2 = 0
1637 0 `mod`     3 = 0
1638  
1639 1 `mod`     -3 = -2
1640 1 `mod`     -2 = -1
1641 1 `mod`     -1 = 0
1642 1 `mod`     1 = 0
1643 1 `mod`     2 = 1
1644 1 `mod`     3 = 1
1645  
1646 2 `mod`     -3 = -1
1647 2 `mod`     -2 = 0
1648 2 `mod`     -1 = 0
1649 2 `mod`     1 = 0
1650 2 `mod`     2 = 0
1651 2 `mod`     3 = 2
1652  
1653 3 `mod`     -3 = 0
1654 3 `mod`     -2 = -1
1655 3 `mod`     -1 = 0
1656 3 `mod`     1 = 0
1657 3 `mod`     2 = 1
1658 3 `mod`     3 = 0
1659  
1660 #
1661 -3 `quotRem` -3 = (1,0)
1662 -3 `quotRem` -2 = (1,-1)
1663 -3 `quotRem` -1 = (3,0)
1664 -3 `quotRem` 1 = (-3,0)
1665 -3 `quotRem` 2 = (-1,-1)
1666 -3 `quotRem` 3 = (-1,0)
1667  
1668 -2 `quotRem` -3 = (0,-2)
1669 -2 `quotRem` -2 = (1,0)
1670 -2 `quotRem` -1 = (2,0)
1671 -2 `quotRem` 1 = (-2,0)
1672 -2 `quotRem` 2 = (-1,0)
1673 -2 `quotRem` 3 = (0,-2)
1674  
1675 -1 `quotRem` -3 = (0,-1)
1676 -1 `quotRem` -2 = (0,-1)
1677 -1 `quotRem` -1 = (1,0)
1678 -1 `quotRem` 1 = (-1,0)
1679 -1 `quotRem` 2 = (0,-1)
1680 -1 `quotRem` 3 = (0,-1)
1681  
1682 0 `quotRem` -3 = (0,0)
1683 0 `quotRem` -2 = (0,0)
1684 0 `quotRem` -1 = (0,0)
1685 0 `quotRem` 1 = (0,0)
1686 0 `quotRem` 2 = (0,0)
1687 0 `quotRem` 3 = (0,0)
1688  
1689 1 `quotRem` -3 = (0,1)
1690 1 `quotRem` -2 = (0,1)
1691 1 `quotRem` -1 = (-1,0)
1692 1 `quotRem` 1 = (1,0)
1693 1 `quotRem` 2 = (0,1)
1694 1 `quotRem` 3 = (0,1)
1695  
1696 2 `quotRem` -3 = (0,2)
1697 2 `quotRem` -2 = (-1,0)
1698 2 `quotRem` -1 = (-2,0)
1699 2 `quotRem` 1 = (2,0)
1700 2 `quotRem` 2 = (1,0)
1701 2 `quotRem` 3 = (0,2)
1702  
1703 3 `quotRem` -3 = (-1,0)
1704 3 `quotRem` -2 = (-1,1)
1705 3 `quotRem` -1 = (-3,0)
1706 3 `quotRem` 1 = (3,0)
1707 3 `quotRem` 2 = (1,1)
1708 3 `quotRem` 3 = (1,0)
1709  
1710 #
1711 -3 `quot`    -3 = 1
1712 -3 `quot`    -2 = 1
1713 -3 `quot`    -1 = 3
1714 -3 `quot`    1 = -3
1715 -3 `quot`    2 = -1
1716 -3 `quot`    3 = -1
1717  
1718 -2 `quot`    -3 = 0
1719 -2 `quot`    -2 = 1
1720 -2 `quot`    -1 = 2
1721 -2 `quot`    1 = -2
1722 -2 `quot`    2 = -1
1723 -2 `quot`    3 = 0
1724  
1725 -1 `quot`    -3 = 0
1726 -1 `quot`    -2 = 0
1727 -1 `quot`    -1 = 1
1728 -1 `quot`    1 = -1
1729 -1 `quot`    2 = 0
1730 -1 `quot`    3 = 0
1731  
1732 0 `quot`    -3 = 0
1733 0 `quot`    -2 = 0
1734 0 `quot`    -1 = 0
1735 0 `quot`    1 = 0
1736 0 `quot`    2 = 0
1737 0 `quot`    3 = 0
1738  
1739 1 `quot`    -3 = 0
1740 1 `quot`    -2 = 0
1741 1 `quot`    -1 = -1
1742 1 `quot`    1 = 1
1743 1 `quot`    2 = 0
1744 1 `quot`    3 = 0
1745  
1746 2 `quot`    -3 = 0
1747 2 `quot`    -2 = -1
1748 2 `quot`    -1 = -2
1749 2 `quot`    1 = 2
1750 2 `quot`    2 = 1
1751 2 `quot`    3 = 0
1752  
1753 3 `quot`    -3 = -1
1754 3 `quot`    -2 = -1
1755 3 `quot`    -1 = -3
1756 3 `quot`    1 = 3
1757 3 `quot`    2 = 1
1758 3 `quot`    3 = 1
1759  
1760 #
1761 -3 `rem`     -3 = 0
1762 -3 `rem`     -2 = -1
1763 -3 `rem`     -1 = 0
1764 -3 `rem`     1 = 0
1765 -3 `rem`     2 = -1
1766 -3 `rem`     3 = 0
1767  
1768 -2 `rem`     -3 = -2
1769 -2 `rem`     -2 = 0
1770 -2 `rem`     -1 = 0
1771 -2 `rem`     1 = 0
1772 -2 `rem`     2 = 0
1773 -2 `rem`     3 = -2
1774  
1775 -1 `rem`     -3 = -1
1776 -1 `rem`     -2 = -1
1777 -1 `rem`     -1 = 0
1778 -1 `rem`     1 = 0
1779 -1 `rem`     2 = -1
1780 -1 `rem`     3 = -1
1781  
1782 0 `rem`     -3 = 0
1783 0 `rem`     -2 = 0
1784 0 `rem`     -1 = 0
1785 0 `rem`     1 = 0
1786 0 `rem`     2 = 0
1787 0 `rem`     3 = 0
1788  
1789 1 `rem`     -3 = 1
1790 1 `rem`     -2 = 1
1791 1 `rem`     -1 = 0
1792 1 `rem`     1 = 0
1793 1 `rem`     2 = 1
1794 1 `rem`     3 = 1
1795  
1796 2 `rem`     -3 = 2
1797 2 `rem`     -2 = 0
1798 2 `rem`     -1 = 0
1799 2 `rem`     1 = 0
1800 2 `rem`     2 = 0
1801 2 `rem`     3 = 2
1802  
1803 3 `rem`     -3 = 0
1804 3 `rem`     -2 = 1
1805 3 `rem`     -1 = 0
1806 3 `rem`     1 = 0
1807 3 `rem`     2 = 1
1808 3 `rem`     3 = 0
1809  
1810 #
1811 testBits
1812 -3 .&.   -3 = -3
1813 -3 .&.   -2 = -4
1814 -3 .&.   -1 = -3
1815 -3 .&.   1 = 1
1816 -3 .&.   2 = 0
1817 -3 .&.   3 = 1
1818  
1819 -2 .&.   -3 = -4
1820 -2 .&.   -2 = -2
1821 -2 .&.   -1 = -2
1822 -2 .&.   1 = 0
1823 -2 .&.   2 = 2
1824 -2 .&.   3 = 2
1825  
1826 -1 .&.   -3 = -3
1827 -1 .&.   -2 = -2
1828 -1 .&.   -1 = -1
1829 -1 .&.   1 = 1
1830 -1 .&.   2 = 2
1831 -1 .&.   3 = 3
1832  
1833 0 .&.   -3 = 0
1834 0 .&.   -2 = 0
1835 0 .&.   -1 = 0
1836 0 .&.   1 = 0
1837 0 .&.   2 = 0
1838 0 .&.   3 = 0
1839  
1840 1 .&.   -3 = 1
1841 1 .&.   -2 = 0
1842 1 .&.   -1 = 1
1843 1 .&.   1 = 1
1844 1 .&.   2 = 0
1845 1 .&.   3 = 1
1846  
1847 2 .&.   -3 = 0
1848 2 .&.   -2 = 2
1849 2 .&.   -1 = 2
1850 2 .&.   1 = 0
1851 2 .&.   2 = 2
1852 2 .&.   3 = 2
1853  
1854 3 .&.   -3 = 1
1855 3 .&.   -2 = 2
1856 3 .&.   -1 = 3
1857 3 .&.   1 = 1
1858 3 .&.   2 = 2
1859 3 .&.   3 = 3
1860  
1861 #
1862 -3 .|.   -3 = -3
1863 -3 .|.   -2 = -1
1864 -3 .|.   -1 = -1
1865 -3 .|.   1 = -3
1866 -3 .|.   2 = -1
1867 -3 .|.   3 = -1
1868  
1869 -2 .|.   -3 = -1
1870 -2 .|.   -2 = -2
1871 -2 .|.   -1 = -1
1872 -2 .|.   1 = -1
1873 -2 .|.   2 = -2
1874 -2 .|.   3 = -1
1875  
1876 -1 .|.   -3 = -1
1877 -1 .|.   -2 = -1
1878 -1 .|.   -1 = -1
1879 -1 .|.   1 = -1
1880 -1 .|.   2 = -1
1881 -1 .|.   3 = -1
1882  
1883 0 .|.   -3 = -3
1884 0 .|.   -2 = -2
1885 0 .|.   -1 = -1
1886 0 .|.   1 = 1
1887 0 .|.   2 = 2
1888 0 .|.   3 = 3
1889  
1890 1 .|.   -3 = -3
1891 1 .|.   -2 = -1
1892 1 .|.   -1 = -1
1893 1 .|.   1 = 1
1894 1 .|.   2 = 3
1895 1 .|.   3 = 3
1896  
1897 2 .|.   -3 = -1
1898 2 .|.   -2 = -2
1899 2 .|.   -1 = -1
1900 2 .|.   1 = 3
1901 2 .|.   2 = 2
1902 2 .|.   3 = 3
1903  
1904 3 .|.   -3 = -1
1905 3 .|.   -2 = -1
1906 3 .|.   -1 = -1
1907 3 .|.   1 = 3
1908 3 .|.   2 = 3
1909 3 .|.   3 = 3
1910  
1911 #
1912 -3 `xor` -3 = 0
1913 -3 `xor` -2 = 3
1914 -3 `xor` -1 = 2
1915 -3 `xor` 1 = -4
1916 -3 `xor` 2 = -1
1917 -3 `xor` 3 = -2
1918  
1919 -2 `xor` -3 = 3
1920 -2 `xor` -2 = 0
1921 -2 `xor` -1 = 1
1922 -2 `xor` 1 = -1
1923 -2 `xor` 2 = -4
1924 -2 `xor` 3 = -3
1925  
1926 -1 `xor` -3 = 2
1927 -1 `xor` -2 = 1
1928 -1 `xor` -1 = 0
1929 -1 `xor` 1 = -2
1930 -1 `xor` 2 = -3
1931 -1 `xor` 3 = -4
1932  
1933 0 `xor` -3 = -3
1934 0 `xor` -2 = -2
1935 0 `xor` -1 = -1
1936 0 `xor` 1 = 1
1937 0 `xor` 2 = 2
1938 0 `xor` 3 = 3
1939  
1940 1 `xor` -3 = -4
1941 1 `xor` -2 = -1
1942 1 `xor` -1 = -2
1943 1 `xor` 1 = 0
1944 1 `xor` 2 = 3
1945 1 `xor` 3 = 2
1946  
1947 2 `xor` -3 = -1
1948 2 `xor` -2 = -4
1949 2 `xor` -1 = -3
1950 2 `xor` 1 = 3
1951 2 `xor` 2 = 0
1952 2 `xor` 3 = 1
1953  
1954 3 `xor` -3 = -2
1955 3 `xor` -2 = -3
1956 3 `xor` -1 = -4
1957 3 `xor` 1 = 2
1958 3 `xor` 2 = 1
1959 3 `xor` 3 = 0
1960  
1961 #
1962 complement -3 = 2
1963 complement -2 = 1
1964 complement -1 = 0
1965 complement 0 = -1
1966 complement 1 = -2
1967 complement 2 = -3
1968 complement 3 = -4
1969 #
1970 -3 `shiftL` 0 = -3
1971 -3 `shiftL` 1 = -6
1972 -3 `shiftL` 2 = -12
1973 -3 `shiftL` 3 = -24
1974 -3 `shiftL` 32 = 0
1975  
1976 -2 `shiftL` 0 = -2
1977 -2 `shiftL` 1 = -4
1978 -2 `shiftL` 2 = -8
1979 -2 `shiftL` 3 = -16
1980 -2 `shiftL` 32 = 0
1981  
1982 -1 `shiftL` 0 = -1
1983 -1 `shiftL` 1 = -2
1984 -1 `shiftL` 2 = -4
1985 -1 `shiftL` 3 = -8
1986 -1 `shiftL` 32 = 0
1987  
1988 0 `shiftL` 0 = 0
1989 0 `shiftL` 1 = 0
1990 0 `shiftL` 2 = 0
1991 0 `shiftL` 3 = 0
1992 0 `shiftL` 32 = 0
1993  
1994 1 `shiftL` 0 = 1
1995 1 `shiftL` 1 = 2
1996 1 `shiftL` 2 = 4
1997 1 `shiftL` 3 = 8
1998 1 `shiftL` 32 = 0
1999  
2000 2 `shiftL` 0 = 2
2001 2 `shiftL` 1 = 4
2002 2 `shiftL` 2 = 8
2003 2 `shiftL` 3 = 16
2004 2 `shiftL` 32 = 0
2005  
2006 3 `shiftL` 0 = 3
2007 3 `shiftL` 1 = 6
2008 3 `shiftL` 2 = 12
2009 3 `shiftL` 3 = 24
2010 3 `shiftL` 32 = 0
2011  
2012 #
2013 -3 `shiftR` 0 = -3
2014 -3 `shiftR` 1 = -2
2015 -3 `shiftR` 2 = -1
2016 -3 `shiftR` 3 = -1
2017 -3 `shiftR` 32 = -1
2018  
2019 -2 `shiftR` 0 = -2
2020 -2 `shiftR` 1 = -1
2021 -2 `shiftR` 2 = -1
2022 -2 `shiftR` 3 = -1
2023 -2 `shiftR` 32 = -1
2024  
2025 -1 `shiftR` 0 = -1
2026 -1 `shiftR` 1 = -1
2027 -1 `shiftR` 2 = -1
2028 -1 `shiftR` 3 = -1
2029 -1 `shiftR` 32 = -1
2030  
2031 0 `shiftR` 0 = 0
2032 0 `shiftR` 1 = 0
2033 0 `shiftR` 2 = 0
2034 0 `shiftR` 3 = 0
2035 0 `shiftR` 32 = 0
2036  
2037 1 `shiftR` 0 = 1
2038 1 `shiftR` 1 = 0
2039 1 `shiftR` 2 = 0
2040 1 `shiftR` 3 = 0
2041 1 `shiftR` 32 = 0
2042  
2043 2 `shiftR` 0 = 2
2044 2 `shiftR` 1 = 1
2045 2 `shiftR` 2 = 0
2046 2 `shiftR` 3 = 0
2047 2 `shiftR` 32 = 0
2048  
2049 3 `shiftR` 0 = 3
2050 3 `shiftR` 1 = 1
2051 3 `shiftR` 2 = 0
2052 3 `shiftR` 3 = 0
2053 3 `shiftR` 32 = 0
2054  
2055 #
2056 -3 `rotate` -3 = -65
2057 -3 `rotate` -2 = 127
2058 -3 `rotate` -1 = -2
2059 -3 `rotate` 0 = -3
2060 -3 `rotate` 1 = -5
2061 -3 `rotate` 2 = -9
2062 -3 `rotate` 3 = -17
2063  
2064 -2 `rotate` -3 = -33
2065 -2 `rotate` -2 = -65
2066 -2 `rotate` -1 = 127
2067 -2 `rotate` 0 = -2
2068 -2 `rotate` 1 = -3
2069 -2 `rotate` 2 = -5
2070 -2 `rotate` 3 = -9
2071  
2072 -1 `rotate` -3 = -1
2073 -1 `rotate` -2 = -1
2074 -1 `rotate` -1 = -1
2075 -1 `rotate` 0 = -1
2076 -1 `rotate` 1 = -1
2077 -1 `rotate` 2 = -1
2078 -1 `rotate` 3 = -1
2079  
2080 0 `rotate` -3 = 0
2081 0 `rotate` -2 = 0
2082 0 `rotate` -1 = 0
2083 0 `rotate` 0 = 0
2084 0 `rotate` 1 = 0
2085 0 `rotate` 2 = 0
2086 0 `rotate` 3 = 0
2087  
2088 1 `rotate` -3 = 32
2089 1 `rotate` -2 = 64
2090 1 `rotate` -1 = -128
2091 1 `rotate` 0 = 1
2092 1 `rotate` 1 = 2
2093 1 `rotate` 2 = 4
2094 1 `rotate` 3 = 8
2095  
2096 2 `rotate` -3 = 64
2097 2 `rotate` -2 = -128
2098 2 `rotate` -1 = 1
2099 2 `rotate` 0 = 2
2100 2 `rotate` 1 = 4
2101 2 `rotate` 2 = 8
2102 2 `rotate` 3 = 16
2103  
2104 3 `rotate` -3 = 96
2105 3 `rotate` -2 = -64
2106 3 `rotate` -1 = -127
2107 3 `rotate` 0 = 3
2108 3 `rotate` 1 = 6
2109 3 `rotate` 2 = 12
2110 3 `rotate` 3 = 24
2111  
2112 #
2113 bit 0 = 1
2114 bit 1 = 2
2115 bit 2 = 4
2116 bit 3 = 8
2117 #
2118 -3 `setBit` 0 = -3
2119 -3 `setBit` 1 = -1
2120 -3 `setBit` 2 = -3
2121 -3 `setBit` 3 = -3
2122 -3 `setBit` 32 = -3
2123  
2124 -2 `setBit` 0 = -1
2125 -2 `setBit` 1 = -2
2126 -2 `setBit` 2 = -2
2127 -2 `setBit` 3 = -2
2128 -2 `setBit` 32 = -2
2129  
2130 -1 `setBit` 0 = -1
2131 -1 `setBit` 1 = -1
2132 -1 `setBit` 2 = -1
2133 -1 `setBit` 3 = -1
2134 -1 `setBit` 32 = -1
2135  
2136 0 `setBit` 0 = 1
2137 0 `setBit` 1 = 2
2138 0 `setBit` 2 = 4
2139 0 `setBit` 3 = 8
2140 0 `setBit` 32 = 0
2141  
2142 1 `setBit` 0 = 1
2143 1 `setBit` 1 = 3
2144 1 `setBit` 2 = 5
2145 1 `setBit` 3 = 9
2146 1 `setBit` 32 = 1
2147  
2148 2 `setBit` 0 = 3
2149 2 `setBit` 1 = 2
2150 2 `setBit` 2 = 6
2151 2 `setBit` 3 = 10
2152 2 `setBit` 32 = 2
2153  
2154 3 `setBit` 0 = 3
2155 3 `setBit` 1 = 3
2156 3 `setBit` 2 = 7
2157 3 `setBit` 3 = 11
2158 3 `setBit` 32 = 3
2159  
2160 #
2161 -3 `clearBit` 0 = -4
2162 -3 `clearBit` 1 = -3
2163 -3 `clearBit` 2 = -7
2164 -3 `clearBit` 3 = -11
2165 -3 `clearBit` 32 = -3
2166  
2167 -2 `clearBit` 0 = -2
2168 -2 `clearBit` 1 = -4
2169 -2 `clearBit` 2 = -6
2170 -2 `clearBit` 3 = -10
2171 -2 `clearBit` 32 = -2
2172  
2173 -1 `clearBit` 0 = -2
2174 -1 `clearBit` 1 = -3
2175 -1 `clearBit` 2 = -5
2176 -1 `clearBit` 3 = -9
2177 -1 `clearBit` 32 = -1
2178  
2179 0 `clearBit` 0 = 0
2180 0 `clearBit` 1 = 0
2181 0 `clearBit` 2 = 0
2182 0 `clearBit` 3 = 0
2183 0 `clearBit` 32 = 0
2184  
2185 1 `clearBit` 0 = 0
2186 1 `clearBit` 1 = 1
2187 1 `clearBit` 2 = 1
2188 1 `clearBit` 3 = 1
2189 1 `clearBit` 32 = 1
2190  
2191 2 `clearBit` 0 = 2
2192 2 `clearBit` 1 = 0
2193 2 `clearBit` 2 = 2
2194 2 `clearBit` 3 = 2
2195 2 `clearBit` 32 = 2
2196  
2197 3 `clearBit` 0 = 2
2198 3 `clearBit` 1 = 1
2199 3 `clearBit` 2 = 3
2200 3 `clearBit` 3 = 3
2201 3 `clearBit` 32 = 3
2202  
2203 #
2204 -3 `complementBit` 0 = -4
2205 -3 `complementBit` 1 = -1
2206 -3 `complementBit` 2 = -7
2207 -3 `complementBit` 3 = -11
2208 -3 `complementBit` 32 = -3
2209  
2210 -2 `complementBit` 0 = -1
2211 -2 `complementBit` 1 = -4
2212 -2 `complementBit` 2 = -6
2213 -2 `complementBit` 3 = -10
2214 -2 `complementBit` 32 = -2
2215  
2216 -1 `complementBit` 0 = -2
2217 -1 `complementBit` 1 = -3
2218 -1 `complementBit` 2 = -5
2219 -1 `complementBit` 3 = -9
2220 -1 `complementBit` 32 = -1
2221  
2222 0 `complementBit` 0 = 1
2223 0 `complementBit` 1 = 2
2224 0 `complementBit` 2 = 4
2225 0 `complementBit` 3 = 8
2226 0 `complementBit` 32 = 0
2227  
2228 1 `complementBit` 0 = 0
2229 1 `complementBit` 1 = 3
2230 1 `complementBit` 2 = 5
2231 1 `complementBit` 3 = 9
2232 1 `complementBit` 32 = 1
2233  
2234 2 `complementBit` 0 = 3
2235 2 `complementBit` 1 = 0
2236 2 `complementBit` 2 = 6
2237 2 `complementBit` 3 = 10
2238 2 `complementBit` 32 = 2
2239  
2240 3 `complementBit` 0 = 2
2241 3 `complementBit` 1 = 1
2242 3 `complementBit` 2 = 7
2243 3 `complementBit` 3 = 11
2244 3 `complementBit` 32 = 3
2245  
2246 #
2247 -3 `testBit` 0 = True
2248 -3 `testBit` 1 = False
2249 -3 `testBit` 2 = True
2250 -3 `testBit` 3 = True
2251 -3 `testBit` 32 = False
2252  
2253 -2 `testBit` 0 = False
2254 -2 `testBit` 1 = True
2255 -2 `testBit` 2 = True
2256 -2 `testBit` 3 = True
2257 -2 `testBit` 32 = False
2258  
2259 -1 `testBit` 0 = True
2260 -1 `testBit` 1 = True
2261 -1 `testBit` 2 = True
2262 -1 `testBit` 3 = True
2263 -1 `testBit` 32 = False
2264  
2265 0 `testBit` 0 = False
2266 0 `testBit` 1 = False
2267 0 `testBit` 2 = False
2268 0 `testBit` 3 = False
2269 0 `testBit` 32 = False
2270  
2271 1 `testBit` 0 = True
2272 1 `testBit` 1 = False
2273 1 `testBit` 2 = False
2274 1 `testBit` 3 = False
2275 1 `testBit` 32 = False
2276  
2277 2 `testBit` 0 = False
2278 2 `testBit` 1 = True
2279 2 `testBit` 2 = False
2280 2 `testBit` 3 = False
2281 2 `testBit` 32 = False
2282  
2283 3 `testBit` 0 = True
2284 3 `testBit` 1 = True
2285 3 `testBit` 2 = False
2286 3 `testBit` 3 = False
2287 3 `testBit` 32 = False
2288  
2289 #
2290 bitSize -3 = 8
2291 bitSize -2 = 8
2292 bitSize -1 = 8
2293 bitSize 0 = 8
2294 bitSize 1 = 8
2295 bitSize 2 = 8
2296 bitSize 3 = 8
2297 #
2298 isSigned -3 = True
2299 isSigned -2 = True
2300 isSigned -1 = True
2301 isSigned 0 = True
2302 isSigned 1 = True
2303 isSigned 2 = True
2304 isSigned 3 = True
2305 #
2306 --------------------------------
2307 --Testing Int16
2308 --------------------------------
2309 testBounded
2310 (32767,-32768,-32767)
2311 (32766,32767,-32768)
2312 testEnum
2313 [0,1,2,3,4,5,6,7,8,9]
2314 [0,2,4,6,8,10,12,14,16,18]
2315 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
2316 [0,2,4,6,8,10,12,14,16,18,20]
2317 testReadShow
2318 [-3,-2,-1,0,1,2,3]
2319 [-3,-2,-1,0,1,2,3]
2320 testEq
2321 -3 == -3 = True
2322 -3 == -2 = False
2323 -3 == -1 = False
2324 -3 == 0 = False
2325 -3 == 1 = False
2326 -3 == 2 = False
2327 -3 == 3 = False
2328  
2329 -2 == -3 = False
2330 -2 == -2 = True
2331 -2 == -1 = False
2332 -2 == 0 = False
2333 -2 == 1 = False
2334 -2 == 2 = False
2335 -2 == 3 = False
2336  
2337 -1 == -3 = False
2338 -1 == -2 = False
2339 -1 == -1 = True
2340 -1 == 0 = False
2341 -1 == 1 = False
2342 -1 == 2 = False
2343 -1 == 3 = False
2344  
2345 0 == -3 = False
2346 0 == -2 = False
2347 0 == -1 = False
2348 0 == 0 = True
2349 0 == 1 = False
2350 0 == 2 = False
2351 0 == 3 = False
2352  
2353 1 == -3 = False
2354 1 == -2 = False
2355 1 == -1 = False
2356 1 == 0 = False
2357 1 == 1 = True
2358 1 == 2 = False
2359 1 == 3 = False
2360  
2361 2 == -3 = False
2362 2 == -2 = False
2363 2 == -1 = False
2364 2 == 0 = False
2365 2 == 1 = False
2366 2 == 2 = True
2367 2 == 3 = False
2368  
2369 3 == -3 = False
2370 3 == -2 = False
2371 3 == -1 = False
2372 3 == 0 = False
2373 3 == 1 = False
2374 3 == 2 = False
2375 3 == 3 = True
2376  
2377 #
2378 -3 /= -3 = False
2379 -3 /= -2 = True
2380 -3 /= -1 = True
2381 -3 /= 0 = True
2382 -3 /= 1 = True
2383 -3 /= 2 = True
2384 -3 /= 3 = True
2385  
2386 -2 /= -3 = True
2387 -2 /= -2 = False
2388 -2 /= -1 = True
2389 -2 /= 0 = True
2390 -2 /= 1 = True
2391 -2 /= 2 = True
2392 -2 /= 3 = True
2393  
2394 -1 /= -3 = True
2395 -1 /= -2 = True
2396 -1 /= -1 = False
2397 -1 /= 0 = True
2398 -1 /= 1 = True
2399 -1 /= 2 = True
2400 -1 /= 3 = True
2401  
2402 0 /= -3 = True
2403 0 /= -2 = True
2404 0 /= -1 = True
2405 0 /= 0 = False
2406 0 /= 1 = True
2407 0 /= 2 = True
2408 0 /= 3 = True
2409  
2410 1 /= -3 = True
2411 1 /= -2 = True
2412 1 /= -1 = True
2413 1 /= 0 = True
2414 1 /= 1 = False
2415 1 /= 2 = True
2416 1 /= 3 = True
2417  
2418 2 /= -3 = True
2419 2 /= -2 = True
2420 2 /= -1 = True
2421 2 /= 0 = True
2422 2 /= 1 = True
2423 2 /= 2 = False
2424 2 /= 3 = True
2425  
2426 3 /= -3 = True
2427 3 /= -2 = True
2428 3 /= -1 = True
2429 3 /= 0 = True
2430 3 /= 1 = True
2431 3 /= 2 = True
2432 3 /= 3 = False
2433  
2434 #
2435 testOrd
2436 -3 <= -3 = True
2437 -3 <= -2 = True
2438 -3 <= -1 = True
2439 -3 <= 0 = True
2440 -3 <= 1 = True
2441 -3 <= 2 = True
2442 -3 <= 3 = True
2443  
2444 -2 <= -3 = False
2445 -2 <= -2 = True
2446 -2 <= -1 = True
2447 -2 <= 0 = True
2448 -2 <= 1 = True
2449 -2 <= 2 = True
2450 -2 <= 3 = True
2451  
2452 -1 <= -3 = False
2453 -1 <= -2 = False
2454 -1 <= -1 = True
2455 -1 <= 0 = True
2456 -1 <= 1 = True
2457 -1 <= 2 = True
2458 -1 <= 3 = True
2459  
2460 0 <= -3 = False
2461 0 <= -2 = False
2462 0 <= -1 = False
2463 0 <= 0 = True
2464 0 <= 1 = True
2465 0 <= 2 = True
2466 0 <= 3 = True
2467  
2468 1 <= -3 = False
2469 1 <= -2 = False
2470 1 <= -1 = False
2471 1 <= 0 = False
2472 1 <= 1 = True
2473 1 <= 2 = True
2474 1 <= 3 = True
2475  
2476 2 <= -3 = False
2477 2 <= -2 = False
2478 2 <= -1 = False
2479 2 <= 0 = False
2480 2 <= 1 = False
2481 2 <= 2 = True
2482 2 <= 3 = True
2483  
2484 3 <= -3 = False
2485 3 <= -2 = False
2486 3 <= -1 = False
2487 3 <= 0 = False
2488 3 <= 1 = False
2489 3 <= 2 = False
2490 3 <= 3 = True
2491  
2492 #
2493 -3 <  -3 = False
2494 -3 <  -2 = True
2495 -3 <  -1 = True
2496 -3 <  0 = True
2497 -3 <  1 = True
2498 -3 <  2 = True
2499 -3 <  3 = True
2500  
2501 -2 <  -3 = False
2502 -2 <  -2 = False
2503 -2 <  -1 = True
2504 -2 <  0 = True
2505 -2 <  1 = True
2506 -2 <  2 = True
2507 -2 <  3 = True
2508  
2509 -1 <  -3 = False
2510 -1 <  -2 = False
2511 -1 <  -1 = False
2512 -1 <  0 = True
2513 -1 <  1 = True
2514 -1 <  2 = True
2515 -1 <  3 = True
2516  
2517 0 <  -3 = False
2518 0 <  -2 = False
2519 0 <  -1 = False
2520 0 <  0 = False
2521 0 <  1 = True
2522 0 <  2 = True
2523 0 <  3 = True
2524  
2525 1 <  -3 = False
2526 1 <  -2 = False
2527 1 <  -1 = False
2528 1 <  0 = False
2529 1 <  1 = False
2530 1 <  2 = True
2531 1 <  3 = True
2532  
2533 2 <  -3 = False
2534 2 <  -2 = False
2535 2 <  -1 = False
2536 2 <  0 = False
2537 2 <  1 = False
2538 2 <  2 = False
2539 2 <  3 = True
2540  
2541 3 <  -3 = False
2542 3 <  -2 = False
2543 3 <  -1 = False
2544 3 <  0 = False
2545 3 <  1 = False
2546 3 <  2 = False
2547 3 <  3 = False
2548  
2549 #
2550 -3 >  -3 = False
2551 -3 >  -2 = False
2552 -3 >  -1 = False
2553 -3 >  0 = False
2554 -3 >  1 = False
2555 -3 >  2 = False
2556 -3 >  3 = False
2557  
2558 -2 >  -3 = True
2559 -2 >  -2 = False
2560 -2 >  -1 = False
2561 -2 >  0 = False
2562 -2 >  1 = False
2563 -2 >  2 = False
2564 -2 >  3 = False
2565  
2566 -1 >  -3 = True
2567 -1 >  -2 = True
2568 -1 >  -1 = False
2569 -1 >  0 = False
2570 -1 >  1 = False
2571 -1 >  2 = False
2572 -1 >  3 = False
2573  
2574 0 >  -3 = True
2575 0 >  -2 = True
2576 0 >  -1 = True
2577 0 >  0 = False
2578 0 >  1 = False
2579 0 >  2 = False
2580 0 >  3 = False
2581  
2582 1 >  -3 = True
2583 1 >  -2 = True
2584 1 >  -1 = True
2585 1 >  0 = True
2586 1 >  1 = False
2587 1 >  2 = False
2588 1 >  3 = False
2589  
2590 2 >  -3 = True
2591 2 >  -2 = True
2592 2 >  -1 = True
2593 2 >  0 = True
2594 2 >  1 = True
2595 2 >  2 = False
2596 2 >  3 = False
2597  
2598 3 >  -3 = True
2599 3 >  -2 = True
2600 3 >  -1 = True
2601 3 >  0 = True
2602 3 >  1 = True
2603 3 >  2 = True
2604 3 >  3 = False
2605  
2606 #
2607 -3 >= -3 = True
2608 -3 >= -2 = False
2609 -3 >= -1 = False
2610 -3 >= 0 = False
2611 -3 >= 1 = False
2612 -3 >= 2 = False
2613 -3 >= 3 = False
2614  
2615 -2 >= -3 = True
2616 -2 >= -2 = True
2617 -2 >= -1 = False
2618 -2 >= 0 = False
2619 -2 >= 1 = False
2620 -2 >= 2 = False
2621 -2 >= 3 = False
2622  
2623 -1 >= -3 = True
2624 -1 >= -2 = True
2625 -1 >= -1 = True
2626 -1 >= 0 = False
2627 -1 >= 1 = False
2628 -1 >= 2 = False
2629 -1 >= 3 = False
2630  
2631 0 >= -3 = True
2632 0 >= -2 = True
2633 0 >= -1 = True
2634 0 >= 0 = True
2635 0 >= 1 = False
2636 0 >= 2 = False
2637 0 >= 3 = False
2638  
2639 1 >= -3 = True
2640 1 >= -2 = True
2641 1 >= -1 = True
2642 1 >= 0 = True
2643 1 >= 1 = True
2644 1 >= 2 = False
2645 1 >= 3 = False
2646  
2647 2 >= -3 = True
2648 2 >= -2 = True
2649 2 >= -1 = True
2650 2 >= 0 = True
2651 2 >= 1 = True
2652 2 >= 2 = True
2653 2 >= 3 = False
2654  
2655 3 >= -3 = True
2656 3 >= -2 = True
2657 3 >= -1 = True
2658 3 >= 0 = True
2659 3 >= 1 = True
2660 3 >= 2 = True
2661 3 >= 3 = True
2662  
2663 #
2664 -3 `compare` -3 = EQ
2665 -3 `compare` -2 = LT
2666 -3 `compare` -1 = LT
2667 -3 `compare` 0 = LT
2668 -3 `compare` 1 = LT
2669 -3 `compare` 2 = LT
2670 -3 `compare` 3 = LT
2671  
2672 -2 `compare` -3 = GT
2673 -2 `compare` -2 = EQ
2674 -2 `compare` -1 = LT
2675 -2 `compare` 0 = LT
2676 -2 `compare` 1 = LT
2677 -2 `compare` 2 = LT
2678 -2 `compare` 3 = LT
2679  
2680 -1 `compare` -3 = GT
2681 -1 `compare` -2 = GT
2682 -1 `compare` -1 = EQ
2683 -1 `compare` 0 = LT
2684 -1 `compare` 1 = LT
2685 -1 `compare` 2 = LT
2686 -1 `compare` 3 = LT
2687  
2688 0 `compare` -3 = GT
2689 0 `compare` -2 = GT
2690 0 `compare` -1 = GT
2691 0 `compare` 0 = EQ
2692 0 `compare` 1 = LT
2693 0 `compare` 2 = LT
2694 0 `compare` 3 = LT
2695  
2696 1 `compare` -3 = GT
2697 1 `compare` -2 = GT
2698 1 `compare` -1 = GT
2699 1 `compare` 0 = GT
2700 1 `compare` 1 = EQ
2701 1 `compare` 2 = LT
2702 1 `compare` 3 = LT
2703  
2704 2 `compare` -3 = GT
2705 2 `compare` -2 = GT
2706 2 `compare` -1 = GT
2707 2 `compare` 0 = GT
2708 2 `compare` 1 = GT
2709 2 `compare` 2 = EQ
2710 2 `compare` 3 = LT
2711  
2712 3 `compare` -3 = GT
2713 3 `compare` -2 = GT
2714 3 `compare` -1 = GT
2715 3 `compare` 0 = GT
2716 3 `compare` 1 = GT
2717 3 `compare` 2 = GT
2718 3 `compare` 3 = EQ
2719  
2720 #
2721 testNum
2722 -3 + -3 = -6
2723 -3 + -2 = -5
2724 -3 + -1 = -4
2725 -3 + 0 = -3
2726 -3 + 1 = -2
2727 -3 + 2 = -1
2728 -3 + 3 = 0
2729  
2730 -2 + -3 = -5
2731 -2 + -2 = -4
2732 -2 + -1 = -3
2733 -2 + 0 = -2
2734 -2 + 1 = -1
2735 -2 + 2 = 0
2736 -2 + 3 = 1
2737  
2738 -1 + -3 = -4
2739 -1 + -2 = -3
2740 -1 + -1 = -2
2741 -1 + 0 = -1
2742 -1 + 1 = 0
2743 -1 + 2 = 1
2744 -1 + 3 = 2
2745  
2746 0 + -3 = -3
2747 0 + -2 = -2
2748 0 + -1 = -1
2749 0 + 0 = 0
2750 0 + 1 = 1
2751 0 + 2 = 2
2752 0 + 3 = 3
2753  
2754 1 + -3 = -2
2755 1 + -2 = -1
2756 1 + -1 = 0
2757 1 + 0 = 1
2758 1 + 1 = 2
2759 1 + 2 = 3
2760 1 + 3 = 4
2761  
2762 2 + -3 = -1
2763 2 + -2 = 0
2764 2 + -1 = 1
2765 2 + 0 = 2
2766 2 + 1 = 3
2767 2 + 2 = 4
2768 2 + 3 = 5
2769  
2770 3 + -3 = 0
2771 3 + -2 = 1
2772 3 + -1 = 2
2773 3 + 0 = 3
2774 3 + 1 = 4
2775 3 + 2 = 5
2776 3 + 3 = 6
2777  
2778 #
2779 -3 - -3 = 0
2780 -3 - -2 = -1
2781 -3 - -1 = -2
2782 -3 - 0 = -3
2783 -3 - 1 = -4
2784 -3 - 2 = -5
2785 -3 - 3 = -6
2786  
2787 -2 - -3 = 1
2788 -2 - -2 = 0
2789 -2 - -1 = -1
2790 -2 - 0 = -2
2791 -2 - 1 = -3
2792 -2 - 2 = -4
2793 -2 - 3 = -5
2794  
2795 -1 - -3 = 2
2796 -1 - -2 = 1
2797 -1 - -1 = 0
2798 -1 - 0 = -1
2799 -1 - 1 = -2
2800 -1 - 2 = -3
2801 -1 - 3 = -4
2802  
2803 0 - -3 = 3
2804 0 - -2 = 2
2805 0 - -1 = 1
2806 0 - 0 = 0
2807 0 - 1 = -1
2808 0 - 2 = -2
2809 0 - 3 = -3
2810  
2811 1 - -3 = 4
2812 1 - -2 = 3
2813 1 - -1 = 2
2814 1 - 0 = 1
2815 1 - 1 = 0
2816 1 - 2 = -1
2817 1 - 3 = -2
2818  
2819 2 - -3 = 5
2820 2 - -2 = 4
2821 2 - -1 = 3
2822 2 - 0 = 2
2823 2 - 1 = 1
2824 2 - 2 = 0
2825 2 - 3 = -1
2826  
2827 3 - -3 = 6
2828 3 - -2 = 5
2829 3 - -1 = 4
2830 3 - 0 = 3
2831 3 - 1 = 2
2832 3 - 2 = 1
2833 3 - 3 = 0
2834  
2835 #
2836 -3 * -3 = 9
2837 -3 * -2 = 6
2838 -3 * -1 = 3
2839 -3 * 0 = 0
2840 -3 * 1 = -3
2841 -3 * 2 = -6
2842 -3 * 3 = -9
2843  
2844 -2 * -3 = 6
2845 -2 * -2 = 4
2846 -2 * -1 = 2
2847 -2 * 0 = 0
2848 -2 * 1 = -2
2849 -2 * 2 = -4
2850 -2 * 3 = -6
2851  
2852 -1 * -3 = 3
2853 -1 * -2 = 2
2854 -1 * -1 = 1
2855 -1 * 0 = 0
2856 -1 * 1 = -1
2857 -1 * 2 = -2
2858 -1 * 3 = -3
2859  
2860 0 * -3 = 0
2861 0 * -2 = 0
2862 0 * -1 = 0
2863 0 * 0 = 0
2864 0 * 1 = 0
2865 0 * 2 = 0
2866 0 * 3 = 0
2867  
2868 1 * -3 = -3
2869 1 * -2 = -2
2870 1 * -1 = -1
2871 1 * 0 = 0
2872 1 * 1 = 1
2873 1 * 2 = 2
2874 1 * 3 = 3
2875  
2876 2 * -3 = -6
2877 2 * -2 = -4
2878 2 * -1 = -2
2879 2 * 0 = 0
2880 2 * 1 = 2
2881 2 * 2 = 4
2882 2 * 3 = 6
2883  
2884 3 * -3 = -9
2885 3 * -2 = -6
2886 3 * -1 = -3
2887 3 * 0 = 0
2888 3 * 1 = 3
2889 3 * 2 = 6
2890 3 * 3 = 9
2891  
2892 #
2893 negate -3 = 3
2894 negate -2 = 2
2895 negate -1 = 1
2896 negate 0 = 0
2897 negate 1 = -1
2898 negate 2 = -2
2899 negate 3 = -3
2900 #
2901 testReal
2902 toRational -3 = -3 % 1
2903 toRational -2 = -2 % 1
2904 toRational -1 = -1 % 1
2905 toRational 0 = 0 % 1
2906 toRational 1 = 1 % 1
2907 toRational 2 = 2 % 1
2908 toRational 3 = 3 % 1
2909 #
2910 testIntegral
2911 -3 `divMod`  -3 = (1,0)
2912 -3 `divMod`  -2 = (1,-1)
2913 -3 `divMod`  -1 = (3,0)
2914 -3 `divMod`  1 = (-3,0)
2915 -3 `divMod`  2 = (-2,1)
2916 -3 `divMod`  3 = (-1,0)
2917  
2918 -2 `divMod`  -3 = (0,-2)
2919 -2 `divMod`  -2 = (1,0)
2920 -2 `divMod`  -1 = (2,0)
2921 -2 `divMod`  1 = (-2,0)
2922 -2 `divMod`  2 = (-1,0)
2923 -2 `divMod`  3 = (-1,1)
2924  
2925 -1 `divMod`  -3 = (0,-1)
2926 -1 `divMod`  -2 = (0,-1)
2927 -1 `divMod`  -1 = (1,0)
2928 -1 `divMod`  1 = (-1,0)
2929 -1 `divMod`  2 = (-1,1)
2930 -1 `divMod`  3 = (-1,2)
2931  
2932 0 `divMod`  -3 = (0,0)
2933 0 `divMod`  -2 = (0,0)
2934 0 `divMod`  -1 = (0,0)
2935 0 `divMod`  1 = (0,0)
2936 0 `divMod`  2 = (0,0)
2937 0 `divMod`  3 = (0,0)
2938  
2939 1 `divMod`  -3 = (-1,-2)
2940 1 `divMod`  -2 = (-1,-1)
2941 1 `divMod`  -1 = (-1,0)
2942 1 `divMod`  1 = (1,0)
2943 1 `divMod`  2 = (0,1)
2944 1 `divMod`  3 = (0,1)
2945  
2946 2 `divMod`  -3 = (-1,-1)
2947 2 `divMod`  -2 = (-1,0)
2948 2 `divMod`  -1 = (-2,0)
2949 2 `divMod`  1 = (2,0)
2950 2 `divMod`  2 = (1,0)
2951 2 `divMod`  3 = (0,2)
2952  
2953 3 `divMod`  -3 = (-1,0)
2954 3 `divMod`  -2 = (-2,-1)
2955 3 `divMod`  -1 = (-3,0)
2956 3 `divMod`  1 = (3,0)
2957 3 `divMod`  2 = (1,1)
2958 3 `divMod`  3 = (1,0)
2959  
2960 #
2961 -3 `div`     -3 = 1
2962 -3 `div`     -2 = 1
2963 -3 `div`     -1 = 3
2964 -3 `div`     1 = -3
2965 -3 `div`     2 = -2
2966 -3 `div`     3 = -1
2967  
2968 -2 `div`     -3 = 0
2969 -2 `div`     -2 = 1
2970 -2 `div`     -1 = 2
2971 -2 `div`     1 = -2
2972 -2 `div`     2 = -1
2973 -2 `div`     3 = -1
2974  
2975 -1 `div`     -3 = 0
2976 -1 `div`     -2 = 0
2977 -1 `div`     -1 = 1
2978 -1 `div`     1 = -1
2979 -1 `div`     2 = -1
2980 -1 `div`     3 = -1
2981  
2982 0 `div`     -3 = 0
2983 0 `div`     -2 = 0
2984 0 `div`     -1 = 0
2985 0 `div`     1 = 0
2986 0 `div`     2 = 0
2987 0 `div`     3 = 0
2988  
2989 1 `div`     -3 = -1
2990 1 `div`     -2 = -1
2991 1 `div`     -1 = -1
2992 1 `div`     1 = 1
2993 1 `div`     2 = 0
2994 1 `div`     3 = 0
2995  
2996 2 `div`     -3 = -1
2997 2 `div`     -2 = -1
2998 2 `div`     -1 = -2
2999 2 `div`     1 = 2
3000 2 `div`     2 = 1
3001 2 `div`     3 = 0
3002  
3003 3 `div`     -3 = -1
3004 3 `div`     -2 = -2
3005 3 `div`     -1 = -3
3006 3 `div`     1 = 3
3007 3 `div`     2 = 1
3008 3 `div`     3 = 1
3009  
3010 #
3011 -3 `mod`     -3 = 0
3012 -3 `mod`     -2 = -1
3013 -3 `mod`     -1 = 0
3014 -3 `mod`     1 = 0
3015 -3 `mod`     2 = 1
3016 -3 `mod`     3 = 0
3017  
3018 -2 `mod`     -3 = -2
3019 -2 `mod`     -2 = 0
3020 -2 `mod`     -1 = 0
3021 -2 `mod`     1 = 0
3022 -2 `mod`     2 = 0
3023 -2 `mod`     3 = 1
3024  
3025 -1 `mod`     -3 = -1
3026 -1 `mod`     -2 = -1
3027 -1 `mod`     -1 = 0
3028 -1 `mod`     1 = 0
3029 -1 `mod`     2 = 1
3030 -1 `mod`     3 = 2
3031  
3032 0 `mod`     -3 = 0
3033 0 `mod`     -2 = 0
3034 0 `mod`     -1 = 0
3035 0 `mod`     1 = 0
3036 0 `mod`     2 = 0
3037 0 `mod`     3 = 0
3038  
3039 1 `mod`     -3 = -2
3040 1 `mod`     -2 = -1
3041 1 `mod`     -1 = 0
3042 1 `mod`     1 = 0
3043 1 `mod`     2 = 1
3044 1 `mod`     3 = 1
3045  
3046 2 `mod`     -3 = -1
3047 2 `mod`     -2 = 0
3048 2 `mod`     -1 = 0
3049 2 `mod`     1 = 0
3050 2 `mod`     2 = 0
3051 2 `mod`     3 = 2
3052  
3053 3 `mod`     -3 = 0
3054 3 `mod`     -2 = -1
3055 3 `mod`     -1 = 0
3056 3 `mod`     1 = 0
3057 3 `mod`     2 = 1
3058 3 `mod`     3 = 0
3059  
3060 #
3061 -3 `quotRem` -3 = (1,0)
3062 -3 `quotRem` -2 = (1,-1)
3063 -3 `quotRem` -1 = (3,0)
3064 -3 `quotRem` 1 = (-3,0)
3065 -3 `quotRem` 2 = (-1,-1)
3066 -3 `quotRem` 3 = (-1,0)
3067  
3068 -2 `quotRem` -3 = (0,-2)
3069 -2 `quotRem` -2 = (1,0)
3070 -2 `quotRem` -1 = (2,0)
3071 -2 `quotRem` 1 = (-2,0)
3072 -2 `quotRem` 2 = (-1,0)
3073 -2 `quotRem` 3 = (0,-2)
3074  
3075 -1 `quotRem` -3 = (0,-1)
3076 -1 `quotRem` -2 = (0,-1)
3077 -1 `quotRem` -1 = (1,0)
3078 -1 `quotRem` 1 = (-1,0)
3079 -1 `quotRem` 2 = (0,-1)
3080 -1 `quotRem` 3 = (0,-1)
3081  
3082 0 `quotRem` -3 = (0,0)
3083 0 `quotRem` -2 = (0,0)
3084 0 `quotRem` -1 = (0,0)
3085 0 `quotRem` 1 = (0,0)
3086 0 `quotRem` 2 = (0,0)
3087 0 `quotRem` 3 = (0,0)
3088  
3089 1 `quotRem` -3 = (0,1)
3090 1 `quotRem` -2 = (0,1)
3091 1 `quotRem` -1 = (-1,0)
3092 1 `quotRem` 1 = (1,0)
3093 1 `quotRem` 2 = (0,1)
3094 1 `quotRem` 3 = (0,1)
3095  
3096 2 `quotRem` -3 = (0,2)
3097 2 `quotRem` -2 = (-1,0)
3098 2 `quotRem` -1 = (-2,0)
3099 2 `quotRem` 1 = (2,0)
3100 2 `quotRem` 2 = (1,0)
3101 2 `quotRem` 3 = (0,2)
3102  
3103 3 `quotRem` -3 = (-1,0)
3104 3 `quotRem` -2 = (-1,1)
3105 3 `quotRem` -1 = (-3,0)
3106 3 `quotRem` 1 = (3,0)
3107 3 `quotRem` 2 = (1,1)
3108 3 `quotRem` 3 = (1,0)
3109  
3110 #
3111 -3 `quot`    -3 = 1
3112 -3 `quot`    -2 = 1
3113 -3 `quot`    -1 = 3
3114 -3 `quot`    1 = -3
3115 -3 `quot`    2 = -1
3116 -3 `quot`    3 = -1
3117  
3118 -2 `quot`    -3 = 0
3119 -2 `quot`    -2 = 1
3120 -2 `quot`    -1 = 2
3121 -2 `quot`    1 = -2
3122 -2 `quot`    2 = -1
3123 -2 `quot`    3 = 0
3124  
3125 -1 `quot`    -3 = 0
3126 -1 `quot`    -2 = 0
3127 -1 `quot`    -1 = 1
3128 -1 `quot`    1 = -1
3129 -1 `quot`    2 = 0
3130 -1 `quot`    3 = 0
3131  
3132 0 `quot`    -3 = 0
3133 0 `quot`    -2 = 0
3134 0 `quot`    -1 = 0
3135 0 `quot`    1 = 0
3136 0 `quot`    2 = 0
3137 0 `quot`    3 = 0
3138  
3139 1 `quot`    -3 = 0
3140 1 `quot`    -2 = 0
3141 1 `quot`    -1 = -1
3142 1 `quot`    1 = 1
3143 1 `quot`    2 = 0
3144 1 `quot`    3 = 0
3145  
3146 2 `quot`    -3 = 0
3147 2 `quot`    -2 = -1
3148 2 `quot`    -1 = -2
3149 2 `quot`    1 = 2
3150 2 `quot`    2 = 1
3151 2 `quot`    3 = 0
3152  
3153 3 `quot`    -3 = -1
3154 3 `quot`    -2 = -1
3155 3 `quot`    -1 = -3
3156 3 `quot`    1 = 3
3157 3 `quot`    2 = 1
3158 3 `quot`    3 = 1
3159  
3160 #
3161 -3 `rem`     -3 = 0
3162 -3 `rem`     -2 = -1
3163 -3 `rem`     -1 = 0
3164 -3 `rem`     1 = 0
3165 -3 `rem`     2 = -1
3166 -3 `rem`     3 = 0
3167  
3168 -2 `rem`     -3 = -2
3169 -2 `rem`     -2 = 0
3170 -2 `rem`     -1 = 0
3171 -2 `rem`     1 = 0
3172 -2 `rem`     2 = 0
3173 -2 `rem`     3 = -2
3174  
3175 -1 `rem`     -3 = -1
3176 -1 `rem`     -2 = -1
3177 -1 `rem`     -1 = 0
3178 -1 `rem`     1 = 0
3179 -1 `rem`     2 = -1
3180 -1 `rem`     3 = -1
3181  
3182 0 `rem`     -3 = 0
3183 0 `rem`     -2 = 0
3184 0 `rem`     -1 = 0
3185 0 `rem`     1 = 0
3186 0 `rem`     2 = 0
3187 0 `rem`     3 = 0
3188  
3189 1 `rem`     -3 = 1
3190 1 `rem`     -2 = 1
3191 1 `rem`     -1 = 0
3192 1 `rem`     1 = 0
3193 1 `rem`     2 = 1
3194 1 `rem`     3 = 1
3195  
3196 2 `rem`     -3 = 2
3197 2 `rem`     -2 = 0
3198 2 `rem`     -1 = 0
3199 2 `rem`     1 = 0
3200 2 `rem`     2 = 0
3201 2 `rem`     3 = 2
3202  
3203 3 `rem`     -3 = 0
3204 3 `rem`     -2 = 1
3205 3 `rem`     -1 = 0
3206 3 `rem`     1 = 0
3207 3 `rem`     2 = 1
3208 3 `rem`     3 = 0
3209  
3210 #
3211 testBits
3212 -3 .&.   -3 = -3
3213 -3 .&.   -2 = -4
3214 -3 .&.   -1 = -3
3215 -3 .&.   1 = 1
3216 -3 .&.   2 = 0
3217 -3 .&.   3 = 1
3218  
3219 -2 .&.   -3 = -4
3220 -2 .&.   -2 = -2
3221 -2 .&.   -1 = -2
3222 -2 .&.   1 = 0
3223 -2 .&.   2 = 2
3224 -2 .&.   3 = 2
3225  
3226 -1 .&.   -3 = -3
3227 -1 .&.   -2 = -2
3228 -1 .&.   -1 = -1
3229 -1 .&.   1 = 1
3230 -1 .&.   2 = 2
3231 -1 .&.   3 = 3
3232  
3233 0 .&.   -3 = 0
3234 0 .&.   -2 = 0
3235 0 .&.   -1 = 0
3236 0 .&.   1 = 0
3237 0 .&.   2 = 0
3238 0 .&.   3 = 0
3239  
3240 1 .&.   -3 = 1
3241 1 .&.   -2 = 0
3242 1 .&.   -1 = 1
3243 1 .&.   1 = 1
3244 1 .&.   2 = 0
3245 1 .&.   3 = 1
3246  
3247 2 .&.   -3 = 0
3248 2 .&.   -2 = 2
3249 2 .&.   -1 = 2
3250 2 .&.   1 = 0
3251 2 .&.   2 = 2
3252 2 .&.   3 = 2
3253  
3254 3 .&.   -3 = 1
3255 3 .&.   -2 = 2
3256 3 .&.   -1 = 3
3257 3 .&.   1 = 1
3258 3 .&.   2 = 2
3259 3 .&.   3 = 3
3260  
3261 #
3262 -3 .|.   -3 = -3
3263 -3 .|.   -2 = -1
3264 -3 .|.   -1 = -1
3265 -3 .|.   1 = -3
3266 -3 .|.   2 = -1
3267 -3 .|.   3 = -1
3268  
3269 -2 .|.   -3 = -1
3270 -2 .|.   -2 = -2
3271 -2 .|.   -1 = -1
3272 -2 .|.   1 = -1
3273 -2 .|.   2 = -2
3274 -2 .|.   3 = -1
3275  
3276 -1 .|.   -3 = -1
3277 -1 .|.   -2 = -1
3278 -1 .|.   -1 = -1
3279 -1 .|.   1 = -1
3280 -1 .|.   2 = -1
3281 -1 .|.   3 = -1
3282  
3283 0 .|.   -3 = -3
3284 0 .|.   -2 = -2
3285 0 .|.   -1 = -1
3286 0 .|.   1 = 1
3287 0 .|.   2 = 2
3288 0 .|.   3 = 3
3289  
3290 1 .|.   -3 = -3
3291 1 .|.   -2 = -1
3292 1 .|.   -1 = -1
3293 1 .|.   1 = 1
3294 1 .|.   2 = 3
3295 1 .|.   3 = 3
3296  
3297 2 .|.   -3 = -1
3298 2 .|.   -2 = -2
3299 2 .|.   -1 = -1
3300 2 .|.   1 = 3
3301 2 .|.   2 = 2
3302 2 .|.   3 = 3
3303  
3304 3 .|.   -3 = -1
3305 3 .|.   -2 = -1
3306 3 .|.   -1 = -1
3307 3 .|.   1 = 3
3308 3 .|.   2 = 3
3309 3 .|.   3 = 3
3310  
3311 #
3312 -3 `xor` -3 = 0
3313 -3 `xor` -2 = 3
3314 -3 `xor` -1 = 2
3315 -3 `xor` 1 = -4
3316 -3 `xor` 2 = -1
3317 -3 `xor` 3 = -2
3318  
3319 -2 `xor` -3 = 3
3320 -2 `xor` -2 = 0
3321 -2 `xor` -1 = 1
3322 -2 `xor` 1 = -1
3323 -2 `xor` 2 = -4
3324 -2 `xor` 3 = -3
3325  
3326 -1 `xor` -3 = 2
3327 -1 `xor` -2 = 1
3328 -1 `xor` -1 = 0
3329 -1 `xor` 1 = -2
3330 -1 `xor` 2 = -3
3331 -1 `xor` 3 = -4
3332  
3333 0 `xor` -3 = -3
3334 0 `xor` -2 = -2
3335 0 `xor` -1 = -1
3336 0 `xor` 1 = 1
3337 0 `xor` 2 = 2
3338 0 `xor` 3 = 3
3339  
3340 1 `xor` -3 = -4
3341 1 `xor` -2 = -1
3342 1 `xor` -1 = -2
3343 1 `xor` 1 = 0
3344 1 `xor` 2 = 3
3345 1 `xor` 3 = 2
3346  
3347 2 `xor` -3 = -1
3348 2 `xor` -2 = -4
3349 2 `xor` -1 = -3
3350 2 `xor` 1 = 3
3351 2 `xor` 2 = 0
3352 2 `xor` 3 = 1
3353  
3354 3 `xor` -3 = -2
3355 3 `xor` -2 = -3
3356 3 `xor` -1 = -4
3357 3 `xor` 1 = 2
3358 3 `xor` 2 = 1
3359 3 `xor` 3 = 0
3360  
3361 #
3362 complement -3 = 2
3363 complement -2 = 1
3364 complement -1 = 0
3365 complement 0 = -1
3366 complement 1 = -2
3367 complement 2 = -3
3368 complement 3 = -4
3369 #
3370 -3 `shiftL` 0 = -3
3371 -3 `shiftL` 1 = -6
3372 -3 `shiftL` 2 = -12
3373 -3 `shiftL` 3 = -24
3374 -3 `shiftL` 32 = 0
3375  
3376 -2 `shiftL` 0 = -2
3377 -2 `shiftL` 1 = -4
3378 -2 `shiftL` 2 = -8
3379 -2 `shiftL` 3 = -16
3380 -2 `shiftL` 32 = 0
3381  
3382 -1 `shiftL` 0 = -1
3383 -1 `shiftL` 1 = -2
3384 -1 `shiftL` 2 = -4
3385 -1 `shiftL` 3 = -8
3386 -1 `shiftL` 32 = 0
3387  
3388 0 `shiftL` 0 = 0
3389 0 `shiftL` 1 = 0
3390 0 `shiftL` 2 = 0
3391 0 `shiftL` 3 = 0
3392 0 `shiftL` 32 = 0
3393  
3394 1 `shiftL` 0 = 1
3395 1 `shiftL` 1 = 2
3396 1 `shiftL` 2 = 4
3397 1 `shiftL` 3 = 8
3398 1 `shiftL` 32 = 0
3399  
3400 2 `shiftL` 0 = 2
3401 2 `shiftL` 1 = 4
3402 2 `shiftL` 2 = 8
3403 2 `shiftL` 3 = 16
3404 2 `shiftL` 32 = 0
3405  
3406 3 `shiftL` 0 = 3
3407 3 `shiftL` 1 = 6
3408 3 `shiftL` 2 = 12
3409 3 `shiftL` 3 = 24
3410 3 `shiftL` 32 = 0
3411  
3412 #
3413 -3 `shiftR` 0 = -3
3414 -3 `shiftR` 1 = -2
3415 -3 `shiftR` 2 = -1
3416 -3 `shiftR` 3 = -1
3417 -3 `shiftR` 32 = -1
3418  
3419 -2 `shiftR` 0 = -2
3420 -2 `shiftR` 1 = -1
3421 -2 `shiftR` 2 = -1
3422 -2 `shiftR` 3 = -1
3423 -2 `shiftR` 32 = -1
3424  
3425 -1 `shiftR` 0 = -1
3426 -1 `shiftR` 1 = -1
3427 -1 `shiftR` 2 = -1
3428 -1 `shiftR` 3 = -1
3429 -1 `shiftR` 32 = -1
3430  
3431 0 `shiftR` 0 = 0
3432 0 `shiftR` 1 = 0
3433 0 `shiftR` 2 = 0
3434 0 `shiftR` 3 = 0
3435 0 `shiftR` 32 = 0
3436  
3437 1 `shiftR` 0 = 1
3438 1 `shiftR` 1 = 0
3439 1 `shiftR` 2 = 0
3440 1 `shiftR` 3 = 0
3441 1 `shiftR` 32 = 0
3442  
3443 2 `shiftR` 0 = 2
3444 2 `shiftR` 1 = 1
3445 2 `shiftR` 2 = 0
3446 2 `shiftR` 3 = 0
3447 2 `shiftR` 32 = 0
3448  
3449 3 `shiftR` 0 = 3
3450 3 `shiftR` 1 = 1
3451 3 `shiftR` 2 = 0
3452 3 `shiftR` 3 = 0
3453 3 `shiftR` 32 = 0
3454  
3455 #
3456 -3 `rotate` -3 = -24545
3457 -3 `rotate` -2 = 16447
3458 -3 `rotate` -1 = -32642
3459 -3 `rotate` 0 = -3
3460 -3 `rotate` 1 = -5
3461 -3 `rotate` 2 = -9
3462 -3 `rotate` 3 = -17
3463  
3464 -2 `rotate` -3 = -16353
3465 -2 `rotate` -2 = -32705
3466 -2 `rotate` -1 = 127
3467 -2 `rotate` 0 = -2
3468 -2 `rotate` 1 = -3
3469 -2 `rotate` 2 = -5
3470 -2 `rotate` 3 = -9
3471  
3472 -1 `rotate` -3 = -8161
3473 -1 `rotate` -2 = -16321
3474 -1 `rotate` -1 = -32641
3475 -1 `rotate` 0 = -1
3476 -1 `rotate` 1 = -1
3477 -1 `rotate` 2 = -1
3478 -1 `rotate` 3 = -1
3479  
3480 0 `rotate` -3 = 0
3481 0 `rotate` -2 = 0
3482 0 `rotate` -1 = 0
3483 0 `rotate` 0 = 0
3484 0 `rotate` 1 = 0
3485 0 `rotate` 2 = 0
3486 0 `rotate` 3 = 0
3487  
3488 1 `rotate` -3 = 8192
3489 1 `rotate` -2 = 16384
3490 1 `rotate` -1 = -32768
3491 1 `rotate` 0 = 1
3492 1 `rotate` 1 = 2
3493 1 `rotate` 2 = 4
3494 1 `rotate` 3 = 8
3495  
3496 2 `rotate` -3 = 16384
3497 2 `rotate` -2 = -32768
3498 2 `rotate` -1 = 1
3499 2 `rotate` 0 = 2
3500 2 `rotate` 1 = 4
3501 2 `rotate` 2 = 8
3502 2 `rotate` 3 = 16
3503  
3504 3 `rotate` -3 = 24576
3505 3 `rotate` -2 = -16384
3506 3 `rotate` -1 = -32767
3507 3 `rotate` 0 = 3
3508 3 `rotate` 1 = 6
3509 3 `rotate` 2 = 12
3510 3 `rotate` 3 = 24
3511  
3512 #
3513 bit 0 = 1
3514 bit 1 = 2
3515 bit 2 = 4
3516 bit 3 = 8
3517 #
3518 -3 `setBit` 0 = -3
3519 -3 `setBit` 1 = -1
3520 -3 `setBit` 2 = -3
3521 -3 `setBit` 3 = -3
3522 -3 `setBit` 32 = -3
3523  
3524 -2 `setBit` 0 = -1
3525 -2 `setBit` 1 = -2
3526 -2 `setBit` 2 = -2
3527 -2 `setBit` 3 = -2
3528 -2 `setBit` 32 = -2
3529  
3530 -1 `setBit` 0 = -1
3531 -1 `setBit` 1 = -1
3532 -1 `setBit` 2 = -1
3533 -1 `setBit` 3 = -1
3534 -1 `setBit` 32 = -1
3535  
3536 0 `setBit` 0 = 1
3537 0 `setBit` 1 = 2
3538 0 `setBit` 2 = 4
3539 0 `setBit` 3 = 8
3540 0 `setBit` 32 = 0
3541  
3542 1 `setBit` 0 = 1
3543 1 `setBit` 1 = 3
3544 1 `setBit` 2 = 5
3545 1 `setBit` 3 = 9
3546 1 `setBit` 32 = 1
3547  
3548 2 `setBit` 0 = 3
3549 2 `setBit` 1 = 2
3550 2 `setBit` 2 = 6
3551 2 `setBit` 3 = 10
3552 2 `setBit` 32 = 2
3553  
3554 3 `setBit` 0 = 3
3555 3 `setBit` 1 = 3
3556 3 `setBit` 2 = 7
3557 3 `setBit` 3 = 11
3558 3 `setBit` 32 = 3
3559  
3560 #
3561 -3 `clearBit` 0 = -4
3562 -3 `clearBit` 1 = -3
3563 -3 `clearBit` 2 = -7
3564 -3 `clearBit` 3 = -11
3565 -3 `clearBit` 32 = -3
3566  
3567 -2 `clearBit` 0 = -2
3568 -2 `clearBit` 1 = -4
3569 -2 `clearBit` 2 = -6
3570 -2 `clearBit` 3 = -10
3571 -2 `clearBit` 32 = -2
3572  
3573 -1 `clearBit` 0 = -2
3574 -1 `clearBit` 1 = -3
3575 -1 `clearBit` 2 = -5
3576 -1 `clearBit` 3 = -9
3577 -1 `clearBit` 32 = -1
3578  
3579 0 `clearBit` 0 = 0
3580 0 `clearBit` 1 = 0
3581 0 `clearBit` 2 = 0
3582 0 `clearBit` 3 = 0
3583 0 `clearBit` 32 = 0
3584  
3585 1 `clearBit` 0 = 0
3586 1 `clearBit` 1 = 1
3587 1 `clearBit` 2 = 1
3588 1 `clearBit` 3 = 1
3589 1 `clearBit` 32 = 1
3590  
3591 2 `clearBit` 0 = 2
3592 2 `clearBit` 1 = 0
3593 2 `clearBit` 2 = 2
3594 2 `clearBit` 3 = 2
3595 2 `clearBit` 32 = 2
3596  
3597 3 `clearBit` 0 = 2
3598 3 `clearBit` 1 = 1
3599 3 `clearBit` 2 = 3
3600 3 `clearBit` 3 = 3
3601 3 `clearBit` 32 = 3
3602  
3603 #
3604 -3 `complementBit` 0 = -4
3605 -3 `complementBit` 1 = -1
3606 -3 `complementBit` 2 = -7
3607 -3 `complementBit` 3 = -11
3608 -3 `complementBit` 32 = -3
3609  
3610 -2 `complementBit` 0 = -1
3611 -2 `complementBit` 1 = -4
3612 -2 `complementBit` 2 = -6
3613 -2 `complementBit` 3 = -10
3614 -2 `complementBit` 32 = -2
3615  
3616 -1 `complementBit` 0 = -2
3617 -1 `complementBit` 1 = -3
3618 -1 `complementBit` 2 = -5
3619 -1 `complementBit` 3 = -9
3620 -1 `complementBit` 32 = -1
3621  
3622 0 `complementBit` 0 = 1
3623 0 `complementBit` 1 = 2
3624 0 `complementBit` 2 = 4
3625 0 `complementBit` 3 = 8
3626 0 `complementBit` 32 = 0
3627  
3628 1 `complementBit` 0 = 0
3629 1 `complementBit` 1 = 3
3630 1 `complementBit` 2 = 5
3631 1 `complementBit` 3 = 9
3632 1 `complementBit` 32 = 1
3633  
3634 2 `complementBit` 0 = 3
3635 2 `complementBit` 1 = 0
3636 2 `complementBit` 2 = 6
3637 2 `complementBit` 3 = 10
3638 2 `complementBit` 32 = 2
3639  
3640 3 `complementBit` 0 = 2
3641 3 `complementBit` 1 = 1
3642 3 `complementBit` 2 = 7
3643 3 `complementBit` 3 = 11
3644 3 `complementBit` 32 = 3
3645  
3646 #
3647 -3 `testBit` 0 = True
3648 -3 `testBit` 1 = False
3649 -3 `testBit` 2 = True
3650 -3 `testBit` 3 = True
3651 -3 `testBit` 32 = False
3652  
3653 -2 `testBit` 0 = False
3654 -2 `testBit` 1 = True
3655 -2 `testBit` 2 = True
3656 -2 `testBit` 3 = True
3657 -2 `testBit` 32 = False
3658  
3659 -1 `testBit` 0 = True
3660 -1 `testBit` 1 = True
3661 -1 `testBit` 2 = True
3662 -1 `testBit` 3 = True
3663 -1 `testBit` 32 = False
3664  
3665 0 `testBit` 0 = False
3666 0 `testBit` 1 = False
3667 0 `testBit` 2 = False
3668 0 `testBit` 3 = False
3669 0 `testBit` 32 = False
3670  
3671 1 `testBit` 0 = True
3672 1 `testBit` 1 = False
3673 1 `testBit` 2 = False
3674 1 `testBit` 3 = False
3675 1 `testBit` 32 = False
3676  
3677 2 `testBit` 0 = False
3678 2 `testBit` 1 = True
3679 2 `testBit` 2 = False
3680 2 `testBit` 3 = False
3681 2 `testBit` 32 = False
3682  
3683 3 `testBit` 0 = True
3684 3 `testBit` 1 = True
3685 3 `testBit` 2 = False
3686 3 `testBit` 3 = False
3687 3 `testBit` 32 = False
3688  
3689 #
3690 bitSize -3 = 16
3691 bitSize -2 = 16
3692 bitSize -1 = 16
3693 bitSize 0 = 16
3694 bitSize 1 = 16
3695 bitSize 2 = 16
3696 bitSize 3 = 16
3697 #
3698 isSigned -3 = True
3699 isSigned -2 = True
3700 isSigned -1 = True
3701 isSigned 0 = True
3702 isSigned 1 = True
3703 isSigned 2 = True
3704 isSigned 3 = True
3705 #
3706 --------------------------------
3707 --Testing Int32
3708 --------------------------------
3709 testBounded
3710 (2147483647,-2147483648,-2147483647)
3711 (2147483646,2147483647,-2147483648)
3712 testEnum
3713 [0,1,2,3,4,5,6,7,8,9]
3714 [0,2,4,6,8,10,12,14,16,18]
3715 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
3716 [0,2,4,6,8,10,12,14,16,18,20]
3717 testReadShow
3718 [-3,-2,-1,0,1,2,3]
3719 [-3,-2,-1,0,1,2,3]
3720 testEq
3721 -3 == -3 = True
3722 -3 == -2 = False
3723 -3 == -1 = False
3724 -3 == 0 = False
3725 -3 == 1 = False
3726 -3 == 2 = False
3727 -3 == 3 = False
3728  
3729 -2 == -3 = False
3730 -2 == -2 = True
3731 -2 == -1 = False
3732 -2 == 0 = False
3733 -2 == 1 = False
3734 -2 == 2 = False
3735 -2 == 3 = False
3736  
3737 -1 == -3 = False
3738 -1 == -2 = False
3739 -1 == -1 = True
3740 -1 == 0 = False
3741 -1 == 1 = False
3742 -1 == 2 = False
3743 -1 == 3 = False
3744  
3745 0 == -3 = False
3746 0 == -2 = False
3747 0 == -1 = False
3748 0 == 0 = True
3749 0 == 1 = False
3750 0 == 2 = False
3751 0 == 3 = False
3752  
3753 1 == -3 = False
3754 1 == -2 = False
3755 1 == -1 = False
3756 1 == 0 = False
3757 1 == 1 = True
3758 1 == 2 = False
3759 1 == 3 = False
3760  
3761 2 == -3 = False
3762 2 == -2 = False
3763 2 == -1 = False
3764 2 == 0 = False
3765 2 == 1 = False
3766 2 == 2 = True
3767 2 == 3 = False
3768  
3769 3 == -3 = False
3770 3 == -2 = False
3771 3 == -1 = False
3772 3 == 0 = False
3773 3 == 1 = False
3774 3 == 2 = False
3775 3 == 3 = True
3776  
3777 #
3778 -3 /= -3 = False
3779 -3 /= -2 = True
3780 -3 /= -1 = True
3781 -3 /= 0 = True
3782 -3 /= 1 = True
3783 -3 /= 2 = True
3784 -3 /= 3 = True
3785  
3786 -2 /= -3 = True
3787 -2 /= -2 = False
3788 -2 /= -1 = True
3789 -2 /= 0 = True
3790 -2 /= 1 = True
3791 -2 /= 2 = True
3792 -2 /= 3 = True
3793  
3794 -1 /= -3 = True
3795 -1 /= -2 = True
3796 -1 /= -1 = False
3797 -1 /= 0 = True
3798 -1 /= 1 = True
3799 -1 /= 2 = True
3800 -1 /= 3 = True
3801  
3802 0 /= -3 = True
3803 0 /= -2 = True
3804 0 /= -1 = True
3805 0 /= 0 = False
3806 0 /= 1 = True
3807 0 /= 2 = True
3808 0 /= 3 = True
3809  
3810 1 /= -3 = True
3811 1 /= -2 = True
3812 1 /= -1 = True
3813 1 /= 0 = True
3814 1 /= 1 = False
3815 1 /= 2 = True
3816 1 /= 3 = True
3817  
3818 2 /= -3 = True
3819 2 /= -2 = True
3820 2 /= -1 = True
3821 2 /= 0 = True
3822 2 /= 1 = True
3823 2 /= 2 = False
3824 2 /= 3 = True
3825  
3826 3 /= -3 = True
3827 3 /= -2 = True
3828 3 /= -1 = True
3829 3 /= 0 = True
3830 3 /= 1 = True
3831 3 /= 2 = True
3832 3 /= 3 = False
3833  
3834 #
3835 testOrd
3836 -3 <= -3 = True
3837 -3 <= -2 = True
3838 -3 <= -1 = True
3839 -3 <= 0 = True
3840 -3 <= 1 = True
3841 -3 <= 2 = True
3842 -3 <= 3 = True
3843  
3844 -2 <= -3 = False
3845 -2 <= -2 = True
3846 -2 <= -1 = True
3847 -2 <= 0 = True
3848 -2 <= 1 = True
3849 -2 <= 2 = True
3850 -2 <= 3 = True
3851  
3852 -1 <= -3 = False
3853 -1 <= -2 = False
3854 -1 <= -1 = True
3855 -1 <= 0 = True
3856 -1 <= 1 = True
3857 -1 <= 2 = True
3858 -1 <= 3 = True
3859  
3860 0 <= -3 = False
3861 0 <= -2 = False
3862 0 <= -1 = False
3863 0 <= 0 = True
3864 0 <= 1 = True
3865 0 <= 2 = True
3866 0 <= 3 = True
3867  
3868 1 <= -3 = False
3869 1 <= -2 = False
3870 1 <= -1 = False
3871 1 <= 0 = False
3872 1 <= 1 = True
3873 1 <= 2 = True
3874 1 <= 3 = True
3875  
3876 2 <= -3 = False
3877 2 <= -2 = False
3878 2 <= -1 = False
3879 2 <= 0 = False
3880 2 <= 1 = False
3881 2 <= 2 = True
3882 2 <= 3 = True
3883  
3884 3 <= -3 = False
3885 3 <= -2 = False
3886 3 <= -1 = False
3887 3 <= 0 = False
3888 3 <= 1 = False
3889 3 <= 2 = False
3890 3 <= 3 = True
3891  
3892 #
3893 -3 <  -3 = False
3894 -3 <  -2 = True
3895 -3 <  -1 = True
3896 -3 <  0 = True
3897 -3 <  1 = True
3898 -3 <  2 = True
3899 -3 <  3 = True
3900  
3901 -2 <  -3 = False
3902 -2 <  -2 = False
3903 -2 <  -1 = True
3904 -2 <  0 = True
3905 -2 <  1 = True
3906 -2 <  2 = True
3907 -2 <  3 = True
3908  
3909 -1 <  -3 = False
3910 -1 <  -2 = False
3911 -1 <  -1 = False
3912 -1 <  0 = True
3913 -1 <  1 = True
3914 -1 <  2 = True
3915 -1 <  3 = True
3916  
3917 0 <  -3 = False
3918 0 <  -2 = False
3919 0 <  -1 = False
3920 0 <  0 = False
3921 0 <  1 = True
3922 0 <  2 = True
3923 0 <  3 = True
3924  
3925 1 <  -3 = False
3926 1 <  -2 = False
3927 1 <  -1 = False
3928 1 <  0 = False
3929 1 <  1 = False
3930 1 <  2 = True
3931 1 <  3 = True
3932  
3933 2 <  -3 = False
3934 2 <  -2 = False
3935 2 <  -1 = False
3936 2 <  0 = False
3937 2 <  1 = False
3938 2 <  2 = False
3939 2 <  3 = True
3940  
3941 3 <  -3 = False
3942 3 <  -2 = False
3943 3 <  -1 = False
3944 3 <  0 = False
3945 3 <  1 = False
3946 3 <  2 = False
3947 3 <  3 = False
3948  
3949 #
3950 -3 >  -3 = False
3951 -3 >  -2 = False
3952 -3 >  -1 = False
3953 -3 >  0 = False
3954 -3 >  1 = False
3955 -3 >  2 = False
3956 -3 >  3 = False
3957  
3958 -2 >  -3 = True
3959 -2 >  -2 = False
3960 -2 >  -1 = False
3961 -2 >  0 = False
3962 -2 >  1 = False
3963 -2 >  2 = False
3964 -2 >  3 = False
3965  
3966 -1 >  -3 = True
3967 -1 >  -2 = True
3968 -1 >  -1 = False
3969 -1 >  0 = False
3970 -1 >  1 = False
3971 -1 >  2 = False
3972 -1 >  3 = False
3973  
3974 0 >  -3 = True
3975 0 >  -2 = True
3976 0 >  -1 = True
3977 0 >  0 = False
3978 0 >  1 = False
3979 0 >  2 = False
3980 0 >  3 = False
3981  
3982 1 >  -3 = True
3983 1 >  -2 = True
3984 1 >  -1 = True
3985 1 >  0 = True
3986 1 >  1 = False
3987 1 >  2 = False
3988 1 >  3 = False
3989  
3990 2 >  -3 = True
3991 2 >  -2 = True
3992 2 >  -1 = True
3993 2 >  0 = True
3994 2 >  1 = True
3995 2 >  2 = False
3996 2 >  3 = False
3997  
3998 3 >  -3 = True
3999 3 >  -2 = True
4000 3 >  -1 = True
4001 3 >  0 = True
4002 3 >  1 = True
4003 3 >  2 = True
4004 3 >  3 = False
4005  
4006 #
4007 -3 >= -3 = True
4008 -3 >= -2 = False
4009 -3 >= -1 = False
4010 -3 >= 0 = False
4011 -3 >= 1 = False
4012 -3 >= 2 = False
4013 -3 >= 3 = False
4014  
4015 -2 >= -3 = True
4016 -2 >= -2 = True
4017 -2 >= -1 = False
4018 -2 >= 0 = False
4019 -2 >= 1 = False
4020 -2 >= 2 = False
4021 -2 >= 3 = False
4022  
4023 -1 >= -3 = True
4024 -1 >= -2 = True
4025 -1 >= -1 = True
4026 -1 >= 0 = False
4027 -1 >= 1 = False
4028 -1 >= 2 = False
4029 -1 >= 3 = False
4030  
4031 0 >= -3 = True
4032 0 >= -2 = True
4033 0 >= -1 = True
4034 0 >= 0 = True
4035 0 >= 1 = False
4036 0 >= 2 = False
4037 0 >= 3 = False
4038  
4039 1 >= -3 = True
4040 1 >= -2 = True
4041 1 >= -1 = True
4042 1 >= 0 = True
4043 1 >= 1 = True
4044 1 >= 2 = False
4045 1 >= 3 = False
4046  
4047 2 >= -3 = True
4048 2 >= -2 = True
4049 2 >= -1 = True
4050 2 >= 0 = True
4051 2 >= 1 = True
4052 2 >= 2 = True
4053 2 >= 3 = False
4054  
4055 3 >= -3 = True
4056 3 >= -2 = True
4057 3 >= -1 = True
4058 3 >= 0 = True
4059 3 >= 1 = True
4060 3 >= 2 = True
4061 3 >= 3 = True
4062  
4063 #
4064 -3 `compare` -3 = EQ
4065 -3 `compare` -2 = LT
4066 -3 `compare` -1 = LT
4067 -3 `compare` 0 = LT
4068 -3 `compare` 1 = LT
4069 -3 `compare` 2 = LT
4070 -3 `compare` 3 = LT
4071  
4072 -2 `compare` -3 = GT
4073 -2 `compare` -2 = EQ
4074 -2 `compare` -1 = LT
4075 -2 `compare` 0 = LT
4076 -2 `compare` 1 = LT
4077 -2 `compare` 2 = LT
4078 -2 `compare` 3 = LT
4079  
4080 -1 `compare` -3 = GT
4081 -1 `compare` -2 = GT
4082 -1 `compare` -1 = EQ
4083 -1 `compare` 0 = LT
4084 -1 `compare` 1 = LT
4085 -1 `compare` 2 = LT
4086 -1 `compare` 3 = LT
4087  
4088 0 `compare` -3 = GT
4089 0 `compare` -2 = GT
4090 0 `compare` -1 = GT
4091 0 `compare` 0 = EQ
4092 0 `compare` 1 = LT
4093 0 `compare` 2 = LT
4094 0 `compare` 3 = LT
4095  
4096 1 `compare` -3 = GT
4097 1 `compare` -2 = GT
4098 1 `compare` -1 = GT
4099 1 `compare` 0 = GT
4100 1 `compare` 1 = EQ
4101 1 `compare` 2 = LT
4102 1 `compare` 3 = LT
4103  
4104 2 `compare` -3 = GT
4105 2 `compare` -2 = GT
4106 2 `compare` -1 = GT
4107 2 `compare` 0 = GT
4108 2 `compare` 1 = GT
4109 2 `compare` 2 = EQ
4110 2 `compare` 3 = LT
4111  
4112 3 `compare` -3 = GT
4113 3 `compare` -2 = GT
4114 3 `compare` -1 = GT
4115 3 `compare` 0 = GT
4116 3 `compare` 1 = GT
4117 3 `compare` 2 = GT
4118 3 `compare` 3 = EQ
4119  
4120 #
4121 testNum
4122 -3 + -3 = -6
4123 -3 + -2 = -5
4124 -3 + -1 = -4
4125 -3 + 0 = -3
4126 -3 + 1 = -2
4127 -3 + 2 = -1
4128 -3 + 3 = 0
4129  
4130 -2 + -3 = -5
4131 -2 + -2 = -4
4132 -2 + -1 = -3
4133 -2 + 0 = -2
4134 -2 + 1 = -1
4135 -2 + 2 = 0
4136 -2 + 3 = 1
4137  
4138 -1 + -3 = -4
4139 -1 + -2 = -3
4140 -1 + -1 = -2
4141 -1 + 0 = -1
4142 -1 + 1 = 0
4143 -1 + 2 = 1
4144 -1 + 3 = 2
4145  
4146 0 + -3 = -3
4147 0 + -2 = -2
4148 0 + -1 = -1
4149 0 + 0 = 0
4150 0 + 1 = 1
4151 0 + 2 = 2
4152 0 + 3 = 3
4153  
4154 1 + -3 = -2
4155 1 + -2 = -1
4156 1 + -1 = 0
4157 1 + 0 = 1
4158 1 + 1 = 2
4159 1 + 2 = 3
4160 1 + 3 = 4
4161  
4162 2 + -3 = -1
4163 2 + -2 = 0
4164 2 + -1 = 1
4165 2 + 0 = 2
4166 2 + 1 = 3
4167 2 + 2 = 4
4168 2 + 3 = 5
4169  
4170 3 + -3 = 0
4171 3 + -2 = 1
4172 3 + -1 = 2
4173 3 + 0 = 3
4174 3 + 1 = 4
4175 3 + 2 = 5
4176 3 + 3 = 6
4177  
4178 #
4179 -3 - -3 = 0
4180 -3 - -2 = -1
4181 -3 - -1 = -2
4182 -3 - 0 = -3
4183 -3 - 1 = -4
4184 -3 - 2 = -5
4185 -3 - 3 = -6
4186  
4187 -2 - -3 = 1
4188 -2 - -2 = 0
4189 -2 - -1 = -1
4190 -2 - 0 = -2
4191 -2 - 1 = -3
4192 -2 - 2 = -4
4193 -2 - 3 = -5
4194  
4195 -1 - -3 = 2
4196 -1 - -2 = 1
4197 -1 - -1 = 0
4198 -1 - 0 = -1
4199 -1 - 1 = -2
4200 -1 - 2 = -3
4201 -1 - 3 = -4
4202  
4203 0 - -3 = 3
4204 0 - -2 = 2
4205 0 - -1 = 1
4206 0 - 0 = 0
4207 0 - 1 = -1
4208 0 - 2 = -2
4209 0 - 3 = -3
4210  
4211 1 - -3 = 4
4212 1 - -2 = 3
4213 1 - -1 = 2
4214 1 - 0 = 1
4215 1 - 1 = 0
4216 1 - 2 = -1
4217 1 - 3 = -2
4218  
4219 2 - -3 = 5
4220 2 - -2 = 4
4221 2 - -1 = 3
4222 2 - 0 = 2
4223 2 - 1 = 1
4224 2 - 2 = 0
4225 2 - 3 = -1
4226  
4227 3 - -3 = 6
4228 3 - -2 = 5
4229 3 - -1 = 4
4230 3 - 0 = 3
4231 3 - 1 = 2
4232 3 - 2 = 1
4233 3 - 3 = 0
4234  
4235 #
4236 -3 * -3 = 9
4237 -3 * -2 = 6
4238 -3 * -1 = 3
4239 -3 * 0 = 0
4240 -3 * 1 = -3
4241 -3 * 2 = -6
4242 -3 * 3 = -9
4243  
4244 -2 * -3 = 6
4245 -2 * -2 = 4
4246 -2 * -1 = 2
4247 -2 * 0 = 0
4248 -2 * 1 = -2
4249 -2 * 2 = -4
4250 -2 * 3 = -6
4251  
4252 -1 * -3 = 3
4253 -1 * -2 = 2
4254 -1 * -1 = 1
4255 -1 * 0 = 0
4256 -1 * 1 = -1
4257 -1 * 2 = -2
4258 -1 * 3 = -3
4259  
4260 0 * -3 = 0
4261 0 * -2 = 0
4262 0 * -1 = 0
4263 0 * 0 = 0
4264 0 * 1 = 0
4265 0 * 2 = 0
4266 0 * 3 = 0
4267  
4268 1 * -3 = -3
4269 1 * -2 = -2
4270 1 * -1 = -1
4271 1 * 0 = 0
4272 1 * 1 = 1
4273 1 * 2 = 2
4274 1 * 3 = 3
4275  
4276 2 * -3 = -6
4277 2 * -2 = -4
4278 2 * -1 = -2
4279 2 * 0 = 0
4280 2 * 1 = 2
4281 2 * 2 = 4
4282 2 * 3 = 6
4283  
4284 3 * -3 = -9
4285 3 * -2 = -6
4286 3 * -1 = -3
4287 3 * 0 = 0
4288 3 * 1 = 3
4289 3 * 2 = 6
4290 3 * 3 = 9
4291  
4292 #
4293 negate -3 = 3
4294 negate -2 = 2
4295 negate -1 = 1
4296 negate 0 = 0
4297 negate 1 = -1
4298 negate 2 = -2
4299 negate 3 = -3
4300 #
4301 testReal
4302 toRational -3 = -3 % 1
4303 toRational -2 = -2 % 1
4304 toRational -1 = -1 % 1
4305 toRational 0 = 0 % 1
4306 toRational 1 = 1 % 1
4307 toRational 2 = 2 % 1
4308 toRational 3 = 3 % 1
4309 #
4310 testIntegral
4311 -3 `divMod`  -3 = (1,0)
4312 -3 `divMod`  -2 = (1,-1)
4313 -3 `divMod`  -1 = (3,0)
4314 -3 `divMod`  1 = (-3,0)
4315 -3 `divMod`  2 = (-2,1)
4316 -3 `divMod`  3 = (-1,0)
4317  
4318 -2 `divMod`  -3 = (0,-2)
4319 -2 `divMod`  -2 = (1,0)
4320 -2 `divMod`  -1 = (2,0)
4321 -2 `divMod`  1 = (-2,0)
4322 -2 `divMod`  2 = (-1,0)
4323 -2 `divMod`  3 = (-1,1)
4324  
4325 -1 `divMod`  -3 = (0,-1)
4326 -1 `divMod`  -2 = (0,-1)
4327 -1 `divMod`  -1 = (1,0)
4328 -1 `divMod`  1 = (-1,0)
4329 -1 `divMod`  2 = (-1,1)
4330 -1 `divMod`  3 = (-1,2)
4331  
4332 0 `divMod`  -3 = (0,0)
4333 0 `divMod`  -2 = (0,0)
4334 0 `divMod`  -1 = (0,0)
4335 0 `divMod`  1 = (0,0)
4336 0 `divMod`  2 = (0,0)
4337 0 `divMod`  3 = (0,0)
4338  
4339 1 `divMod`  -3 = (-1,-2)
4340 1 `divMod`  -2 = (-1,-1)
4341 1 `divMod`  -1 = (-1,0)
4342 1 `divMod`  1 = (1,0)
4343 1 `divMod`  2 = (0,1)
4344 1 `divMod`  3 = (0,1)
4345  
4346 2 `divMod`  -3 = (-1,-1)
4347 2 `divMod`  -2 = (-1,0)
4348 2 `divMod`  -1 = (-2,0)
4349 2 `divMod`  1 = (2,0)
4350 2 `divMod`  2 = (1,0)
4351 2 `divMod`  3 = (0,2)
4352  
4353 3 `divMod`  -3 = (-1,0)
4354 3 `divMod`  -2 = (-2,-1)
4355 3 `divMod`  -1 = (-3,0)
4356 3 `divMod`  1 = (3,0)
4357 3 `divMod`  2 = (1,1)
4358 3 `divMod`  3 = (1,0)
4359  
4360 #
4361 -3 `div`     -3 = 1
4362 -3 `div`     -2 = 1
4363 -3 `div`     -1 = 3
4364 -3 `div`     1 = -3
4365 -3 `div`     2 = -2
4366 -3 `div`     3 = -1
4367  
4368 -2 `div`     -3 = 0
4369 -2 `div`     -2 = 1
4370 -2 `div`     -1 = 2
4371 -2 `div`     1 = -2
4372 -2 `div`     2 = -1
4373 -2 `div`     3 = -1
4374  
4375 -1 `div`     -3 = 0
4376 -1 `div`     -2 = 0
4377 -1 `div`     -1 = 1
4378 -1 `div`     1 = -1
4379 -1 `div`     2 = -1
4380 -1 `div`     3 = -1
4381  
4382 0 `div`     -3 = 0
4383 0 `div`     -2 = 0
4384 0 `div`     -1 = 0
4385 0 `div`     1 = 0
4386 0 `div`     2 = 0
4387 0 `div`     3 = 0
4388  
4389 1 `div`     -3 = -1
4390 1 `div`     -2 = -1
4391 1 `div`     -1 = -1
4392 1 `div`     1 = 1
4393 1 `div`     2 = 0
4394 1 `div`     3 = 0
4395  
4396 2 `div`     -3 = -1
4397 2 `div`     -2 = -1
4398 2 `div`     -1 = -2
4399 2 `div`     1 = 2
4400 2 `div`     2 = 1
4401 2 `div`     3 = 0
4402  
4403 3 `div`     -3 = -1
4404 3 `div`     -2 = -2
4405 3 `div`     -1 = -3
4406 3 `div`     1 = 3
4407 3 `div`     2 = 1
4408 3 `div`     3 = 1
4409  
4410 #
4411 -3 `mod`     -3 = 0
4412 -3 `mod`     -2 = -1
4413 -3 `mod`     -1 = 0
4414 -3 `mod`     1 = 0
4415 -3 `mod`     2 = 1
4416 -3 `mod`     3 = 0
4417  
4418 -2 `mod`     -3 = -2
4419 -2 `mod`     -2 = 0
4420 -2 `mod`     -1 = 0
4421 -2 `mod`     1 = 0
4422 -2 `mod`     2 = 0
4423 -2 `mod`     3 = 1
4424  
4425 -1 `mod`     -3 = -1
4426 -1 `mod`     -2 = -1
4427 -1 `mod`     -1 = 0
4428 -1 `mod`     1 = 0
4429 -1 `mod`     2 = 1
4430 -1 `mod`     3 = 2
4431  
4432 0 `mod`     -3 = 0
4433 0 `mod`     -2 = 0
4434 0 `mod`     -1 = 0
4435 0 `mod`     1 = 0
4436 0 `mod`     2 = 0
4437 0 `mod`     3 = 0
4438  
4439 1 `mod`     -3 = -2
4440 1 `mod`     -2 = -1
4441 1 `mod`     -1 = 0
4442 1 `mod`     1 = 0
4443 1 `mod`     2 = 1
4444 1 `mod`     3 = 1
4445  
4446 2 `mod`     -3 = -1
4447 2 `mod`     -2 = 0
4448 2 `mod`     -1 = 0
4449 2 `mod`     1 = 0
4450 2 `mod`     2 = 0
4451 2 `mod`     3 = 2
4452  
4453 3 `mod`     -3 = 0
4454 3 `mod`     -2 = -1
4455 3 `mod`     -1 = 0
4456 3 `mod`     1 = 0
4457 3 `mod`     2 = 1
4458 3 `mod`     3 = 0
4459  
4460 #
4461 -3 `quotRem` -3 = (1,0)
4462 -3 `quotRem` -2 = (1,-1)
4463 -3 `quotRem` -1 = (3,0)
4464 -3 `quotRem` 1 = (-3,0)
4465 -3 `quotRem` 2 = (-1,-1)
4466 -3 `quotRem` 3 = (-1,0)
4467  
4468 -2 `quotRem` -3 = (0,-2)
4469 -2 `quotRem` -2 = (1,0)
4470 -2 `quotRem` -1 = (2,0)
4471 -2 `quotRem` 1 = (-2,0)
4472 -2 `quotRem` 2 = (-1,0)
4473 -2 `quotRem` 3 = (0,-2)
4474  
4475 -1 `quotRem` -3 = (0,-1)
4476 -1 `quotRem` -2 = (0,-1)
4477 -1 `quotRem` -1 = (1,0)
4478 -1 `quotRem` 1 = (-1,0)
4479 -1 `quotRem` 2 = (0,-1)
4480 -1 `quotRem` 3 = (0,-1)
4481  
4482 0 `quotRem` -3 = (0,0)
4483 0 `quotRem` -2 = (0,0)
4484 0 `quotRem` -1 = (0,0)
4485 0 `quotRem` 1 = (0,0)
4486 0 `quotRem` 2 = (0,0)
4487 0 `quotRem` 3 = (0,0)
4488  
4489 1 `quotRem` -3 = (0,1)
4490 1 `quotRem` -2 = (0,1)
4491 1 `quotRem` -1 = (-1,0)
4492 1 `quotRem` 1 = (1,0)
4493 1 `quotRem` 2 = (0,1)
4494 1 `quotRem` 3 = (0,1)
4495  
4496 2 `quotRem` -3 = (0,2)
4497 2 `quotRem` -2 = (-1,0)
4498 2 `quotRem` -1 = (-2,0)
4499 2 `quotRem` 1 = (2,0)
4500 2 `quotRem` 2 = (1,0)
4501 2 `quotRem` 3 = (0,2)
4502  
4503 3 `quotRem` -3 = (-1,0)
4504 3 `quotRem` -2 = (-1,1)
4505 3 `quotRem` -1 = (-3,0)
4506 3 `quotRem` 1 = (3,0)
4507 3 `quotRem` 2 = (1,1)
4508 3 `quotRem` 3 = (1,0)
4509  
4510 #
4511 -3 `quot`    -3 = 1
4512 -3 `quot`    -2 = 1
4513 -3 `quot`    -1 = 3
4514 -3 `quot`    1 = -3
4515 -3 `quot`    2 = -1
4516 -3 `quot`    3 = -1
4517  
4518 -2 `quot`    -3 = 0
4519 -2 `quot`    -2 = 1
4520 -2 `quot`    -1 = 2
4521 -2 `quot`    1 = -2
4522 -2 `quot`    2 = -1
4523 -2 `quot`    3 = 0
4524  
4525 -1 `quot`    -3 = 0
4526 -1 `quot`    -2 = 0
4527 -1 `quot`    -1 = 1
4528 -1 `quot`    1 = -1
4529 -1 `quot`    2 = 0
4530 -1 `quot`    3 = 0
4531  
4532 0 `quot`    -3 = 0
4533 0 `quot`    -2 = 0
4534 0 `quot`    -1 = 0
4535 0 `quot`    1 = 0
4536 0 `quot`    2 = 0
4537 0 `quot`    3 = 0
4538  
4539 1 `quot`    -3 = 0
4540 1 `quot`    -2 = 0
4541 1 `quot`    -1 = -1
4542 1 `quot`    1 = 1
4543 1 `quot`    2 = 0
4544 1 `quot`    3 = 0
4545  
4546 2 `quot`    -3 = 0
4547 2 `quot`    -2 = -1
4548 2 `quot`    -1 = -2
4549 2 `quot`    1 = 2
4550 2 `quot`    2 = 1
4551 2 `quot`    3 = 0
4552  
4553 3 `quot`    -3 = -1
4554 3 `quot`    -2 = -1
4555 3 `quot`    -1 = -3
4556 3 `quot`    1 = 3
4557 3 `quot`    2 = 1
4558 3 `quot`    3 = 1
4559  
4560 #
4561 -3 `rem`     -3 = 0
4562 -3 `rem`     -2 = -1
4563 -3 `rem`     -1 = 0
4564 -3 `rem`     1 = 0
4565 -3 `rem`     2 = -1
4566 -3 `rem`     3 = 0
4567  
4568 -2 `rem`     -3 = -2
4569 -2 `rem`     -2 = 0
4570 -2 `rem`     -1 = 0
4571 -2 `rem`     1 = 0
4572 -2 `rem`     2 = 0
4573 -2 `rem`     3 = -2
4574  
4575 -1 `rem`     -3 = -1
4576 -1 `rem`     -2 = -1
4577 -1 `rem`     -1 = 0
4578 -1 `rem`     1 = 0
4579 -1 `rem`     2 = -1
4580 -1 `rem`     3 = -1
4581  
4582 0 `rem`     -3 = 0
4583 0 `rem`     -2 = 0
4584 0 `rem`     -1 = 0
4585 0 `rem`     1 = 0
4586 0 `rem`     2 = 0
4587 0 `rem`     3 = 0
4588  
4589 1 `rem`     -3 = 1
4590 1 `rem`     -2 = 1
4591 1 `rem`     -1 = 0
4592 1 `rem`     1 = 0
4593 1 `rem`     2 = 1
4594 1 `rem`     3 = 1
4595  
4596 2 `rem`     -3 = 2
4597 2 `rem`     -2 = 0
4598 2 `rem`     -1 = 0
4599 2 `rem`     1 = 0
4600 2 `rem`     2 = 0
4601 2 `rem`     3 = 2
4602  
4603 3 `rem`     -3 = 0
4604 3 `rem`     -2 = 1
4605 3 `rem`     -1 = 0
4606 3 `rem`     1 = 0
4607 3 `rem`     2 = 1
4608 3 `rem`     3 = 0
4609  
4610 #
4611 testBits
4612 -3 .&.   -3 = -3
4613 -3 .&.   -2 = -4
4614 -3 .&.   -1 = -3
4615 -3 .&.   1 = 1
4616 -3 .&.   2 = 0
4617 -3 .&.   3 = 1
4618  
4619 -2 .&.   -3 = -4
4620 -2 .&.   -2 = -2
4621 -2 .&.   -1 = -2
4622 -2 .&.   1 = 0
4623 -2 .&.   2 = 2
4624 -2 .&.   3 = 2
4625  
4626 -1 .&.   -3 = -3
4627 -1 .&.   -2 = -2
4628 -1 .&.   -1 = -1
4629 -1 .&.   1 = 1
4630 -1 .&.   2 = 2
4631 -1 .&.   3 = 3
4632  
4633 0 .&.   -3 = 0
4634 0 .&.   -2 = 0
4635 0 .&.   -1 = 0
4636 0 .&.   1 = 0
4637 0 .&.   2 = 0
4638 0 .&.   3 = 0
4639  
4640 1 .&.   -3 = 1
4641 1 .&.   -2 = 0
4642 1 .&.   -1 = 1
4643 1 .&.   1 = 1
4644 1 .&.   2 = 0
4645 1 .&.   3 = 1
4646  
4647 2 .&.   -3 = 0
4648 2 .&.   -2 = 2
4649 2 .&.   -1 = 2
4650 2 .&.   1 = 0
4651 2 .&.   2 = 2
4652 2 .&.   3 = 2
4653  
4654 3 .&.   -3 = 1
4655 3 .&.   -2 = 2
4656 3 .&.   -1 = 3
4657 3 .&.   1 = 1
4658 3 .&.   2 = 2
4659 3 .&.   3 = 3
4660  
4661 #
4662 -3 .|.   -3 = -3
4663 -3 .|.   -2 = -1
4664 -3 .|.   -1 = -1
4665 -3 .|.   1 = -3
4666 -3 .|.   2 = -1
4667 -3 .|.   3 = -1
4668  
4669 -2 .|.   -3 = -1
4670 -2 .|.   -2 = -2
4671 -2 .|.   -1 = -1
4672 -2 .|.   1 = -1
4673 -2 .|.   2 = -2
4674 -2 .|.   3 = -1
4675  
4676 -1 .|.   -3 = -1
4677 -1 .|.   -2 = -1
4678 -1 .|.   -1 = -1
4679 -1 .|.   1 = -1
4680 -1 .|.   2 = -1
4681 -1 .|.   3 = -1
4682  
4683 0 .|.   -3 = -3
4684 0 .|.   -2 = -2
4685 0 .|.   -1 = -1
4686 0 .|.   1 = 1
4687 0 .|.   2 = 2
4688 0 .|.   3 = 3
4689  
4690 1 .|.   -3 = -3
4691 1 .|.   -2 = -1
4692 1 .|.   -1 = -1
4693 1 .|.   1 = 1
4694 1 .|.   2 = 3
4695 1 .|.   3 = 3
4696  
4697 2 .|.   -3 = -1
4698 2 .|.   -2 = -2
4699 2 .|.   -1 = -1
4700 2 .|.   1 = 3
4701 2 .|.   2 = 2
4702 2 .|.   3 = 3
4703  
4704 3 .|.   -3 = -1
4705 3 .|.   -2 = -1
4706 3 .|.   -1 = -1
4707 3 .|.   1 = 3
4708 3 .|.   2 = 3
4709 3 .|.   3 = 3
4710  
4711 #
4712 -3 `xor` -3 = 0
4713 -3 `xor` -2 = 3
4714 -3 `xor` -1 = 2
4715 -3 `xor` 1 = -4
4716 -3 `xor` 2 = -1
4717 -3 `xor` 3 = -2
4718  
4719 -2 `xor` -3 = 3
4720 -2 `xor` -2 = 0
4721 -2 `xor` -1 = 1
4722 -2 `xor` 1 = -1
4723 -2 `xor` 2 = -4
4724 -2 `xor` 3 = -3
4725  
4726 -1 `xor` -3 = 2
4727 -1 `xor` -2 = 1
4728 -1 `xor` -1 = 0
4729 -1 `xor` 1 = -2
4730 -1 `xor` 2 = -3
4731 -1 `xor` 3 = -4
4732  
4733 0 `xor` -3 = -3
4734 0 `xor` -2 = -2
4735 0 `xor` -1 = -1
4736 0 `xor` 1 = 1
4737 0 `xor` 2 = 2
4738 0 `xor` 3 = 3
4739  
4740 1 `xor` -3 = -4
4741 1 `xor` -2 = -1
4742 1 `xor` -1 = -2
4743 1 `xor` 1 = 0
4744 1 `xor` 2 = 3
4745 1 `xor` 3 = 2
4746  
4747 2 `xor` -3 = -1
4748 2 `xor` -2 = -4
4749 2 `xor` -1 = -3
4750 2 `xor` 1 = 3
4751 2 `xor` 2 = 0
4752 2 `xor` 3 = 1
4753  
4754 3 `xor` -3 = -2
4755 3 `xor` -2 = -3
4756 3 `xor` -1 = -4
4757 3 `xor` 1 = 2
4758 3 `xor` 2 = 1
4759 3 `xor` 3 = 0
4760  
4761 #
4762 complement -3 = 2
4763 complement -2 = 1
4764 complement -1 = 0
4765 complement 0 = -1
4766 complement 1 = -2
4767 complement 2 = -3
4768 complement 3 = -4
4769 #
4770 -3 `shiftL` 0 = -3
4771 -3 `shiftL` 1 = -6
4772 -3 `shiftL` 2 = -12
4773 -3 `shiftL` 3 = -24
4774 -3 `shiftL` 32 = 0
4775  
4776 -2 `shiftL` 0 = -2
4777 -2 `shiftL` 1 = -4
4778 -2 `shiftL` 2 = -8
4779 -2 `shiftL` 3 = -16
4780 -2 `shiftL` 32 = 0
4781  
4782 -1 `shiftL` 0 = -1
4783 -1 `shiftL` 1 = -2
4784 -1 `shiftL` 2 = -4
4785 -1 `shiftL` 3 = -8
4786 -1 `shiftL` 32 = 0
4787  
4788 0 `shiftL` 0 = 0
4789 0 `shiftL` 1 = 0
4790 0 `shiftL` 2 = 0
4791 0 `shiftL` 3 = 0
4792 0 `shiftL` 32 = 0
4793  
4794 1 `shiftL` 0 = 1
4795 1 `shiftL` 1 = 2
4796 1 `shiftL` 2 = 4
4797 1 `shiftL` 3 = 8
4798 1 `shiftL` 32 = 0
4799  
4800 2 `shiftL` 0 = 2
4801 2 `shiftL` 1 = 4
4802 2 `shiftL` 2 = 8
4803 2 `shiftL` 3 = 16
4804 2 `shiftL` 32 = 0
4805  
4806 3 `shiftL` 0 = 3
4807 3 `shiftL` 1 = 6
4808 3 `shiftL` 2 = 12
4809 3 `shiftL` 3 = 24
4810 3 `shiftL` 32 = 0
4811  
4812 #
4813 -3 `shiftR` 0 = -3
4814 -3 `shiftR` 1 = -2
4815 -3 `shiftR` 2 = -1
4816 -3 `shiftR` 3 = -1
4817 -3 `shiftR` 32 = -1
4818  
4819 -2 `shiftR` 0 = -2
4820 -2 `shiftR` 1 = -1
4821 -2 `shiftR` 2 = -1
4822 -2 `shiftR` 3 = -1
4823 -2 `shiftR` 32 = -1
4824  
4825 -1 `shiftR` 0 = -1
4826 -1 `shiftR` 1 = -1
4827 -1 `shiftR` 2 = -1
4828 -1 `shiftR` 3 = -1
4829 -1 `shiftR` 32 = -1
4830  
4831 0 `shiftR` 0 = 0
4832 0 `shiftR` 1 = 0
4833 0 `shiftR` 2 = 0
4834 0 `shiftR` 3 = 0
4835 0 `shiftR` 32 = 0
4836  
4837 1 `shiftR` 0 = 1
4838 1 `shiftR` 1 = 0
4839 1 `shiftR` 2 = 0
4840 1 `shiftR` 3 = 0
4841 1 `shiftR` 32 = 0
4842  
4843 2 `shiftR` 0 = 2
4844 2 `shiftR` 1 = 1
4845 2 `shiftR` 2 = 0
4846 2 `shiftR` 3 = 0
4847 2 `shiftR` 32 = 0
4848  
4849 3 `shiftR` 0 = 3
4850 3 `shiftR` 1 = 1
4851 3 `shiftR` 2 = 0
4852 3 `shiftR` 3 = 0
4853 3 `shiftR` 32 = 0
4854  
4855 #
4856 -3 `rotate` -3 = -1342177281
4857 -3 `rotate` -2 = 1610612735
4858 -3 `rotate` -1 = -1073741826
4859 -3 `rotate` 0 = -3
4860 -3 `rotate` 1 = -6
4861 -3 `rotate` 2 = -11
4862 -3 `rotate` 3 = -21
4863  
4864 -2 `rotate` -3 = -805306369
4865 -2 `rotate` -2 = -1610612737
4866 -2 `rotate` -1 = 1073741823
4867 -2 `rotate` 0 = -2
4868 -2 `rotate` 1 = -4
4869 -2 `rotate` 2 = -7
4870 -2 `rotate` 3 = -13
4871  
4872 -1 `rotate` -3 = -268435457
4873 -1 `rotate` -2 = -536870913
4874 -1 `rotate` -1 = -1073741825
4875 -1 `rotate` 0 = -1
4876 -1 `rotate` 1 = -2
4877 -1 `rotate` 2 = -3
4878 -1 `rotate` 3 = -5
4879  
4880 0 `rotate` -3 = 0
4881 0 `rotate` -2 = 0
4882 0 `rotate` -1 = 0
4883 0 `rotate` 0 = 0
4884 0 `rotate` 1 = 0
4885 0 `rotate` 2 = 0
4886 0 `rotate` 3 = 0
4887  
4888 1 `rotate` -3 = 536870912
4889 1 `rotate` -2 = 1073741824
4890 1 `rotate` -1 = -2147483648
4891 1 `rotate` 0 = 1
4892 1 `rotate` 1 = 2
4893 1 `rotate` 2 = 4
4894 1 `rotate` 3 = 8
4895  
4896 2 `rotate` -3 = 1073741824
4897 2 `rotate` -2 = -2147483648
4898 2 `rotate` -1 = 1
4899 2 `rotate` 0 = 2
4900 2 `rotate` 1 = 4
4901 2 `rotate` 2 = 8
4902 2 `rotate` 3 = 16
4903  
4904 3 `rotate` -3 = 1610612736
4905 3 `rotate` -2 = -1073741824
4906 3 `rotate` -1 = -2147483647
4907 3 `rotate` 0 = 3
4908 3 `rotate` 1 = 6
4909 3 `rotate` 2 = 12
4910 3 `rotate` 3 = 24
4911  
4912 #
4913 bit 0 = 1
4914 bit 1 = 2
4915 bit 2 = 4
4916 bit 3 = 8
4917 #
4918 -3 `setBit` 0 = -3
4919 -3 `setBit` 1 = -1
4920 -3 `setBit` 2 = -3
4921 -3 `setBit` 3 = -3
4922 -3 `setBit` 32 = -3
4923  
4924 -2 `setBit` 0 = -1
4925 -2 `setBit` 1 = -2
4926 -2 `setBit` 2 = -2
4927 -2 `setBit` 3 = -2
4928 -2 `setBit` 32 = -2
4929  
4930 -1 `setBit` 0 = -1
4931 -1 `setBit` 1 = -1
4932 -1 `setBit` 2 = -1
4933 -1 `setBit` 3 = -1
4934 -1 `setBit` 32 = -1
4935  
4936 0 `setBit` 0 = 1
4937 0 `setBit` 1 = 2
4938 0 `setBit` 2 = 4
4939 0 `setBit` 3 = 8
4940 0 `setBit` 32 = 0
4941  
4942 1 `setBit` 0 = 1
4943 1 `setBit` 1 = 3
4944 1 `setBit` 2 = 5
4945 1 `setBit` 3 = 9
4946 1 `setBit` 32 = 1
4947  
4948 2 `setBit` 0 = 3
4949 2 `setBit` 1 = 2
4950 2 `setBit` 2 = 6
4951 2 `setBit` 3 = 10
4952 2 `setBit` 32 = 2
4953  
4954 3 `setBit` 0 = 3
4955 3 `setBit` 1 = 3
4956 3 `setBit` 2 = 7
4957 3 `setBit` 3 = 11
4958 3 `setBit` 32 = 3
4959  
4960 #
4961 -3 `clearBit` 0 = -4
4962 -3 `clearBit` 1 = -3
4963 -3 `clearBit` 2 = -7
4964 -3 `clearBit` 3 = -11
4965 -3 `clearBit` 32 = -3
4966  
4967 -2 `clearBit` 0 = -2
4968 -2 `clearBit` 1 = -4
4969 -2 `clearBit` 2 = -6
4970 -2 `clearBit` 3 = -10
4971 -2 `clearBit` 32 = -2
4972  
4973 -1 `clearBit` 0 = -2
4974 -1 `clearBit` 1 = -3
4975 -1 `clearBit` 2 = -5
4976 -1 `clearBit` 3 = -9
4977 -1 `clearBit` 32 = -1
4978  
4979 0 `clearBit` 0 = 0
4980 0 `clearBit` 1 = 0
4981 0 `clearBit` 2 = 0
4982 0 `clearBit` 3 = 0
4983 0 `clearBit` 32 = 0
4984  
4985 1 `clearBit` 0 = 0
4986 1 `clearBit` 1 = 1
4987 1 `clearBit` 2 = 1
4988 1 `clearBit` 3 = 1
4989 1 `clearBit` 32 = 1
4990  
4991 2 `clearBit` 0 = 2
4992 2 `clearBit` 1 = 0
4993 2 `clearBit` 2 = 2
4994 2 `clearBit` 3 = 2
4995 2 `clearBit` 32 = 2
4996  
4997 3 `clearBit` 0 = 2
4998 3 `clearBit` 1 = 1
4999 3 `clearBit` 2 = 3
5000 3 `clearBit` 3 = 3
5001 3 `clearBit` 32 = 3
5002  
5003 #
5004 -3 `complementBit` 0 = -4
5005 -3 `complementBit` 1 = -1
5006 -3 `complementBit` 2 = -7
5007 -3 `complementBit` 3 = -11
5008 -3 `complementBit` 32 = -3
5009  
5010 -2 `complementBit` 0 = -1
5011 -2 `complementBit` 1 = -4
5012 -2 `complementBit` 2 = -6
5013 -2 `complementBit` 3 = -10
5014 -2 `complementBit` 32 = -2
5015  
5016 -1 `complementBit` 0 = -2
5017 -1 `complementBit` 1 = -3
5018 -1 `complementBit` 2 = -5
5019 -1 `complementBit` 3 = -9
5020 -1 `complementBit` 32 = -1
5021  
5022 0 `complementBit` 0 = 1
5023 0 `complementBit` 1 = 2
5024 0 `complementBit` 2 = 4
5025 0 `complementBit` 3 = 8
5026 0 `complementBit` 32 = 0
5027  
5028 1 `complementBit` 0 = 0
5029 1 `complementBit` 1 = 3
5030 1 `complementBit` 2 = 5
5031 1 `complementBit` 3 = 9
5032 1 `complementBit` 32 = 1
5033  
5034 2 `complementBit` 0 = 3
5035 2 `complementBit` 1 = 0
5036 2 `complementBit` 2 = 6
5037 2 `complementBit` 3 = 10
5038 2 `complementBit` 32 = 2
5039  
5040 3 `complementBit` 0 = 2
5041 3 `complementBit` 1 = 1
5042 3 `complementBit` 2 = 7
5043 3 `complementBit` 3 = 11
5044 3 `complementBit` 32 = 3
5045  
5046 #
5047 -3 `testBit` 0 = True
5048 -3 `testBit` 1 = False
5049 -3 `testBit` 2 = True
5050 -3 `testBit` 3 = True
5051 -3 `testBit` 32 = False
5052  
5053 -2 `testBit` 0 = False
5054 -2 `testBit` 1 = True
5055 -2 `testBit` 2 = True
5056 -2 `testBit` 3 = True
5057 -2 `testBit` 32 = False
5058  
5059 -1 `testBit` 0 = True
5060 -1 `testBit` 1 = True
5061 -1 `testBit` 2 = True
5062 -1 `testBit` 3 = True
5063 -1 `testBit` 32 = False
5064  
5065 0 `testBit` 0 = False
5066 0 `testBit` 1 = False
5067 0 `testBit` 2 = False
5068 0 `testBit` 3 = False
5069 0 `testBit` 32 = False
5070  
5071 1 `testBit` 0 = True
5072 1 `testBit` 1 = False
5073 1 `testBit` 2 = False
5074 1 `testBit` 3 = False
5075 1 `testBit` 32 = False
5076  
5077 2 `testBit` 0 = False
5078 2 `testBit` 1 = True
5079 2 `testBit` 2 = False
5080 2 `testBit` 3 = False
5081 2 `testBit` 32 = False
5082  
5083 3 `testBit` 0 = True
5084 3 `testBit` 1 = True
5085 3 `testBit` 2 = False
5086 3 `testBit` 3 = False
5087 3 `testBit` 32 = False
5088  
5089 #
5090 bitSize -3 = 32
5091 bitSize -2 = 32
5092 bitSize -1 = 32
5093 bitSize 0 = 32
5094 bitSize 1 = 32
5095 bitSize 2 = 32
5096 bitSize 3 = 32
5097 #
5098 isSigned -3 = True
5099 isSigned -2 = True
5100 isSigned -1 = True
5101 isSigned 0 = True
5102 isSigned 1 = True
5103 isSigned 2 = True
5104 isSigned 3 = True
5105 #
5106 --------------------------------
5107 --Testing Word8
5108 --------------------------------
5109 testBounded
5110 (255,0,1)
5111 (254,255,0)
5112 testEnum
5113 [0,1,2,3,4,5,6,7,8,9]
5114 [0,2,4,6,8,10,12,14,16,18]
5115 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
5116 [0,2,4,6,8,10,12,14,16,18,20]
5117 testReadShow
5118 [253,254,255,0,1,2,3]
5119 [253,254,255,0,1,2,3]
5120 testEq
5121 253 == 253 = True
5122 253 == 254 = False
5123 253 == 255 = False
5124 253 == 0 = False
5125 253 == 1 = False
5126 253 == 2 = False
5127 253 == 3 = False
5128  
5129 254 == 253 = False
5130 254 == 254 = True
5131 254 == 255 = False
5132 254 == 0 = False
5133 254 == 1 = False
5134 254 == 2 = False
5135 254 == 3 = False
5136  
5137 255 == 253 = False
5138 255 == 254 = False
5139 255 == 255 = True
5140 255 == 0 = False
5141 255 == 1 = False
5142 255 == 2 = False
5143 255 == 3 = False
5144  
5145 0 == 253 = False
5146 0 == 254 = False
5147 0 == 255 = False
5148 0 == 0 = True
5149 0 == 1 = False
5150 0 == 2 = False
5151 0 == 3 = False
5152  
5153 1 == 253 = False
5154 1 == 254 = False
5155 1 == 255 = False
5156 1 == 0 = False
5157 1 == 1 = True
5158 1 == 2 = False
5159 1 == 3 = False
5160  
5161 2 == 253 = False
5162 2 == 254 = False
5163 2 == 255 = False
5164 2 == 0 = False
5165 2 == 1 = False
5166 2 == 2 = True
5167 2 == 3 = False
5168  
5169 3 == 253 = False
5170 3 == 254 = False
5171 3 == 255 = False
5172 3 == 0 = False
5173 3 == 1 = False
5174 3 == 2 = False
5175 3 == 3 = True
5176  
5177 #
5178 253 /= 253 = False
5179 253 /= 254 = True
5180 253 /= 255 = True
5181 253 /= 0 = True
5182 253 /= 1 = True
5183 253 /= 2 = True
5184 253 /= 3 = True
5185  
5186 254 /= 253 = True
5187 254 /= 254 = False
5188 254 /= 255 = True
5189 254 /= 0 = True
5190 254 /= 1 = True
5191 254 /= 2 = True
5192 254 /= 3 = True
5193  
5194 255 /= 253 = True
5195 255 /= 254 = True
5196 255 /= 255 = False
5197 255 /= 0 = True
5198 255 /= 1 = True
5199 255 /= 2 = True
5200 255 /= 3 = True
5201  
5202 0 /= 253 = True
5203 0 /= 254 = True
5204 0 /= 255 = True
5205 0 /= 0 = False
5206 0 /= 1 = True
5207 0 /= 2 = True
5208 0 /= 3 = True
5209  
5210 1 /= 253 = True
5211 1 /= 254 = True
5212 1 /= 255 = True
5213 1 /= 0 = True
5214 1 /= 1 = False
5215 1 /= 2 = True
5216 1 /= 3 = True
5217  
5218 2 /= 253 = True
5219 2 /= 254 = True
5220 2 /= 255 = True
5221 2 /= 0 = True
5222 2 /= 1 = True
5223 2 /= 2 = False
5224 2 /= 3 = True
5225  
5226 3 /= 253 = True
5227 3 /= 254 = True
5228 3 /= 255 = True
5229 3 /= 0 = True
5230 3 /= 1 = True
5231 3 /= 2 = True
5232 3 /= 3 = False
5233  
5234 #
5235 testOrd
5236 253 <= 253 = True
5237 253 <= 254 = True
5238 253 <= 255 = True
5239 253 <= 0 = False
5240 253 <= 1 = False
5241 253 <= 2 = False
5242 253 <= 3 = False
5243  
5244 254 <= 253 = False
5245 254 <= 254 = True
5246 254 <= 255 = True
5247 254 <= 0 = False
5248 254 <= 1 = False
5249 254 <= 2 = False
5250 254 <= 3 = False
5251  
5252 255 <= 253 = False
5253 255 <= 254 = False
5254 255 <= 255 = True
5255 255 <= 0 = False
5256 255 <= 1 = False
5257 255 <= 2 = False
5258 255 <= 3 = False
5259  
5260 0 <= 253 = True
5261 0 <= 254 = True
5262 0 <= 255 = True
5263 0 <= 0 = True
5264 0 <= 1 = True
5265 0 <= 2 = True
5266 0 <= 3 = True
5267  
5268 1 <= 253 = True
5269 1 <= 254 = True
5270 1 <= 255 = True
5271 1 <= 0 = False
5272 1 <= 1 = True
5273 1 <= 2 = True
5274 1 <= 3 = True
5275  
5276 2 <= 253 = True
5277 2 <= 254 = True
5278 2 <= 255 = True
5279 2 <= 0 = False
5280 2 <= 1 = False
5281 2 <= 2 = True
5282 2 <= 3 = True
5283  
5284 3 <= 253 = True
5285 3 <= 254 = True
5286 3 <= 255 = True
5287 3 <= 0 = False
5288 3 <= 1 = False
5289 3 <= 2 = False
5290 3 <= 3 = True
5291  
5292 #
5293 253 <  253 = False
5294 253 <  254 = True
5295 253 <  255 = True
5296 253 <  0 = False
5297 253 <  1 = False
5298 253 <  2 = False
5299 253 <  3 = False
5300  
5301 254 <  253 = False
5302 254 <  254 = False
5303 254 <  255 = True
5304 254 <  0 = False
5305 254 <  1 = False
5306 254 <  2 = False
5307 254 <  3 = False
5308  
5309 255 <  253 = False
5310 255 <  254 = False
5311 255 <  255 = False
5312 255 <  0 = False
5313 255 <  1 = False
5314 255 <  2 = False
5315 255 <  3 = False
5316  
5317 0 <  253 = True
5318 0 <  254 = True
5319 0 <  255 = True
5320 0 <  0 = False
5321 0 <  1 = True
5322 0 <  2 = True
5323 0 <  3 = True
5324  
5325 1 <  253 = True
5326 1 <  254 = True
5327 1 <  255 = True
5328 1 <  0 = False
5329 1 <  1 = False
5330 1 <  2 = True
5331 1 <  3 = True
5332  
5333 2 <  253 = True
5334 2 <  254 = True
5335 2 <  255 = True
5336 2 <  0 = False
5337 2 <  1 = False
5338 2 <  2 = False
5339 2 <  3 = True
5340  
5341 3 <  253 = True
5342 3 <  254 = True
5343 3 <  255 = True
5344 3 <  0 = False
5345 3 <  1 = False
5346 3 <  2 = False
5347 3 <  3 = False
5348  
5349 #
5350 253 >  253 = False
5351 253 >  254 = False
5352 253 >  255 = False
5353 253 >  0 = True
5354 253 >  1 = True
5355 253 >  2 = True
5356 253 >  3 = True
5357  
5358 254 >  253 = True
5359 254 >  254 = False
5360 254 >  255 = False
5361 254 >  0 = True
5362 254 >  1 = True
5363 254 >  2 = True
5364 254 >  3 = True
5365  
5366 255 >  253 = True
5367 255 >  254 = True
5368 255 >  255 = False
5369 255 >  0 = True
5370 255 >  1 = True
5371 255 >  2 = True
5372 255 >  3 = True
5373  
5374 0 >  253 = False
5375 0 >  254 = False
5376 0 >  255 = False
5377 0 >  0 = False
5378 0 >  1 = False
5379 0 >  2 = False
5380 0 >  3 = False
5381  
5382 1 >  253 = False
5383 1 >  254 = False
5384 1 >  255 = False
5385 1 >  0 = True
5386 1 >  1 = False
5387 1 >  2 = False
5388 1 >  3 = False
5389  
5390 2 >  253 = False
5391 2 >  254 = False
5392 2 >  255 = False
5393 2 >  0 = True
5394 2 >  1 = True
5395 2 >  2 = False
5396 2 >  3 = False
5397  
5398 3 >  253 = False
5399 3 >  254 = False
5400 3 >  255 = False
5401 3 >  0 = True
5402 3 >  1 = True
5403 3 >  2 = True
5404 3 >  3 = False
5405  
5406 #
5407 253 >= 253 = True
5408 253 >= 254 = False
5409 253 >= 255 = False
5410 253 >= 0 = True
5411 253 >= 1 = True
5412 253 >= 2 = True
5413 253 >= 3 = True
5414  
5415 254 >= 253 = True
5416 254 >= 254 = True
5417 254 >= 255 = False
5418 254 >= 0 = True
5419 254 >= 1 = True
5420 254 >= 2 = True
5421 254 >= 3 = True
5422  
5423 255 >= 253 = True
5424 255 >= 254 = True
5425 255 >= 255 = True
5426 255 >= 0 = True
5427 255 >= 1 = True
5428 255 >= 2 = True
5429 255 >= 3 = True
5430  
5431 0 >= 253 = False
5432 0 >= 254 = False
5433 0 >= 255 = False
5434 0 >= 0 = True
5435 0 >= 1 = False
5436 0 >= 2 = False
5437 0 >= 3 = False
5438  
5439 1 >= 253 = False
5440 1 >= 254 = False
5441 1 >= 255 = False
5442 1 >= 0 = True
5443 1 >= 1 = True
5444 1 >= 2 = False
5445 1 >= 3 = False
5446  
5447 2 >= 253 = False
5448 2 >= 254 = False
5449 2 >= 255 = False
5450 2 >= 0 = True
5451 2 >= 1 = True
5452 2 >= 2 = True
5453 2 >= 3 = False
5454  
5455 3 >= 253 = False
5456 3 >= 254 = False
5457 3 >= 255 = False
5458 3 >= 0 = True
5459 3 >= 1 = True
5460 3 >= 2 = True
5461 3 >= 3 = True
5462  
5463 #
5464 253 `compare` 253 = EQ
5465 253 `compare` 254 = LT
5466 253 `compare` 255 = LT
5467 253 `compare` 0 = GT
5468 253 `compare` 1 = GT
5469 253 `compare` 2 = GT
5470 253 `compare` 3 = GT
5471  
5472 254 `compare` 253 = GT
5473 254 `compare` 254 = EQ
5474 254 `compare` 255 = LT
5475 254 `compare` 0 = GT
5476 254 `compare` 1 = GT
5477 254 `compare` 2 = GT
5478 254 `compare` 3 = GT
5479  
5480 255 `compare` 253 = GT
5481 255 `compare` 254 = GT
5482 255 `compare` 255 = EQ
5483 255 `compare` 0 = GT
5484 255 `compare` 1 = GT
5485 255 `compare` 2 = GT
5486 255 `compare` 3 = GT
5487  
5488 0 `compare` 253 = LT
5489 0 `compare` 254 = LT
5490 0 `compare` 255 = LT
5491 0 `compare` 0 = EQ
5492 0 `compare` 1 = LT
5493 0 `compare` 2 = LT
5494 0 `compare` 3 = LT
5495  
5496 1 `compare` 253 = LT
5497 1 `compare` 254 = LT
5498 1 `compare` 255 = LT
5499 1 `compare` 0 = GT
5500 1 `compare` 1 = EQ
5501 1 `compare` 2 = LT
5502 1 `compare` 3 = LT
5503  
5504 2 `compare` 253 = LT
5505 2 `compare` 254 = LT
5506 2 `compare` 255 = LT
5507 2 `compare` 0 = GT
5508 2 `compare` 1 = GT
5509 2 `compare` 2 = EQ
5510 2 `compare` 3 = LT
5511  
5512 3 `compare` 253 = LT
5513 3 `compare` 254 = LT
5514 3 `compare` 255 = LT
5515 3 `compare` 0 = GT
5516 3 `compare` 1 = GT
5517 3 `compare` 2 = GT
5518 3 `compare` 3 = EQ
5519  
5520 #
5521 testNum
5522 253 + 253 = 250
5523 253 + 254 = 251
5524 253 + 255 = 252
5525 253 + 0 = 253
5526 253 + 1 = 254
5527 253 + 2 = 255
5528 253 + 3 = 0
5529  
5530 254 + 253 = 251
5531 254 + 254 = 252
5532 254 + 255 = 253
5533 254 + 0 = 254
5534 254 + 1 = 255
5535 254 + 2 = 0
5536 254 + 3 = 1
5537  
5538 255 + 253 = 252
5539 255 + 254 = 253
5540 255 + 255 = 254
5541 255 + 0 = 255
5542 255 + 1 = 0
5543 255 + 2 = 1
5544 255 + 3 = 2
5545  
5546 0 + 253 = 253
5547 0 + 254 = 254
5548 0 + 255 = 255
5549 0 + 0 = 0
5550 0 + 1 = 1
5551 0 + 2 = 2
5552 0 + 3 = 3
5553  
5554 1 + 253 = 254
5555 1 + 254 = 255
5556 1 + 255 = 0
5557 1 + 0 = 1
5558 1 + 1 = 2
5559 1 + 2 = 3
5560 1 + 3 = 4
5561  
5562 2 + 253 = 255
5563 2 + 254 = 0
5564 2 + 255 = 1
5565 2 + 0 = 2
5566 2 + 1 = 3
5567 2 + 2 = 4
5568 2 + 3 = 5
5569  
5570 3 + 253 = 0
5571 3 + 254 = 1
5572 3 + 255 = 2
5573 3 + 0 = 3
5574 3 + 1 = 4
5575 3 + 2 = 5
5576 3 + 3 = 6
5577  
5578 #
5579 253 - 253 = 0
5580 253 - 254 = 255
5581 253 - 255 = 254
5582 253 - 0 = 253
5583 253 - 1 = 252
5584 253 - 2 = 251
5585 253 - 3 = 250
5586  
5587 254 - 253 = 1
5588 254 - 254 = 0
5589 254 - 255 = 255
5590 254 - 0 = 254
5591 254 - 1 = 253
5592 254 - 2 = 252
5593 254 - 3 = 251
5594  
5595 255 - 253 = 2
5596 255 - 254 = 1
5597 255 - 255 = 0
5598 255 - 0 = 255
5599 255 - 1 = 254
5600 255 - 2 = 253
5601 255 - 3 = 252
5602  
5603 0 - 253 = 3
5604 0 - 254 = 2
5605 0 - 255 = 1
5606 0 - 0 = 0
5607 0 - 1 = 255
5608 0 - 2 = 254
5609 0 - 3 = 253
5610  
5611 1 - 253 = 4
5612 1 - 254 = 3
5613 1 - 255 = 2
5614 1 - 0 = 1
5615 1 - 1 = 0
5616 1 - 2 = 255
5617 1 - 3 = 254
5618  
5619 2 - 253 = 5
5620 2 - 254 = 4
5621 2 - 255 = 3
5622 2 - 0 = 2
5623 2 - 1 = 1
5624 2 - 2 = 0
5625 2 - 3 = 255
5626  
5627 3 - 253 = 6
5628 3 - 254 = 5
5629 3 - 255 = 4
5630 3 - 0 = 3
5631 3 - 1 = 2
5632 3 - 2 = 1
5633 3 - 3 = 0
5634  
5635 #
5636 253 * 253 = 9
5637 253 * 254 = 6
5638 253 * 255 = 3
5639 253 * 0 = 0
5640 253 * 1 = 253
5641 253 * 2 = 250
5642 253 * 3 = 247
5643  
5644 254 * 253 = 6
5645 254 * 254 = 4
5646 254 * 255 = 2
5647 254 * 0 = 0
5648 254 * 1 = 254
5649 254 * 2 = 252
5650 254 * 3 = 250
5651  
5652 255 * 253 = 3
5653 255 * 254 = 2
5654 255 * 255 = 1
5655 255 * 0 = 0
5656 255 * 1 = 255
5657 255 * 2 = 254
5658 255 * 3 = 253
5659  
5660 0 * 253 = 0
5661 0 * 254 = 0
5662 0 * 255 = 0
5663 0 * 0 = 0
5664 0 * 1 = 0
5665 0 * 2 = 0
5666 0 * 3 = 0
5667  
5668 1 * 253 = 253
5669 1 * 254 = 254
5670 1 * 255 = 255
5671 1 * 0 = 0
5672 1 * 1 = 1
5673 1 * 2 = 2
5674 1 * 3 = 3
5675  
5676 2 * 253 = 250
5677 2 * 254 = 252
5678 2 * 255 = 254
5679 2 * 0 = 0
5680 2 * 1 = 2
5681 2 * 2 = 4
5682 2 * 3 = 6
5683  
5684 3 * 253 = 247
5685 3 * 254 = 250
5686 3 * 255 = 253
5687 3 * 0 = 0
5688 3 * 1 = 3
5689 3 * 2 = 6
5690 3 * 3 = 9
5691  
5692 #
5693 negate 253 = 3
5694 negate 254 = 2
5695 negate 255 = 1
5696 negate 0 = 0
5697 negate 1 = 255
5698 negate 2 = 254
5699 negate 3 = 253
5700 #
5701 testReal
5702 toRational 253 = 253 % 1
5703 toRational 254 = 254 % 1
5704 toRational 255 = 255 % 1
5705 toRational 0 = 0 % 1
5706 toRational 1 = 1 % 1
5707 toRational 2 = 2 % 1
5708 toRational 3 = 3 % 1
5709 #
5710 testIntegral
5711 253 `divMod`  253 = (1,0)
5712 253 `divMod`  254 = (0,253)
5713 253 `divMod`  255 = (0,253)
5714 253 `divMod`  1 = (253,0)
5715 253 `divMod`  2 = (126,1)
5716 253 `divMod`  3 = (84,1)
5717  
5718 254 `divMod`  253 = (1,1)
5719 254 `divMod`  254 = (1,0)
5720 254 `divMod`  255 = (0,254)
5721 254 `divMod`  1 = (254,0)
5722 254 `divMod`  2 = (127,0)
5723 254 `divMod`  3 = (84,2)
5724  
5725 255 `divMod`  253 = (1,2)
5726 255 `divMod`  254 = (1,1)
5727 255 `divMod`  255 = (1,0)
5728 255 `divMod`  1 = (255,0)
5729 255 `divMod`  2 = (127,1)
5730 255 `divMod`  3 = (85,0)
5731  
5732 0 `divMod`  253 = (0,0)
5733 0 `divMod`  254 = (0,0)
5734 0 `divMod`  255 = (0,0)
5735 0 `divMod`  1 = (0,0)
5736 0 `divMod`  2 = (0,0)
5737 0 `divMod`  3 = (0,0)
5738  
5739 1 `divMod`  253 = (0,1)
5740 1 `divMod`  254 = (0,1)
5741 1 `divMod`  255 = (0,1)
5742 1 `divMod`  1 = (1,0)
5743 1 `divMod`  2 = (0,1)
5744 1 `divMod`  3 = (0,1)
5745  
5746 2 `divMod`  253 = (0,2)
5747 2 `divMod`  254 = (0,2)
5748 2 `divMod`  255 = (0,2)
5749 2 `divMod`  1 = (2,0)
5750 2 `divMod`  2 = (1,0)
5751 2 `divMod`  3 = (0,2)
5752  
5753 3 `divMod`  253 = (0,3)
5754 3 `divMod`  254 = (0,3)
5755 3 `divMod`  255 = (0,3)
5756 3 `divMod`  1 = (3,0)
5757 3 `divMod`  2 = (1,1)
5758 3 `divMod`  3 = (1,0)
5759  
5760 #
5761 253 `div`     253 = 1
5762 253 `div`     254 = 0
5763 253 `div`     255 = 0
5764 253 `div`     1 = 253
5765 253 `div`     2 = 126
5766 253 `div`     3 = 84
5767  
5768 254 `div`     253 = 1
5769 254 `div`     254 = 1
5770 254 `div`     255 = 0
5771 254 `div`     1 = 254
5772 254 `div`     2 = 127
5773 254 `div`     3 = 84
5774  
5775 255 `div`     253 = 1
5776 255 `div`     254 = 1
5777 255 `div`     255 = 1
5778 255 `div`     1 = 255
5779 255 `div`     2 = 127
5780 255 `div`     3 = 85
5781  
5782 0 `div`     253 = 0
5783 0 `div`     254 = 0
5784 0 `div`     255 = 0
5785 0 `div`     1 = 0
5786 0 `div`     2 = 0
5787 0 `div`     3 = 0
5788  
5789 1 `div`     253 = 0
5790 1 `div`     254 = 0
5791 1 `div`     255 = 0
5792 1 `div`     1 = 1
5793 1 `div`     2 = 0
5794 1 `div`     3 = 0
5795  
5796 2 `div`     253 = 0
5797 2 `div`     254 = 0
5798 2 `div`     255 = 0
5799 2 `div`     1 = 2
5800 2 `div`     2 = 1
5801 2 `div`     3 = 0
5802  
5803 3 `div`     253 = 0
5804 3 `div`     254 = 0
5805 3 `div`     255 = 0
5806 3 `div`     1 = 3
5807 3 `div`     2 = 1
5808 3 `div`     3 = 1
5809  
5810 #
5811 253 `mod`     253 = 0
5812 253 `mod`     254 = 253
5813 253 `mod`     255 = 253
5814 253 `mod`     1 = 0
5815 253 `mod`     2 = 1
5816 253 `mod`     3 = 1
5817  
5818 254 `mod`     253 = 1
5819 254 `mod`     254 = 0
5820 254 `mod`     255 = 254
5821 254 `mod`     1 = 0
5822 254 `mod`     2 = 0
5823 254 `mod`     3 = 2
5824  
5825 255 `mod`     253 = 2
5826 255 `mod`     254 = 1
5827 255 `mod`     255 = 0
5828 255 `mod`     1 = 0
5829 255 `mod`     2 = 1
5830 255 `mod`     3 = 0
5831  
5832 0 `mod`     253 = 0
5833 0 `mod`     254 = 0
5834 0 `mod`     255 = 0
5835 0 `mod`     1 = 0
5836 0 `mod`     2 = 0
5837 0 `mod`     3 = 0
5838  
5839 1 `mod`     253 = 1
5840 1 `mod`     254 = 1
5841 1 `mod`     255 = 1
5842 1 `mod`     1 = 0
5843 1 `mod`     2 = 1
5844 1 `mod`     3 = 1
5845  
5846 2 `mod`     253 = 2
5847 2 `mod`     254 = 2
5848 2 `mod`     255 = 2
5849 2 `mod`     1 = 0
5850 2 `mod`     2 = 0
5851 2 `mod`     3 = 2
5852  
5853 3 `mod`     253 = 3
5854 3 `mod`     254 = 3
5855 3 `mod`     255 = 3
5856 3 `mod`     1 = 0
5857 3 `mod`     2 = 1
5858 3 `mod`     3 = 0
5859  
5860 #
5861 253 `quotRem` 253 = (1,0)
5862 253 `quotRem` 254 = (0,253)
5863 253 `quotRem` 255 = (0,253)
5864 253 `quotRem` 1 = (253,0)
5865 253 `quotRem` 2 = (126,1)
5866 253 `quotRem` 3 = (84,1)
5867  
5868 254 `quotRem` 253 = (1,1)
5869 254 `quotRem` 254 = (1,0)
5870 254 `quotRem` 255 = (0,254)
5871 254 `quotRem` 1 = (254,0)
5872 254 `quotRem` 2 = (127,0)
5873 254 `quotRem` 3 = (84,2)
5874  
5875 255 `quotRem` 253 = (1,2)
5876 255 `quotRem` 254 = (1,1)
5877 255 `quotRem` 255 = (1,0)
5878 255 `quotRem` 1 = (255,0)
5879 255 `quotRem` 2 = (127,1)
5880 255 `quotRem` 3 = (85,0)
5881  
5882 0 `quotRem` 253 = (0,0)
5883 0 `quotRem` 254 = (0,0)
5884 0 `quotRem` 255 = (0,0)
5885 0 `quotRem` 1 = (0,0)
5886 0 `quotRem` 2 = (0,0)
5887 0 `quotRem` 3 = (0,0)
5888  
5889 1 `quotRem` 253 = (0,1)
5890 1 `quotRem` 254 = (0,1)
5891 1 `quotRem` 255 = (0,1)
5892 1 `quotRem` 1 = (1,0)
5893 1 `quotRem` 2 = (0,1)
5894 1 `quotRem` 3 = (0,1)
5895  
5896 2 `quotRem` 253 = (0,2)
5897 2 `quotRem` 254 = (0,2)
5898 2 `quotRem` 255 = (0,2)
5899 2 `quotRem` 1 = (2,0)
5900 2 `quotRem` 2 = (1,0)
5901 2 `quotRem` 3 = (0,2)
5902  
5903 3 `quotRem` 253 = (0,3)
5904 3 `quotRem` 254 = (0,3)
5905 3 `quotRem` 255 = (0,3)
5906 3 `quotRem` 1 = (3,0)
5907 3 `quotRem` 2 = (1,1)
5908 3 `quotRem` 3 = (1,0)
5909  
5910 #
5911 253 `quot`    253 = 1
5912 253 `quot`    254 = 0
5913 253 `quot`    255 = 0
5914 253 `quot`    1 = 253
5915 253 `quot`    2 = 126
5916 253 `quot`    3 = 84
5917  
5918 254 `quot`    253 = 1
5919 254 `quot`    254 = 1
5920 254 `quot`    255 = 0
5921 254 `quot`    1 = 254
5922 254 `quot`    2 = 127
5923 254 `quot`    3 = 84
5924  
5925 255 `quot`    253 = 1
5926 255 `quot`    254 = 1
5927 255 `quot`    255 = 1
5928 255 `quot`    1 = 255
5929 255 `quot`    2 = 127
5930 255 `quot`    3 = 85
5931  
5932 0 `quot`    253 = 0
5933 0 `quot`    254 = 0
5934 0 `quot`    255 = 0
5935 0 `quot`    1 = 0
5936 0 `quot`    2 = 0
5937 0 `quot`    3 = 0
5938  
5939 1 `quot`    253 = 0
5940 1 `quot`    254 = 0
5941 1 `quot`    255 = 0
5942 1 `quot`    1 = 1
5943 1 `quot`    2 = 0
5944 1 `quot`    3 = 0
5945  
5946 2 `quot`    253 = 0
5947 2 `quot`    254 = 0
5948 2 `quot`    255 = 0
5949 2 `quot`    1 = 2
5950 2 `quot`    2 = 1
5951 2 `quot`    3 = 0
5952  
5953 3 `quot`    253 = 0
5954 3 `quot`    254 = 0
5955 3 `quot`    255 = 0
5956 3 `quot`    1 = 3
5957 3 `quot`    2 = 1
5958 3 `quot`    3 = 1
5959  
5960 #
5961 253 `rem`     253 = 0
5962 253 `rem`     254 = 253
5963 253 `rem`     255 = 253
5964 253 `rem`     1 = 0
5965 253 `rem`     2 = 1
5966 253 `rem`     3 = 1
5967  
5968 254 `rem`     253 = 1
5969 254 `rem`     254 = 0
5970 254 `rem`     255 = 254
5971 254 `rem`     1 = 0
5972 254 `rem`     2 = 0
5973 254 `rem`     3 = 2
5974  
5975 255 `rem`     253 = 2
5976 255 `rem`     254 = 1
5977 255 `rem`     255 = 0
5978 255 `rem`     1 = 0
5979 255 `rem`     2 = 1
5980 255 `rem`     3 = 0
5981  
5982 0 `rem`     253 = 0
5983 0 `rem`     254 = 0
5984 0 `rem`     255 = 0
5985 0 `rem`     1 = 0
5986 0 `rem`     2 = 0
5987 0 `rem`     3 = 0
5988  
5989 1 `rem`     253 = 1
5990 1 `rem`     254 = 1
5991 1 `rem`     255 = 1
5992 1 `rem`     1 = 0
5993 1 `rem`     2 = 1
5994 1 `rem`     3 = 1
5995  
5996 2 `rem`     253 = 2
5997 2 `rem`     254 = 2
5998 2 `rem`     255 = 2
5999 2 `rem`     1 = 0
6000 2 `rem`     2 = 0
6001 2 `rem`     3 = 2
6002  
6003 3 `rem`     253 = 3
6004 3 `rem`     254 = 3
6005 3 `rem`     255 = 3
6006 3 `rem`     1 = 0
6007 3 `rem`     2 = 1
6008 3 `rem`     3 = 0
6009  
6010 #
6011 testBits
6012 253 .&.   253 = 253
6013 253 .&.   254 = 252
6014 253 .&.   255 = 253
6015 253 .&.   1 = 1
6016 253 .&.   2 = 0
6017 253 .&.   3 = 1
6018  
6019 254 .&.   253 = 252
6020 254 .&.   254 = 254
6021 254 .&.   255 = 254
6022 254 .&.   1 = 0
6023 254 .&.   2 = 2
6024 254 .&.   3 = 2
6025  
6026 255 .&.   253 = 253
6027 255 .&.   254 = 254
6028 255 .&.   255 = 255
6029 255 .&.   1 = 1
6030 255 .&.   2 = 2
6031 255 .&.   3 = 3
6032  
6033 0 .&.   253 = 0
6034 0 .&.   254 = 0
6035 0 .&.   255 = 0
6036 0 .&.   1 = 0
6037 0 .&.   2 = 0
6038 0 .&.   3 = 0
6039  
6040 1 .&.   253 = 1
6041 1 .&.   254 = 0
6042 1 .&.   255 = 1
6043 1 .&.   1 = 1
6044 1 .&.   2 = 0
6045 1 .&.   3 = 1
6046  
6047 2 .&.   253 = 0
6048 2 .&.   254 = 2
6049 2 .&.   255 = 2
6050 2 .&.   1 = 0
6051 2 .&.   2 = 2
6052 2 .&.   3 = 2
6053  
6054 3 .&.   253 = 1
6055 3 .&.   254 = 2
6056 3 .&.   255 = 3
6057 3 .&.   1 = 1
6058 3 .&.   2 = 2
6059 3 .&.   3 = 3
6060  
6061 #
6062 253 .|.   253 = 253
6063 253 .|.   254 = 255
6064 253 .|.   255 = 255
6065 253 .|.   1 = 253
6066 253 .|.   2 = 255
6067 253 .|.   3 = 255
6068  
6069 254 .|.   253 = 255
6070 254 .|.   254 = 254
6071 254 .|.   255 = 255
6072 254 .|.   1 = 255
6073 254 .|.   2 = 254
6074 254 .|.   3 = 255
6075  
6076 255 .|.   253 = 255
6077 255 .|.   254 = 255
6078 255 .|.   255 = 255
6079 255 .|.   1 = 255
6080 255 .|.   2 = 255
6081 255 .|.   3 = 255
6082  
6083 0 .|.   253 = 253
6084 0 .|.   254 = 254
6085 0 .|.   255 = 255
6086 0 .|.   1 = 1
6087 0 .|.   2 = 2
6088 0 .|.   3 = 3
6089  
6090 1 .|.   253 = 253
6091 1 .|.   254 = 255
6092 1 .|.   255 = 255
6093 1 .|.   1 = 1
6094 1 .|.   2 = 3
6095 1 .|.   3 = 3
6096  
6097 2 .|.   253 = 255
6098 2 .|.   254 = 254
6099 2 .|.   255 = 255
6100 2 .|.   1 = 3
6101 2 .|.   2 = 2
6102 2 .|.   3 = 3
6103  
6104 3 .|.   253 = 255
6105 3 .|.   254 = 255
6106 3 .|.   255 = 255
6107 3 .|.   1 = 3
6108 3 .|.   2 = 3
6109 3 .|.   3 = 3
6110  
6111 #
6112 253 `xor` 253 = 0
6113 253 `xor` 254 = 3
6114 253 `xor` 255 = 2
6115 253 `xor` 1 = 252
6116 253 `xor` 2 = 255
6117 253 `xor` 3 = 254
6118  
6119 254 `xor` 253 = 3
6120 254 `xor` 254 = 0
6121 254 `xor` 255 = 1
6122 254 `xor` 1 = 255
6123 254 `xor` 2 = 252
6124 254 `xor` 3 = 253
6125  
6126 255 `xor` 253 = 2
6127 255 `xor` 254 = 1
6128 255 `xor` 255 = 0
6129 255 `xor` 1 = 254
6130 255 `xor` 2 = 253
6131 255 `xor` 3 = 252
6132  
6133 0 `xor` 253 = 253
6134 0 `xor` 254 = 254
6135 0 `xor` 255 = 255
6136 0 `xor` 1 = 1
6137 0 `xor` 2 = 2
6138 0 `xor` 3 = 3
6139  
6140 1 `xor` 253 = 252
6141 1 `xor` 254 = 255
6142 1 `xor` 255 = 254
6143 1 `xor` 1 = 0
6144 1 `xor` 2 = 3
6145 1 `xor` 3 = 2
6146  
6147 2 `xor` 253 = 255
6148 2 `xor` 254 = 252
6149 2 `xor` 255 = 253
6150 2 `xor` 1 = 3
6151 2 `xor` 2 = 0
6152 2 `xor` 3 = 1
6153  
6154 3 `xor` 253 = 254
6155 3 `xor` 254 = 253
6156 3 `xor` 255 = 252
6157 3 `xor` 1 = 2
6158 3 `xor` 2 = 1
6159 3 `xor` 3 = 0
6160  
6161 #
6162 complement 253 = 2
6163 complement 254 = 1
6164 complement 255 = 0
6165 complement 0 = 255
6166 complement 1 = 254
6167 complement 2 = 253
6168 complement 3 = 252
6169 #
6170 253 `shiftL` 0 = 253
6171 253 `shiftL` 1 = 250
6172 253 `shiftL` 2 = 244
6173 253 `shiftL` 3 = 232
6174 253 `shiftL` 32 = 0
6175  
6176 254 `shiftL` 0 = 254
6177 254 `shiftL` 1 = 252
6178 254 `shiftL` 2 = 248
6179 254 `shiftL` 3 = 240
6180 254 `shiftL` 32 = 0
6181  
6182 255 `shiftL` 0 = 255
6183 255 `shiftL` 1 = 254
6184 255 `shiftL` 2 = 252
6185 255 `shiftL` 3 = 248
6186 255 `shiftL` 32 = 0
6187  
6188 0 `shiftL` 0 = 0
6189 0 `shiftL` 1 = 0
6190 0 `shiftL` 2 = 0
6191 0 `shiftL` 3 = 0
6192 0 `shiftL` 32 = 0
6193  
6194 1 `shiftL` 0 = 1
6195 1 `shiftL` 1 = 2
6196 1 `shiftL` 2 = 4
6197 1 `shiftL` 3 = 8
6198 1 `shiftL` 32 = 0
6199  
6200 2 `shiftL` 0 = 2
6201 2 `shiftL` 1 = 4
6202 2 `shiftL` 2 = 8
6203 2 `shiftL` 3 = 16
6204 2 `shiftL` 32 = 0
6205  
6206 3 `shiftL` 0 = 3
6207 3 `shiftL` 1 = 6
6208 3 `shiftL` 2 = 12
6209 3 `shiftL` 3 = 24
6210 3 `shiftL` 32 = 0
6211  
6212 #
6213 253 `shiftR` 0 = 253
6214 253 `shiftR` 1 = 126
6215 253 `shiftR` 2 = 63
6216 253 `shiftR` 3 = 31
6217 253 `shiftR` 32 = 0
6218  
6219 254 `shiftR` 0 = 254
6220 254 `shiftR` 1 = 127
6221 254 `shiftR` 2 = 63
6222 254 `shiftR` 3 = 31
6223 254 `shiftR` 32 = 0
6224  
6225 255 `shiftR` 0 = 255
6226 255 `shiftR` 1 = 127
6227 255 `shiftR` 2 = 63
6228 255 `shiftR` 3 = 31
6229 255 `shiftR` 32 = 0
6230  
6231 0 `shiftR` 0 = 0
6232 0 `shiftR` 1 = 0
6233 0 `shiftR` 2 = 0
6234 0 `shiftR` 3 = 0
6235 0 `shiftR` 32 = 0
6236  
6237 1 `shiftR` 0 = 1
6238 1 `shiftR` 1 = 0
6239 1 `shiftR` 2 = 0
6240 1 `shiftR` 3 = 0
6241 1 `shiftR` 32 = 0
6242  
6243 2 `shiftR` 0 = 2
6244 2 `shiftR` 1 = 1
6245 2 `shiftR` 2 = 0
6246 2 `shiftR` 3 = 0
6247 2 `shiftR` 32 = 0
6248  
6249 3 `shiftR` 0 = 3
6250 3 `shiftR` 1 = 1
6251 3 `shiftR` 2 = 0
6252 3 `shiftR` 3 = 0
6253 3 `shiftR` 32 = 0
6254  
6255 #
6256 253 `rotate` -3 = 191
6257 253 `rotate` -2 = 127
6258 253 `rotate` -1 = 254
6259 253 `rotate` 0 = 253
6260 253 `rotate` 1 = 251
6261 253 `rotate` 2 = 247
6262 253 `rotate` 3 = 239
6263  
6264 254 `rotate` -3 = 223
6265 254 `rotate` -2 = 191
6266 254 `rotate` -1 = 127
6267 254 `rotate` 0 = 254
6268 254 `rotate` 1 = 253
6269 254 `rotate` 2 = 251
6270 254 `rotate` 3 = 247
6271  
6272 255 `rotate` -3 = 255
6273 255 `rotate` -2 = 255
6274 255 `rotate` -1 = 255
6275 255 `rotate` 0 = 255
6276 255 `rotate` 1 = 255
6277 255 `rotate` 2 = 255
6278 255 `rotate` 3 = 255
6279  
6280 0 `rotate` -3 = 0
6281 0 `rotate` -2 = 0
6282 0 `rotate` -1 = 0
6283 0 `rotate` 0 = 0
6284 0 `rotate` 1 = 0
6285 0 `rotate` 2 = 0
6286 0 `rotate` 3 = 0
6287  
6288 1 `rotate` -3 = 32
6289 1 `rotate` -2 = 64
6290 1 `rotate` -1 = 128
6291 1 `rotate` 0 = 1
6292 1 `rotate` 1 = 2
6293 1 `rotate` 2 = 4
6294 1 `rotate` 3 = 8
6295  
6296 2 `rotate` -3 = 64
6297 2 `rotate` -2 = 128
6298 2 `rotate` -1 = 1
6299 2 `rotate` 0 = 2
6300 2 `rotate` 1 = 4
6301 2 `rotate` 2 = 8
6302 2 `rotate` 3 = 16
6303  
6304 3 `rotate` -3 = 96
6305 3 `rotate` -2 = 192
6306 3 `rotate` -1 = 129
6307 3 `rotate` 0 = 3
6308 3 `rotate` 1 = 6
6309 3 `rotate` 2 = 12
6310 3 `rotate` 3 = 24
6311  
6312 #
6313 bit 0 = 1
6314 bit 1 = 2
6315 bit 2 = 4
6316 bit 3 = 8
6317 #
6318 253 `setBit` 0 = 253
6319 253 `setBit` 1 = 255
6320 253 `setBit` 2 = 253
6321 253 `setBit` 3 = 253
6322 253 `setBit` 32 = 253
6323  
6324 254 `setBit` 0 = 255
6325 254 `setBit` 1 = 254
6326 254 `setBit` 2 = 254
6327 254 `setBit` 3 = 254
6328 254 `setBit` 32 = 254
6329  
6330 255 `setBit` 0 = 255
6331 255 `setBit` 1 = 255
6332 255 `setBit` 2 = 255
6333 255 `setBit` 3 = 255
6334 255 `setBit` 32 = 255
6335  
6336 0 `setBit` 0 = 1
6337 0 `setBit` 1 = 2
6338 0 `setBit` 2 = 4
6339 0 `setBit` 3 = 8
6340 0 `setBit` 32 = 0
6341  
6342 1 `setBit` 0 = 1
6343 1 `setBit` 1 = 3
6344 1 `setBit` 2 = 5
6345 1 `setBit` 3 = 9
6346 1 `setBit` 32 = 1
6347  
6348 2 `setBit` 0 = 3
6349 2 `setBit` 1 = 2
6350 2 `setBit` 2 = 6
6351 2 `setBit` 3 = 10
6352 2 `setBit` 32 = 2
6353  
6354 3 `setBit` 0 = 3
6355 3 `setBit` 1 = 3
6356 3 `setBit` 2 = 7
6357 3 `setBit` 3 = 11
6358 3 `setBit` 32 = 3
6359  
6360 #
6361 253 `clearBit` 0 = 252
6362 253 `clearBit` 1 = 253
6363 253 `clearBit` 2 = 249
6364 253 `clearBit` 3 = 245
6365 253 `clearBit` 32 = 253
6366  
6367 254 `clearBit` 0 = 254
6368 254 `clearBit` 1 = 252
6369 254 `clearBit` 2 = 250
6370 254 `clearBit` 3 = 246
6371 254 `clearBit` 32 = 254
6372  
6373 255 `clearBit` 0 = 254
6374 255 `clearBit` 1 = 253
6375 255 `clearBit` 2 = 251
6376 255 `clearBit` 3 = 247
6377 255 `clearBit` 32 = 255
6378  
6379 0 `clearBit` 0 = 0
6380 0 `clearBit` 1 = 0
6381 0 `clearBit` 2 = 0
6382 0 `clearBit` 3 = 0
6383 0 `clearBit` 32 = 0
6384  
6385 1 `clearBit` 0 = 0
6386 1 `clearBit` 1 = 1
6387 1 `clearBit` 2 = 1
6388 1 `clearBit` 3 = 1
6389 1 `clearBit` 32 = 1
6390  
6391 2 `clearBit` 0 = 2
6392 2 `clearBit` 1 = 0
6393 2 `clearBit` 2 = 2
6394 2 `clearBit` 3 = 2
6395 2 `clearBit` 32 = 2
6396  
6397 3 `clearBit` 0 = 2
6398 3 `clearBit` 1 = 1
6399 3 `clearBit` 2 = 3
6400 3 `clearBit` 3 = 3
6401 3 `clearBit` 32 = 3
6402  
6403 #
6404 253 `complementBit` 0 = 252
6405 253 `complementBit` 1 = 255
6406 253 `complementBit` 2 = 249
6407 253 `complementBit` 3 = 245
6408 253 `complementBit` 32 = 253
6409  
6410 254 `complementBit` 0 = 255
6411 254 `complementBit` 1 = 252
6412 254 `complementBit` 2 = 250
6413 254 `complementBit` 3 = 246
6414 254 `complementBit` 32 = 254
6415  
6416 255 `complementBit` 0 = 254
6417 255 `complementBit` 1 = 253
6418 255 `complementBit` 2 = 251
6419 255 `complementBit` 3 = 247
6420 255 `complementBit` 32 = 255
6421  
6422 0 `complementBit` 0 = 1
6423 0 `complementBit` 1 = 2
6424 0 `complementBit` 2 = 4
6425 0 `complementBit` 3 = 8
6426 0 `complementBit` 32 = 0
6427  
6428 1 `complementBit` 0 = 0
6429 1 `complementBit` 1 = 3
6430 1 `complementBit` 2 = 5
6431 1 `complementBit` 3 = 9
6432 1 `complementBit` 32 = 1
6433  
6434 2 `complementBit` 0 = 3
6435 2 `complementBit` 1 = 0
6436 2 `complementBit` 2 = 6
6437 2 `complementBit` 3 = 10
6438 2 `complementBit` 32 = 2
6439  
6440 3 `complementBit` 0 = 2
6441 3 `complementBit` 1 = 1
6442 3 `complementBit` 2 = 7
6443 3 `complementBit` 3 = 11
6444 3 `complementBit` 32 = 3
6445  
6446 #
6447 253 `testBit` 0 = True
6448 253 `testBit` 1 = False
6449 253 `testBit` 2 = True
6450 253 `testBit` 3 = True
6451 253 `testBit` 32 = False
6452  
6453 254 `testBit` 0 = False
6454 254 `testBit` 1 = True
6455 254 `testBit` 2 = True
6456 254 `testBit` 3 = True
6457 254 `testBit` 32 = False
6458  
6459 255 `testBit` 0 = True
6460 255 `testBit` 1 = True
6461 255 `testBit` 2 = True
6462 255 `testBit` 3 = True
6463 255 `testBit` 32 = False
6464  
6465 0 `testBit` 0 = False
6466 0 `testBit` 1 = False
6467 0 `testBit` 2 = False
6468 0 `testBit` 3 = False
6469 0 `testBit` 32 = False
6470  
6471 1 `testBit` 0 = True
6472 1 `testBit` 1 = False
6473 1 `testBit` 2 = False
6474 1 `testBit` 3 = False
6475 1 `testBit` 32 = False
6476  
6477 2 `testBit` 0 = False
6478 2 `testBit` 1 = True
6479 2 `testBit` 2 = False
6480 2 `testBit` 3 = False
6481 2 `testBit` 32 = False
6482  
6483 3 `testBit` 0 = True
6484 3 `testBit` 1 = True
6485 3 `testBit` 2 = False
6486 3 `testBit` 3 = False
6487 3 `testBit` 32 = False
6488  
6489 #
6490 bitSize 253 = 8
6491 bitSize 254 = 8
6492 bitSize 255 = 8
6493 bitSize 0 = 8
6494 bitSize 1 = 8
6495 bitSize 2 = 8
6496 bitSize 3 = 8
6497 #
6498 isSigned 253 = False
6499 isSigned 254 = False
6500 isSigned 255 = False
6501 isSigned 0 = False
6502 isSigned 1 = False
6503 isSigned 2 = False
6504 isSigned 3 = False
6505 #
6506 --------------------------------
6507 --Testing Word16
6508 --------------------------------
6509 testBounded
6510 (65535,0,1)
6511 (65534,65535,0)
6512 testEnum
6513 [0,1,2,3,4,5,6,7,8,9]
6514 [0,2,4,6,8,10,12,14,16,18]
6515 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
6516 [0,2,4,6,8,10,12,14,16,18,20]
6517 testReadShow
6518 [65533,65534,65535,0,1,2,3]
6519 [65533,65534,65535,0,1,2,3]
6520 testEq
6521 65533 == 65533 = True
6522 65533 == 65534 = False
6523 65533 == 65535 = False
6524 65533 == 0 = False
6525 65533 == 1 = False
6526 65533 == 2 = False
6527 65533 == 3 = False
6528  
6529 65534 == 65533 = False
6530 65534 == 65534 = True
6531 65534 == 65535 = False
6532 65534 == 0 = False
6533 65534 == 1 = False
6534 65534 == 2 = False
6535 65534 == 3 = False
6536  
6537 65535 == 65533 = False
6538 65535 == 65534 = False
6539 65535 == 65535 = True
6540 65535 == 0 = False
6541 65535 == 1 = False
6542 65535 == 2 = False
6543 65535 == 3 = False
6544  
6545 0 == 65533 = False
6546 0 == 65534 = False
6547 0 == 65535 = False
6548 0 == 0 = True
6549 0 == 1 = False
6550 0 == 2 = False
6551 0 == 3 = False
6552  
6553 1 == 65533 = False
6554 1 == 65534 = False
6555 1 == 65535 = False
6556 1 == 0 = False
6557 1 == 1 = True
6558 1 == 2 = False
6559 1 == 3 = False
6560  
6561 2 == 65533 = False
6562 2 == 65534 = False
6563 2 == 65535 = False
6564 2 == 0 = False
6565 2 == 1 = False
6566 2 == 2 = True
6567 2 == 3 = False
6568  
6569 3 == 65533 = False
6570 3 == 65534 = False
6571 3 == 65535 = False
6572 3 == 0 = False
6573 3 == 1 = False
6574 3 == 2 = False
6575 3 == 3 = True
6576  
6577 #
6578 65533 /= 65533 = False
6579 65533 /= 65534 = True
6580 65533 /= 65535 = True
6581 65533 /= 0 = True
6582 65533 /= 1 = True
6583 65533 /= 2 = True
6584 65533 /= 3 = True
6585  
6586 65534 /= 65533 = True
6587 65534 /= 65534 = False
6588 65534 /= 65535 = True
6589 65534 /= 0 = True
6590 65534 /= 1 = True
6591 65534 /= 2 = True
6592 65534 /= 3 = True
6593  
6594 65535 /= 65533 = True
6595 65535 /= 65534 = True
6596 65535 /= 65535 = False
6597 65535 /= 0 = True
6598 65535 /= 1 = True
6599 65535 /= 2 = True
6600 65535 /= 3 = True
6601  
6602 0 /= 65533 = True
6603 0 /= 65534 = True
6604 0 /= 65535 = True
6605 0 /= 0 = False
6606 0 /= 1 = True
6607 0 /= 2 = True
6608 0 /= 3 = True
6609  
6610 1 /= 65533 = True
6611 1 /= 65534 = True
6612 1 /= 65535 = True
6613 1 /= 0 = True
6614 1 /= 1 = False
6615 1 /= 2 = True
6616 1 /= 3 = True
6617  
6618 2 /= 65533 = True
6619 2 /= 65534 = True
6620 2 /= 65535 = True
6621 2 /= 0 = True
6622 2 /= 1 = True
6623 2 /= 2 = False
6624 2 /= 3 = True
6625  
6626 3 /= 65533 = True
6627 3 /= 65534 = True
6628 3 /= 65535 = True
6629 3 /= 0 = True
6630 3 /= 1 = True
6631 3 /= 2 = True
6632 3 /= 3 = False
6633  
6634 #
6635 testOrd
6636 65533 <= 65533 = True
6637 65533 <= 65534 = True
6638 65533 <= 65535 = True
6639 65533 <= 0 = False
6640 65533 <= 1 = False
6641 65533 <= 2 = False
6642 65533 <= 3 = False
6643  
6644 65534 <= 65533 = False
6645 65534 <= 65534 = True
6646 65534 <= 65535 = True
6647 65534 <= 0 = False
6648 65534 <= 1 = False
6649 65534 <= 2 = False
6650 65534 <= 3 = False
6651  
6652 65535 <= 65533 = False
6653 65535 <= 65534 = False
6654 65535 <= 65535 = True
6655 65535 <= 0 = False
6656 65535 <= 1 = False
6657 65535 <= 2 = False
6658 65535 <= 3 = False
6659  
6660 0 <= 65533 = True
6661 0 <= 65534 = True
6662 0 <= 65535 = True
6663 0 <= 0 = True
6664 0 <= 1 = True
6665 0 <= 2 = True
6666 0 <= 3 = True
6667  
6668 1 <= 65533 = True
6669 1 <= 65534 = True
6670 1 <= 65535 = True
6671 1 <= 0 = False
6672 1 <= 1 = True
6673 1 <= 2 = True
6674 1 <= 3 = True
6675  
6676 2 <= 65533 = True
6677 2 <= 65534 = True
6678 2 <= 65535 = True
6679 2 <= 0 = False
6680 2 <= 1 = False
6681 2 <= 2 = True
6682 2 <= 3 = True
6683  
6684 3 <= 65533 = True
6685 3 <= 65534 = True
6686 3 <= 65535 = True
6687 3 <= 0 = False
6688 3 <= 1 = False
6689 3 <= 2 = False
6690 3 <= 3 = True
6691  
6692 #
6693 65533 <  65533 = False
6694 65533 <  65534 = True
6695 65533 <  65535 = True
6696 65533 <  0 = False
6697 65533 <  1 = False
6698 65533 <  2 = False
6699 65533 <  3 = False
6700  
6701 65534 <  65533 = False
6702 65534 <  65534 = False
6703 65534 <  65535 = True
6704 65534 <  0 = False
6705 65534 <  1 = False
6706 65534 <  2 = False
6707 65534 <  3 = False
6708  
6709 65535 <  65533 = False
6710 65535 <  65534 = False
6711 65535 <  65535 = False
6712 65535 <  0 = False
6713 65535 <  1 = False
6714 65535 <  2 = False
6715 65535 <  3 = False
6716  
6717 0 <  65533 = True
6718 0 <  65534 = True
6719 0 <  65535 = True
6720 0 <  0 = False
6721 0 <  1 = True
6722 0 <  2 = True
6723 0 <  3 = True
6724  
6725 1 <  65533 = True
6726 1 <  65534 = True
6727 1 <  65535 = True
6728 1 <  0 = False
6729 1 <  1 = False
6730 1 <  2 = True
6731 1 <  3 = True
6732  
6733 2 <  65533 = True
6734 2 <  65534 = True
6735 2 <  65535 = True
6736 2 <  0 = False
6737 2 <  1 = False
6738 2 <  2 = False
6739 2 <  3 = True
6740  
6741 3 <  65533 = True
6742 3 <  65534 = True
6743 3 <  65535 = True
6744 3 <  0 = False
6745 3 <  1 = False
6746 3 <  2 = False
6747 3 <  3 = False
6748  
6749 #
6750 65533 >  65533 = False
6751 65533 >  65534 = False
6752 65533 >  65535 = False
6753 65533 >  0 = True
6754 65533 >  1 = True
6755 65533 >  2 = True
6756 65533 >  3 = True
6757  
6758 65534 >  65533 = True
6759 65534 >  65534 = False
6760 65534 >  65535 = False
6761 65534 >  0 = True
6762 65534 >  1 = True
6763 65534 >  2 = True
6764 65534 >  3 = True
6765  
6766 65535 >  65533 = True
6767 65535 >  65534 = True
6768 65535 >  65535 = False
6769 65535 >  0 = True
6770 65535 >  1 = True
6771 65535 >  2 = True
6772 65535 >  3 = True
6773  
6774 0 >  65533 = False
6775 0 >  65534 = False
6776 0 >  65535 = False
6777 0 >  0 = False
6778 0 >  1 = False
6779 0 >  2 = False
6780 0 >  3 = False
6781  
6782 1 >  65533 = False
6783 1 >  65534 = False
6784 1 >  65535 = False
6785 1 >  0 = True
6786 1 >  1 = False
6787 1 >  2 = False
6788 1 >  3 = False
6789  
6790 2 >  65533 = False
6791 2 >  65534 = False
6792 2 >  65535 = False
6793 2 >  0 = True
6794 2 >  1 = True
6795 2 >  2 = False
6796 2 >  3 = False
6797  
6798 3 >  65533 = False
6799 3 >  65534 = False
6800 3 >  65535 = False
6801 3 >  0 = True
6802 3 >  1 = True
6803 3 >  2 = True
6804 3 >  3 = False
6805  
6806 #
6807 65533 >= 65533 = True
6808 65533 >= 65534 = False
6809 65533 >= 65535 = False
6810 65533 >= 0 = True
6811 65533 >= 1 = True
6812 65533 >= 2 = True
6813 65533 >= 3 = True
6814  
6815 65534 >= 65533 = True
6816 65534 >= 65534 = True
6817 65534 >= 65535 = False
6818 65534 >= 0 = True
6819 65534 >= 1 = True
6820 65534 >= 2 = True
6821 65534 >= 3 = True
6822  
6823 65535 >= 65533 = True
6824 65535 >= 65534 = True
6825 65535 >= 65535 = True
6826 65535 >= 0 = True
6827 65535 >= 1 = True
6828 65535 >= 2 = True
6829 65535 >= 3 = True
6830  
6831 0 >= 65533 = False
6832 0 >= 65534 = False
6833 0 >= 65535 = False
6834 0 >= 0 = True
6835 0 >= 1 = False
6836 0 >= 2 = False
6837 0 >= 3 = False
6838  
6839 1 >= 65533 = False
6840 1 >= 65534 = False
6841 1 >= 65535 = False
6842 1 >= 0 = True
6843 1 >= 1 = True
6844 1 >= 2 = False
6845 1 >= 3 = False
6846  
6847 2 >= 65533 = False
6848 2 >= 65534 = False
6849 2 >= 65535 = False
6850 2 >= 0 = True
6851 2 >= 1 = True
6852 2 >= 2 = True
6853 2 >= 3 = False
6854  
6855 3 >= 65533 = False
6856 3 >= 65534 = False
6857 3 >= 65535 = False
6858 3 >= 0 = True
6859 3 >= 1 = True
6860 3 >= 2 = True
6861 3 >= 3 = True
6862  
6863 #
6864 65533 `compare` 65533 = EQ
6865 65533 `compare` 65534 = LT
6866 65533 `compare` 65535 = LT
6867 65533 `compare` 0 = GT
6868 65533 `compare` 1 = GT
6869 65533 `compare` 2 = GT
6870 65533 `compare` 3 = GT
6871  
6872 65534 `compare` 65533 = GT
6873 65534 `compare` 65534 = EQ
6874 65534 `compare` 65535 = LT
6875 65534 `compare` 0 = GT
6876 65534 `compare` 1 = GT
6877 65534 `compare` 2 = GT
6878 65534 `compare` 3 = GT
6879  
6880 65535 `compare` 65533 = GT
6881 65535 `compare` 65534 = GT
6882 65535 `compare` 65535 = EQ
6883 65535 `compare` 0 = GT
6884 65535 `compare` 1 = GT
6885 65535 `compare` 2 = GT
6886 65535 `compare` 3 = GT
6887  
6888 0 `compare` 65533 = LT
6889 0 `compare` 65534 = LT
6890 0 `compare` 65535 = LT
6891 0 `compare` 0 = EQ
6892 0 `compare` 1 = LT
6893 0 `compare` 2 = LT
6894 0 `compare` 3 = LT
6895  
6896 1 `compare` 65533 = LT
6897 1 `compare` 65534 = LT
6898 1 `compare` 65535 = LT
6899 1 `compare` 0 = GT
6900 1 `compare` 1 = EQ
6901 1 `compare` 2 = LT
6902 1 `compare` 3 = LT
6903  
6904 2 `compare` 65533 = LT
6905 2 `compare` 65534 = LT
6906 2 `compare` 65535 = LT
6907 2 `compare` 0 = GT
6908 2 `compare` 1 = GT
6909 2 `compare` 2 = EQ
6910 2 `compare` 3 = LT
6911  
6912 3 `compare` 65533 = LT
6913 3 `compare` 65534 = LT
6914 3 `compare` 65535 = LT
6915 3 `compare` 0 = GT
6916 3 `compare` 1 = GT
6917 3 `compare` 2 = GT
6918 3 `compare` 3 = EQ
6919  
6920 #
6921 testNum
6922 65533 + 65533 = 65530
6923 65533 + 65534 = 65531
6924 65533 + 65535 = 65532
6925 65533 + 0 = 65533
6926 65533 + 1 = 65534
6927 65533 + 2 = 65535
6928 65533 + 3 = 0
6929  
6930 65534 + 65533 = 65531
6931 65534 + 65534 = 65532
6932 65534 + 65535 = 65533
6933 65534 + 0 = 65534
6934 65534 + 1 = 65535
6935 65534 + 2 = 0
6936 65534 + 3 = 1
6937  
6938 65535 + 65533 = 65532
6939 65535 + 65534 = 65533
6940 65535 + 65535 = 65534
6941 65535 + 0 = 65535
6942 65535 + 1 = 0
6943 65535 + 2 = 1
6944 65535 + 3 = 2
6945  
6946 0 + 65533 = 65533
6947 0 + 65534 = 65534
6948 0 + 65535 = 65535
6949 0 + 0 = 0
6950 0 + 1 = 1
6951 0 + 2 = 2
6952 0 + 3 = 3
6953  
6954 1 + 65533 = 65534
6955 1 + 65534 = 65535
6956 1 + 65535 = 0
6957 1 + 0 = 1
6958 1 + 1 = 2
6959 1 + 2 = 3
6960 1 + 3 = 4
6961  
6962 2 + 65533 = 65535
6963 2 + 65534 = 0
6964 2 + 65535 = 1
6965 2 + 0 = 2
6966 2 + 1 = 3
6967 2 + 2 = 4
6968 2 + 3 = 5
6969  
6970 3 + 65533 = 0
6971 3 + 65534 = 1
6972 3 + 65535 = 2
6973 3 + 0 = 3
6974 3 + 1 = 4
6975 3 + 2 = 5
6976 3 + 3 = 6
6977  
6978 #
6979 65533 - 65533 = 0
6980 65533 - 65534 = 65535
6981 65533 - 65535 = 65534
6982 65533 - 0 = 65533
6983 65533 - 1 = 65532
6984 65533 - 2 = 65531
6985 65533 - 3 = 65530
6986  
6987 65534 - 65533 = 1
6988 65534 - 65534 = 0
6989 65534 - 65535 = 65535
6990 65534 - 0 = 65534
6991 65534 - 1 = 65533
6992 65534 - 2 = 65532
6993 65534 - 3 = 65531
6994  
6995 65535 - 65533 = 2
6996 65535 - 65534 = 1
6997 65535 - 65535 = 0
6998 65535 - 0 = 65535
6999 65535 - 1 = 65534
7000 65535 - 2 = 65533
7001 65535 - 3 = 65532
7002  
7003 0 - 65533 = 3
7004 0 - 65534 = 2
7005 0 - 65535 = 1
7006 0 - 0 = 0
7007 0 - 1 = 65535
7008 0 - 2 = 65534
7009 0 - 3 = 65533
7010  
7011 1 - 65533 = 4
7012 1 - 65534 = 3
7013 1 - 65535 = 2
7014 1 - 0 = 1
7015 1 - 1 = 0
7016 1 - 2 = 65535
7017 1 - 3 = 65534
7018  
7019 2 - 65533 = 5
7020 2 - 65534 = 4
7021 2 - 65535 = 3
7022 2 - 0 = 2
7023 2 - 1 = 1
7024 2 - 2 = 0
7025 2 - 3 = 65535
7026  
7027 3 - 65533 = 6
7028 3 - 65534 = 5
7029 3 - 65535 = 4
7030 3 - 0 = 3
7031 3 - 1 = 2
7032 3 - 2 = 1
7033 3 - 3 = 0
7034  
7035 #
7036 65533 * 65533 = 9
7037 65533 * 65534 = 6
7038 65533 * 65535 = 3
7039 65533 * 0 = 0
7040 65533 * 1 = 65533
7041 65533 * 2 = 65530
7042 65533 * 3 = 65527
7043  
7044 65534 * 65533 = 6
7045 65534 * 65534 = 4
7046 65534 * 65535 = 2
7047 65534 * 0 = 0
7048 65534 * 1 = 65534
7049 65534 * 2 = 65532
7050 65534 * 3 = 65530
7051  
7052 65535 * 65533 = 3
7053 65535 * 65534 = 2
7054 65535 * 65535 = 1
7055 65535 * 0 = 0
7056 65535 * 1 = 65535
7057 65535 * 2 = 65534
7058 65535 * 3 = 65533
7059  
7060 0 * 65533 = 0
7061 0 * 65534 = 0
7062 0 * 65535 = 0
7063 0 * 0 = 0
7064 0 * 1 = 0
7065 0 * 2 = 0
7066 0 * 3 = 0
7067  
7068 1 * 65533 = 65533
7069 1 * 65534 = 65534
7070 1 * 65535 = 65535
7071 1 * 0 = 0
7072 1 * 1 = 1
7073 1 * 2 = 2
7074 1 * 3 = 3
7075  
7076 2 * 65533 = 65530
7077 2 * 65534 = 65532
7078 2 * 65535 = 65534
7079 2 * 0 = 0
7080 2 * 1 = 2
7081 2 * 2 = 4
7082 2 * 3 = 6
7083  
7084 3 * 65533 = 65527
7085 3 * 65534 = 65530
7086 3 * 65535 = 65533
7087 3 * 0 = 0
7088 3 * 1 = 3
7089 3 * 2 = 6
7090 3 * 3 = 9
7091  
7092 #
7093 negate 65533 = 3
7094 negate 65534 = 2
7095 negate 65535 = 1
7096 negate 0 = 0
7097 negate 1 = 65535
7098 negate 2 = 65534
7099 negate 3 = 65533
7100 #
7101 testReal
7102 toRational 65533 = 65533 % 1
7103 toRational 65534 = 65534 % 1
7104 toRational 65535 = 65535 % 1
7105 toRational 0 = 0 % 1
7106 toRational 1 = 1 % 1
7107 toRational 2 = 2 % 1
7108 toRational 3 = 3 % 1
7109 #
7110 testIntegral
7111 65533 `divMod`  65533 = (1,0)
7112 65533 `divMod`  65534 = (0,65533)
7113 65533 `divMod`  65535 = (0,65533)
7114 65533 `divMod`  1 = (65533,0)
7115 65533 `divMod`  2 = (32766,1)
7116 65533 `divMod`  3 = (21844,1)
7117  
7118 65534 `divMod`  65533 = (1,1)
7119 65534 `divMod`  65534 = (1,0)
7120 65534 `divMod`  65535 = (0,65534)
7121 65534 `divMod`  1 = (65534,0)
7122 65534 `divMod`  2 = (32767,0)
7123 65534 `divMod`  3 = (21844,2)
7124  
7125 65535 `divMod`  65533 = (1,2)
7126 65535 `divMod`  65534 = (1,1)
7127 65535 `divMod`  65535 = (1,0)
7128 65535 `divMod`  1 = (65535,0)
7129 65535 `divMod`  2 = (32767,1)
7130 65535 `divMod`  3 = (21845,0)
7131  
7132 0 `divMod`  65533 = (0,0)
7133 0 `divMod`  65534 = (0,0)
7134 0 `divMod`  65535 = (0,0)
7135 0 `divMod`  1 = (0,0)
7136 0 `divMod`  2 = (0,0)
7137 0 `divMod`  3 = (0,0)
7138  
7139 1 `divMod`  65533 = (0,1)
7140 1 `divMod`  65534 = (0,1)
7141 1 `divMod`  65535 = (0,1)
7142 1 `divMod`  1 = (1,0)
7143 1 `divMod`  2 = (0,1)
7144 1 `divMod`  3 = (0,1)
7145  
7146 2 `divMod`  65533 = (0,2)
7147 2 `divMod`  65534 = (0,2)
7148 2 `divMod`  65535 = (0,2)
7149 2 `divMod`  1 = (2,0)
7150 2 `divMod`  2 = (1,0)
7151 2 `divMod`  3 = (0,2)
7152  
7153 3 `divMod`  65533 = (0,3)
7154 3 `divMod`  65534 = (0,3)
7155 3 `divMod`  65535 = (0,3)
7156 3 `divMod`  1 = (3,0)
7157 3 `divMod`  2 = (1,1)
7158 3 `divMod`  3 = (1,0)
7159  
7160 #
7161 65533 `div`     65533 = 1
7162 65533 `div`     65534 = 0
7163 65533 `div`     65535 = 0
7164 65533 `div`     1 = 65533
7165 65533 `div`     2 = 32766
7166 65533 `div`     3 = 21844
7167  
7168 65534 `div`     65533 = 1
7169 65534 `div`     65534 = 1
7170 65534 `div`     65535 = 0
7171 65534 `div`     1 = 65534
7172 65534 `div`     2 = 32767
7173 65534 `div`     3 = 21844
7174  
7175 65535 `div`     65533 = 1
7176 65535 `div`     65534 = 1
7177 65535 `div`     65535 = 1
7178 65535 `div`     1 = 65535
7179 65535 `div`     2 = 32767
7180 65535 `div`     3 = 21845
7181  
7182 0 `div`     65533 = 0
7183 0 `div`     65534 = 0
7184 0 `div`     65535 = 0
7185 0 `div`     1 = 0
7186 0 `div`     2 = 0
7187 0 `div`     3 = 0
7188  
7189 1 `div`     65533 = 0
7190 1 `div`     65534 = 0
7191 1 `div`     65535 = 0
7192 1 `div`     1 = 1
7193 1 `div`     2 = 0
7194 1 `div`     3 = 0
7195  
7196 2 `div`     65533 = 0
7197 2 `div`     65534 = 0
7198 2 `div`     65535 = 0
7199 2 `div`     1 = 2
7200 2 `div`     2 = 1
7201 2 `div`     3 = 0
7202  
7203 3 `div`     65533 = 0
7204 3 `div`     65534 = 0
7205 3 `div`     65535 = 0
7206 3 `div`     1 = 3
7207 3 `div`     2 = 1
7208 3 `div`     3 = 1
7209  
7210 #
7211 65533 `mod`     65533 = 0
7212 65533 `mod`     65534 = 65533
7213 65533 `mod`     65535 = 65533
7214 65533 `mod`     1 = 0
7215 65533 `mod`     2 = 1
7216 65533 `mod`     3 = 1
7217  
7218 65534 `mod`     65533 = 1
7219 65534 `mod`     65534 = 0
7220 65534 `mod`     65535 = 65534
7221 65534 `mod`     1 = 0
7222 65534 `mod`     2 = 0
7223 65534 `mod`     3 = 2
7224  
7225 65535 `mod`     65533 = 2
7226 65535 `mod`     65534 = 1
7227 65535 `mod`     65535 = 0
7228 65535 `mod`     1 = 0
7229 65535 `mod`     2 = 1
7230 65535 `mod`     3 = 0
7231  
7232 0 `mod`     65533 = 0
7233 0 `mod`     65534 = 0
7234 0 `mod`     65535 = 0
7235 0 `mod`     1 = 0
7236 0 `mod`     2 = 0
7237 0 `mod`     3 = 0
7238  
7239 1 `mod`     65533 = 1
7240 1 `mod`     65534 = 1
7241 1 `mod`     65535 = 1
7242 1 `mod`     1 = 0
7243 1 `mod`     2 = 1
7244 1 `mod`     3 = 1
7245  
7246 2 `mod`     65533 = 2
7247 2 `mod`     65534 = 2
7248 2 `mod`     65535 = 2
7249 2 `mod`     1 = 0
7250 2 `mod`     2 = 0
7251 2 `mod`     3 = 2
7252  
7253 3 `mod`     65533 = 3
7254 3 `mod`     65534 = 3
7255 3 `mod`     65535 = 3
7256 3 `mod`     1 = 0
7257 3 `mod`     2 = 1
7258 3 `mod`     3 = 0
7259  
7260 #
7261 65533 `quotRem` 65533 = (1,0)
7262 65533 `quotRem` 65534 = (0,65533)
7263 65533 `quotRem` 65535 = (0,65533)
7264 65533 `quotRem` 1 = (65533,0)
7265 65533 `quotRem` 2 = (32766,1)
7266 65533 `quotRem` 3 = (21844,1)
7267  
7268 65534 `quotRem` 65533 = (1,1)
7269 65534 `quotRem` 65534 = (1,0)
7270 65534 `quotRem` 65535 = (0,65534)
7271 65534 `quotRem` 1 = (65534,0)
7272 65534 `quotRem` 2 = (32767,0)
7273 65534 `quotRem` 3 = (21844,2)
7274  
7275 65535 `quotRem` 65533 = (1,2)
7276 65535 `quotRem` 65534 = (1,1)
7277 65535 `quotRem` 65535 = (1,0)
7278 65535 `quotRem` 1 = (65535,0)
7279 65535 `quotRem` 2 = (32767,1)
7280 65535 `quotRem` 3 = (21845,0)
7281  
7282 0 `quotRem` 65533 = (0,0)
7283 0 `quotRem` 65534 = (0,0)
7284 0 `quotRem` 65535 = (0,0)
7285 0 `quotRem` 1 = (0,0)
7286 0 `quotRem` 2 = (0,0)
7287 0 `quotRem` 3 = (0,0)
7288  
7289 1 `quotRem` 65533 = (0,1)
7290 1 `quotRem` 65534 = (0,1)
7291 1 `quotRem` 65535 = (0,1)
7292 1 `quotRem` 1 = (1,0)
7293 1 `quotRem` 2 = (0,1)
7294 1 `quotRem` 3 = (0,1)
7295  
7296 2 `quotRem` 65533 = (0,2)
7297 2 `quotRem` 65534 = (0,2)
7298 2 `quotRem` 65535 = (0,2)
7299 2 `quotRem` 1 = (2,0)
7300 2 `quotRem` 2 = (1,0)
7301 2 `quotRem` 3 = (0,2)
7302  
7303 3 `quotRem` 65533 = (0,3)
7304 3 `quotRem` 65534 = (0,3)
7305 3 `quotRem` 65535 = (0,3)
7306 3 `quotRem` 1 = (3,0)
7307 3 `quotRem` 2 = (1,1)
7308 3 `quotRem` 3 = (1,0)
7309  
7310 #
7311 65533 `quot`    65533 = 1
7312 65533 `quot`    65534 = 0
7313 65533 `quot`    65535 = 0
7314 65533 `quot`    1 = 65533
7315 65533 `quot`    2 = 32766
7316 65533 `quot`    3 = 21844
7317  
7318 65534 `quot`    65533 = 1
7319 65534 `quot`    65534 = 1
7320 65534 `quot`    65535 = 0
7321 65534 `quot`    1 = 65534
7322 65534 `quot`    2 = 32767
7323 65534 `quot`    3 = 21844
7324  
7325 65535 `quot`    65533 = 1
7326 65535 `quot`    65534 = 1
7327 65535 `quot`    65535 = 1
7328 65535 `quot`    1 = 65535
7329 65535 `quot`    2 = 32767
7330 65535 `quot`    3 = 21845
7331  
7332 0 `quot`    65533 = 0
7333 0 `quot`    65534 = 0
7334 0 `quot`    65535 = 0
7335 0 `quot`    1 = 0
7336 0 `quot`    2 = 0
7337 0 `quot`    3 = 0
7338  
7339 1 `quot`    65533 = 0
7340 1 `quot`    65534 = 0
7341 1 `quot`    65535 = 0
7342 1 `quot`    1 = 1
7343 1 `quot`    2 = 0
7344 1 `quot`    3 = 0
7345  
7346 2 `quot`    65533 = 0
7347 2 `quot`    65534 = 0
7348 2 `quot`    65535 = 0
7349 2 `quot`    1 = 2
7350 2 `quot`    2 = 1
7351 2 `quot`    3 = 0
7352  
7353 3 `quot`    65533 = 0
7354 3 `quot`    65534 = 0
7355 3 `quot`    65535 = 0
7356 3 `quot`    1 = 3
7357 3 `quot`    2 = 1
7358 3 `quot`    3 = 1
7359  
7360 #
7361 65533 `rem`     65533 = 0
7362 65533 `rem`     65534 = 65533
7363 65533 `rem`     65535 = 65533
7364 65533 `rem`     1 = 0
7365 65533 `rem`     2 = 1
7366 65533 `rem`     3 = 1
7367  
7368 65534 `rem`     65533 = 1
7369 65534 `rem`     65534 = 0
7370 65534 `rem`     65535 = 65534
7371 65534 `rem`     1 = 0
7372 65534 `rem`     2 = 0
7373 65534 `rem`     3 = 2
7374  
7375 65535 `rem`     65533 = 2
7376 65535 `rem`     65534 = 1
7377 65535 `rem`     65535 = 0
7378 65535 `rem`     1 = 0
7379 65535 `rem`     2 = 1
7380 65535 `rem`     3 = 0
7381  
7382 0 `rem`     65533 = 0
7383 0 `rem`     65534 = 0
7384 0 `rem`     65535 = 0
7385 0 `rem`     1 = 0
7386 0 `rem`     2 = 0
7387 0 `rem`     3 = 0
7388  
7389 1 `rem`     65533 = 1
7390 1 `rem`     65534 = 1
7391 1 `rem`     65535 = 1
7392 1 `rem`     1 = 0
7393 1 `rem`     2 = 1
7394 1 `rem`     3 = 1
7395  
7396 2 `rem`     65533 = 2
7397 2 `rem`     65534 = 2
7398 2 `rem`     65535 = 2
7399 2 `rem`     1 = 0
7400 2 `rem`     2 = 0
7401 2 `rem`     3 = 2
7402  
7403 3 `rem`     65533 = 3
7404 3 `rem`     65534 = 3
7405 3 `rem`     65535 = 3
7406 3 `rem`     1 = 0
7407 3 `rem`     2 = 1
7408 3 `rem`     3 = 0
7409  
7410 #
7411 testBits
7412 65533 .&.   65533 = 65533
7413 65533 .&.   65534 = 65532
7414 65533 .&.   65535 = 65533
7415 65533 .&.   1 = 1
7416 65533 .&.   2 = 0
7417 65533 .&.   3 = 1
7418  
7419 65534 .&.   65533 = 65532
7420 65534 .&.   65534 = 65534
7421 65534 .&.   65535 = 65534
7422 65534 .&.   1 = 0
7423 65534 .&.   2 = 2
7424 65534 .&.   3 = 2
7425  
7426 65535 .&.   65533 = 65533
7427 65535 .&.   65534 = 65534
7428 65535 .&.   65535 = 65535
7429 65535 .&.   1 = 1
7430 65535 .&.   2 = 2
7431 65535 .&.   3 = 3
7432  
7433 0 .&.   65533 = 0
7434 0 .&.   65534 = 0
7435 0 .&.   65535 = 0
7436 0 .&.   1 = 0
7437 0 .&.   2 = 0
7438 0 .&.   3 = 0
7439  
7440 1 .&.   65533 = 1
7441 1 .&.   65534 = 0
7442 1 .&.   65535 = 1
7443 1 .&.   1 = 1
7444 1 .&.   2 = 0
7445 1 .&.   3 = 1
7446  
7447 2 .&.   65533 = 0
7448 2 .&.   65534 = 2
7449 2 .&.   65535 = 2
7450 2 .&.   1 = 0
7451 2 .&.   2 = 2
7452 2 .&.   3 = 2
7453  
7454 3 .&.   65533 = 1
7455 3 .&.   65534 = 2
7456 3 .&.   65535 = 3
7457 3 .&.   1 = 1
7458 3 .&.   2 = 2
7459 3 .&.   3 = 3
7460  
7461 #
7462 65533 .|.   65533 = 65533
7463 65533 .|.   65534 = 65535
7464 65533 .|.   65535 = 65535
7465 65533 .|.   1 = 65533
7466 65533 .|.   2 = 65535
7467 65533 .|.   3 = 65535
7468  
7469 65534 .|.   65533 = 65535
7470 65534 .|.   65534 = 65534
7471 65534 .|.   65535 = 65535
7472 65534 .|.   1 = 65535
7473 65534 .|.   2 = 65534
7474 65534 .|.   3 = 65535
7475  
7476 65535 .|.   65533 = 65535
7477 65535 .|.   65534 = 65535
7478 65535 .|.   65535 = 65535
7479 65535 .|.   1 = 65535
7480 65535 .|.   2 = 65535
7481 65535 .|.   3 = 65535
7482  
7483 0 .|.   65533 = 65533
7484 0 .|.   65534 = 65534
7485 0 .|.   65535 = 65535
7486 0 .|.   1 = 1
7487 0 .|.   2 = 2
7488 0 .|.   3 = 3
7489  
7490 1 .|.   65533 = 65533
7491 1 .|.   65534 = 65535
7492 1 .|.   65535 = 65535
7493 1 .|.   1 = 1
7494 1 .|.   2 = 3
7495 1 .|.   3 = 3
7496  
7497 2 .|.   65533 = 65535
7498 2 .|.   65534 = 65534
7499 2 .|.   65535 = 65535
7500 2 .|.   1 = 3
7501 2 .|.   2 = 2
7502 2 .|.   3 = 3
7503  
7504 3 .|.   65533 = 65535
7505 3 .|.   65534 = 65535
7506 3 .|.   65535 = 65535
7507 3 .|.   1 = 3
7508 3 .|.   2 = 3
7509 3 .|.   3 = 3
7510  
7511 #
7512 65533 `xor` 65533 = 0
7513 65533 `xor` 65534 = 3
7514 65533 `xor` 65535 = 2
7515 65533 `xor` 1 = 65532
7516 65533 `xor` 2 = 65535
7517 65533 `xor` 3 = 65534
7518  
7519 65534 `xor` 65533 = 3
7520 65534 `xor` 65534 = 0
7521 65534 `xor` 65535 = 1
7522 65534 `xor` 1 = 65535
7523 65534 `xor` 2 = 65532
7524 65534 `xor` 3 = 65533
7525  
7526 65535 `xor` 65533 = 2
7527 65535 `xor` 65534 = 1
7528 65535 `xor` 65535 = 0
7529 65535 `xor` 1 = 65534
7530 65535 `xor` 2 = 65533
7531 65535 `xor` 3 = 65532
7532  
7533 0 `xor` 65533 = 65533
7534 0 `xor` 65534 = 65534
7535 0 `xor` 65535 = 65535
7536 0 `xor` 1 = 1
7537 0 `xor` 2 = 2
7538 0 `xor` 3 = 3
7539  
7540 1 `xor` 65533 = 65532
7541 1 `xor` 65534 = 65535
7542 1 `xor` 65535 = 65534
7543 1 `xor` 1 = 0
7544 1 `xor` 2 = 3
7545 1 `xor` 3 = 2
7546  
7547 2 `xor` 65533 = 65535
7548 2 `xor` 65534 = 65532
7549 2 `xor` 65535 = 65533
7550 2 `xor` 1 = 3
7551 2 `xor` 2 = 0
7552 2 `xor` 3 = 1
7553  
7554 3 `xor` 65533 = 65534
7555 3 `xor` 65534 = 65533
7556 3 `xor` 65535 = 65532
7557 3 `xor` 1 = 2
7558 3 `xor` 2 = 1
7559 3 `xor` 3 = 0
7560  
7561 #
7562 complement 65533 = 2
7563 complement 65534 = 1
7564 complement 65535 = 0
7565 complement 0 = 65535
7566 complement 1 = 65534
7567 complement 2 = 65533
7568 complement 3 = 65532
7569 #
7570 65533 `shiftL` 0 = 65533
7571 65533 `shiftL` 1 = 65530
7572 65533 `shiftL` 2 = 65524
7573 65533 `shiftL` 3 = 65512
7574 65533 `shiftL` 32 = 0
7575  
7576 65534 `shiftL` 0 = 65534
7577 65534 `shiftL` 1 = 65532
7578 65534 `shiftL` 2 = 65528
7579 65534 `shiftL` 3 = 65520
7580 65534 `shiftL` 32 = 0
7581  
7582 65535 `shiftL` 0 = 65535
7583 65535 `shiftL` 1 = 65534
7584 65535 `shiftL` 2 = 65532
7585 65535 `shiftL` 3 = 65528
7586 65535 `shiftL` 32 = 0
7587  
7588 0 `shiftL` 0 = 0
7589 0 `shiftL` 1 = 0
7590 0 `shiftL` 2 = 0
7591 0 `shiftL` 3 = 0
7592 0 `shiftL` 32 = 0
7593  
7594 1 `shiftL` 0 = 1
7595 1 `shiftL` 1 = 2
7596 1 `shiftL` 2 = 4
7597 1 `shiftL` 3 = 8
7598 1 `shiftL` 32 = 0
7599  
7600 2 `shiftL` 0 = 2
7601 2 `shiftL` 1 = 4
7602 2 `shiftL` 2 = 8
7603 2 `shiftL` 3 = 16
7604 2 `shiftL` 32 = 0
7605  
7606 3 `shiftL` 0 = 3
7607 3 `shiftL` 1 = 6
7608 3 `shiftL` 2 = 12
7609 3 `shiftL` 3 = 24
7610 3 `shiftL` 32 = 0
7611  
7612 #
7613 65533 `shiftR` 0 = 65533
7614 65533 `shiftR` 1 = 32766
7615 65533 `shiftR` 2 = 16383
7616 65533 `shiftR` 3 = 8191
7617 65533 `shiftR` 32 = 0
7618  
7619 65534 `shiftR` 0 = 65534
7620 65534 `shiftR` 1 = 32767
7621 65534 `shiftR` 2 = 16383
7622 65534 `shiftR` 3 = 8191
7623 65534 `shiftR` 32 = 0
7624  
7625 65535 `shiftR` 0 = 65535
7626 65535 `shiftR` 1 = 32767
7627 65535 `shiftR` 2 = 16383
7628 65535 `shiftR` 3 = 8191
7629 65535 `shiftR` 32 = 0
7630  
7631 0 `shiftR` 0 = 0
7632 0 `shiftR` 1 = 0
7633 0 `shiftR` 2 = 0
7634 0 `shiftR` 3 = 0
7635 0 `shiftR` 32 = 0
7636  
7637 1 `shiftR` 0 = 1
7638 1 `shiftR` 1 = 0
7639 1 `shiftR` 2 = 0
7640 1 `shiftR` 3 = 0
7641 1 `shiftR` 32 = 0
7642  
7643 2 `shiftR` 0 = 2
7644 2 `shiftR` 1 = 1
7645 2 `shiftR` 2 = 0
7646 2 `shiftR` 3 = 0
7647 2 `shiftR` 32 = 0
7648  
7649 3 `shiftR` 0 = 3
7650 3 `shiftR` 1 = 1
7651 3 `shiftR` 2 = 0
7652 3 `shiftR` 3 = 0
7653 3 `shiftR` 32 = 0
7654  
7655 #
7656 65533 `rotate` -3 = 49151
7657 65533 `rotate` -2 = 32767
7658 65533 `rotate` -1 = 65534
7659 65533 `rotate` 0 = 65533
7660 65533 `rotate` 1 = 65531
7661 65533 `rotate` 2 = 65527
7662 65533 `rotate` 3 = 65519
7663  
7664 65534 `rotate` -3 = 57343
7665 65534 `rotate` -2 = 49151
7666 65534 `rotate` -1 = 32767
7667 65534 `rotate` 0 = 65534
7668 65534 `rotate` 1 = 65533
7669 65534 `rotate` 2 = 65531
7670 65534 `rotate` 3 = 65527
7671  
7672 65535 `rotate` -3 = 65535
7673 65535 `rotate` -2 = 65535
7674 65535 `rotate` -1 = 65535
7675 65535 `rotate` 0 = 65535
7676 65535 `rotate` 1 = 65535
7677 65535 `rotate` 2 = 65535
7678 65535 `rotate` 3 = 65535
7679  
7680 0 `rotate` -3 = 0
7681 0 `rotate` -2 = 0
7682 0 `rotate` -1 = 0
7683 0 `rotate` 0 = 0
7684 0 `rotate` 1 = 0
7685 0 `rotate` 2 = 0
7686 0 `rotate` 3 = 0
7687  
7688 1 `rotate` -3 = 8192
7689 1 `rotate` -2 = 16384
7690 1 `rotate` -1 = 32768
7691 1 `rotate` 0 = 1
7692 1 `rotate` 1 = 2
7693 1 `rotate` 2 = 4
7694 1 `rotate` 3 = 8
7695  
7696 2 `rotate` -3 = 16384
7697 2 `rotate` -2 = 32768
7698 2 `rotate` -1 = 1
7699 2 `rotate` 0 = 2
7700 2 `rotate` 1 = 4
7701 2 `rotate` 2 = 8
7702 2 `rotate` 3 = 16
7703  
7704 3 `rotate` -3 = 24576
7705 3 `rotate` -2 = 49152
7706 3 `rotate` -1 = 32769
7707 3 `rotate` 0 = 3
7708 3 `rotate` 1 = 6
7709 3 `rotate` 2 = 12
7710 3 `rotate` 3 = 24
7711  
7712 #
7713 bit 0 = 1
7714 bit 1 = 2
7715 bit 2 = 4
7716 bit 3 = 8
7717 #
7718 65533 `setBit` 0 = 65533
7719 65533 `setBit` 1 = 65535
7720 65533 `setBit` 2 = 65533
7721 65533 `setBit` 3 = 65533
7722 65533 `setBit` 32 = 65533
7723  
7724 65534 `setBit` 0 = 65535
7725 65534 `setBit` 1 = 65534
7726 65534 `setBit` 2 = 65534
7727 65534 `setBit` 3 = 65534
7728 65534 `setBit` 32 = 65534
7729  
7730 65535 `setBit` 0 = 65535
7731 65535 `setBit` 1 = 65535
7732 65535 `setBit` 2 = 65535
7733 65535 `setBit` 3 = 65535
7734 65535 `setBit` 32 = 65535
7735  
7736 0 `setBit` 0 = 1
7737 0 `setBit` 1 = 2
7738 0 `setBit` 2 = 4
7739 0 `setBit` 3 = 8
7740 0 `setBit` 32 = 0
7741  
7742 1 `setBit` 0 = 1
7743 1 `setBit` 1 = 3
7744 1 `setBit` 2 = 5
7745 1 `setBit` 3 = 9
7746 1 `setBit` 32 = 1
7747  
7748 2 `setBit` 0 = 3
7749 2 `setBit` 1 = 2
7750 2 `setBit` 2 = 6
7751 2 `setBit` 3 = 10
7752 2 `setBit` 32 = 2
7753  
7754 3 `setBit` 0 = 3
7755 3 `setBit` 1 = 3
7756 3 `setBit` 2 = 7
7757 3 `setBit` 3 = 11
7758 3 `setBit` 32 = 3
7759  
7760 #
7761 65533 `clearBit` 0 = 65532
7762 65533 `clearBit` 1 = 65533
7763 65533 `clearBit` 2 = 65529
7764 65533 `clearBit` 3 = 65525
7765 65533 `clearBit` 32 = 65533
7766  
7767 65534 `clearBit` 0 = 65534
7768 65534 `clearBit` 1 = 65532
7769 65534 `clearBit` 2 = 65530
7770 65534 `clearBit` 3 = 65526
7771 65534 `clearBit` 32 = 65534
7772  
7773 65535 `clearBit` 0 = 65534
7774 65535 `clearBit` 1 = 65533
7775 65535 `clearBit` 2 = 65531
7776 65535 `clearBit` 3 = 65527
7777 65535 `clearBit` 32 = 65535
7778  
7779 0 `clearBit` 0 = 0
7780 0 `clearBit` 1 = 0
7781 0 `clearBit` 2 = 0
7782 0 `clearBit` 3 = 0
7783 0 `clearBit` 32 = 0
7784  
7785 1 `clearBit` 0 = 0
7786 1 `clearBit` 1 = 1
7787 1 `clearBit` 2 = 1
7788 1 `clearBit` 3 = 1
7789 1 `clearBit` 32 = 1
7790  
7791 2 `clearBit` 0 = 2
7792 2 `clearBit` 1 = 0
7793 2 `clearBit` 2 = 2
7794 2 `clearBit` 3 = 2
7795 2 `clearBit` 32 = 2
7796  
7797 3 `clearBit` 0 = 2
7798 3 `clearBit` 1 = 1
7799 3 `clearBit` 2 = 3
7800 3 `clearBit` 3 = 3
7801 3 `clearBit` 32 = 3
7802  
7803 #
7804 65533 `complementBit` 0 = 65532
7805 65533 `complementBit` 1 = 65535
7806 65533 `complementBit` 2 = 65529
7807 65533 `complementBit` 3 = 65525
7808 65533 `complementBit` 32 = 65533
7809  
7810 65534 `complementBit` 0 = 65535
7811 65534 `complementBit` 1 = 65532
7812 65534 `complementBit` 2 = 65530
7813 65534 `complementBit` 3 = 65526
7814 65534 `complementBit` 32 = 65534
7815  
7816 65535 `complementBit` 0 = 65534
7817 65535 `complementBit` 1 = 65533
7818 65535 `complementBit` 2 = 65531
7819 65535 `complementBit` 3 = 65527
7820 65535 `complementBit` 32 = 65535
7821  
7822 0 `complementBit` 0 = 1
7823 0 `complementBit` 1 = 2
7824 0 `complementBit` 2 = 4
7825 0 `complementBit` 3 = 8
7826 0 `complementBit` 32 = 0
7827  
7828 1 `complementBit` 0 = 0
7829 1 `complementBit` 1 = 3
7830 1 `complementBit` 2 = 5
7831 1 `complementBit` 3 = 9
7832 1 `complementBit` 32 = 1
7833  
7834 2 `complementBit` 0 = 3
7835 2 `complementBit` 1 = 0
7836 2 `complementBit` 2 = 6
7837 2 `complementBit` 3 = 10
7838 2 `complementBit` 32 = 2
7839  
7840 3 `complementBit` 0 = 2
7841 3 `complementBit` 1 = 1
7842 3 `complementBit` 2 = 7
7843 3 `complementBit` 3 = 11
7844 3 `complementBit` 32 = 3
7845  
7846 #
7847 65533 `testBit` 0 = True
7848 65533 `testBit` 1 = False
7849 65533 `testBit` 2 = True
7850 65533 `testBit` 3 = True
7851 65533 `testBit` 32 = False
7852  
7853 65534 `testBit` 0 = False
7854 65534 `testBit` 1 = True
7855 65534 `testBit` 2 = True
7856 65534 `testBit` 3 = True
7857 65534 `testBit` 32 = False
7858  
7859 65535 `testBit` 0 = True
7860 65535 `testBit` 1 = True
7861 65535 `testBit` 2 = True
7862 65535 `testBit` 3 = True
7863 65535 `testBit` 32 = False
7864  
7865 0 `testBit` 0 = False
7866 0 `testBit` 1 = False
7867 0 `testBit` 2 = False
7868 0 `testBit` 3 = False
7869 0 `testBit` 32 = False
7870  
7871 1 `testBit` 0 = True
7872 1 `testBit` 1 = False
7873 1 `testBit` 2 = False
7874 1 `testBit` 3 = False
7875 1 `testBit` 32 = False
7876  
7877 2 `testBit` 0 = False
7878 2 `testBit` 1 = True
7879 2 `testBit` 2 = False
7880 2 `testBit` 3 = False
7881 2 `testBit` 32 = False
7882  
7883 3 `testBit` 0 = True
7884 3 `testBit` 1 = True
7885 3 `testBit` 2 = False
7886 3 `testBit` 3 = False
7887 3 `testBit` 32 = False
7888  
7889 #
7890 bitSize 65533 = 16
7891 bitSize 65534 = 16
7892 bitSize 65535 = 16
7893 bitSize 0 = 16
7894 bitSize 1 = 16
7895 bitSize 2 = 16
7896 bitSize 3 = 16
7897 #
7898 isSigned 65533 = False
7899 isSigned 65534 = False
7900 isSigned 65535 = False
7901 isSigned 0 = False
7902 isSigned 1 = False
7903 isSigned 2 = False
7904 isSigned 3 = False
7905 #
7906 --------------------------------
7907 --Testing Word32
7908 --------------------------------
7909 testBounded
7910 (4294967295,0,1)
7911 (4294967294,4294967295,0)
7912 testEnum
7913 [0,1,2,3,4,5,6,7,8,9]
7914 [0,2,4,6,8,10,12,14,16,18]
7915 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
7916 [0,2,4,6,8,10,12,14,16,18,20]
7917 testReadShow
7918 [4294967293,4294967294,4294967295,0,1,2,3]
7919 [4294967293,4294967294,4294967295,0,1,2,3]
7920 testEq
7921 4294967293 == 4294967293 = True
7922 4294967293 == 4294967294 = False
7923 4294967293 == 4294967295 = False
7924 4294967293 == 0 = False
7925 4294967293 == 1 = False
7926 4294967293 == 2 = False
7927 4294967293 == 3 = False
7928  
7929 4294967294 == 4294967293 = False
7930 4294967294 == 4294967294 = True
7931 4294967294 == 4294967295 = False
7932 4294967294 == 0 = False
7933 4294967294 == 1 = False
7934 4294967294 == 2 = False
7935 4294967294 == 3 = False
7936  
7937 4294967295 == 4294967293 = False
7938 4294967295 == 4294967294 = False
7939 4294967295 == 4294967295 = True
7940 4294967295 == 0 = False
7941 4294967295 == 1 = False
7942 4294967295 == 2 = False
7943 4294967295 == 3 = False
7944  
7945 0 == 4294967293 = False
7946 0 == 4294967294 = False
7947 0 == 4294967295 = False
7948 0 == 0 = True
7949 0 == 1 = False
7950 0 == 2 = False
7951 0 == 3 = False
7952  
7953 1 == 4294967293 = False
7954 1 == 4294967294 = False
7955 1 == 4294967295 = False
7956 1 == 0 = False
7957 1 == 1 = True
7958 1 == 2 = False
7959 1 == 3 = False
7960  
7961 2 == 4294967293 = False
7962 2 == 4294967294 = False
7963 2 == 4294967295 = False
7964 2 == 0 = False
7965 2 == 1 = False
7966 2 == 2 = True
7967 2 == 3 = False
7968  
7969 3 == 4294967293 = False
7970 3 == 4294967294 = False
7971 3 == 4294967295 = False
7972 3 == 0 = False
7973 3 == 1 = False
7974 3 == 2 = False
7975 3 == 3 = True
7976  
7977 #
7978 4294967293 /= 4294967293 = False
7979 4294967293 /= 4294967294 = True
7980 4294967293 /= 4294967295 = True
7981 4294967293 /= 0 = True
7982 4294967293 /= 1 = True
7983 4294967293 /= 2 = True
7984 4294967293 /= 3 = True
7985  
7986 4294967294 /= 4294967293 = True
7987 4294967294 /= 4294967294 = False
7988 4294967294 /= 4294967295 = True
7989 4294967294 /= 0 = True
7990 4294967294 /= 1 = True
7991 4294967294 /= 2 = True
7992 4294967294 /= 3 = True
7993  
7994 4294967295 /= 4294967293 = True
7995 4294967295 /= 4294967294 = True
7996 4294967295 /= 4294967295 = False
7997 4294967295 /= 0 = True
7998 4294967295 /= 1 = True
7999 4294967295 /= 2 = True
8000 4294967295 /= 3 = True
8001  
8002 0 /= 4294967293 = True
8003 0 /= 4294967294 = True
8004 0 /= 4294967295 = True
8005 0 /= 0 = False
8006 0 /= 1 = True
8007 0 /= 2 = True
8008 0 /= 3 = True
8009  
8010 1 /= 4294967293 = True
8011 1 /= 4294967294 = True
8012 1 /= 4294967295 = True
8013 1 /= 0 = True
8014 1 /= 1 = False
8015 1 /= 2 = True
8016 1 /= 3 = True
8017  
8018 2 /= 4294967293 = True
8019 2 /= 4294967294 = True
8020 2 /= 4294967295 = True
8021 2 /= 0 = True
8022 2 /= 1 = True
8023 2 /= 2 = False
8024 2 /= 3 = True
8025  
8026 3 /= 4294967293 = True
8027 3 /= 4294967294 = True
8028 3 /= 4294967295 = True
8029 3 /= 0 = True
8030 3 /= 1 = True
8031 3 /= 2 = True
8032 3 /= 3 = False
8033  
8034 #
8035 testOrd
8036 4294967293 <= 4294967293 = True
8037 4294967293 <= 4294967294 = True
8038 4294967293 <= 4294967295 = True
8039 4294967293 <= 0 = False
8040 4294967293 <= 1 = False
8041 4294967293 <= 2 = False
8042 4294967293 <= 3 = False
8043  
8044 4294967294 <= 4294967293 = False
8045 4294967294 <= 4294967294 = True
8046 4294967294 <= 4294967295 = True
8047 4294967294 <= 0 = False
8048 4294967294 <= 1 = False
8049 4294967294 <= 2 = False
8050 4294967294 <= 3 = False
8051  
8052 4294967295 <= 4294967293 = False
8053 4294967295 <= 4294967294 = False
8054 4294967295 <= 4294967295 = True
8055 4294967295 <= 0 = False
8056 4294967295 <= 1 = False
8057 4294967295 <= 2 = False
8058 4294967295 <= 3 = False
8059  
8060 0 <= 4294967293 = True
8061 0 <= 4294967294 = True
8062 0 <= 4294967295 = True
8063 0 <= 0 = True
8064 0 <= 1 = True
8065 0 <= 2 = True
8066 0 <= 3 = True
8067  
8068 1 <= 4294967293 = True
8069 1 <= 4294967294 = True
8070 1 <= 4294967295 = True
8071 1 <= 0 = False
8072 1 <= 1 = True
8073 1 <= 2 = True
8074 1 <= 3 = True
8075  
8076 2 <= 4294967293 = True
8077 2 <= 4294967294 = True
8078 2 <= 4294967295 = True
8079 2 <= 0 = False
8080 2 <= 1 = False
8081 2 <= 2 = True
8082 2 <= 3 = True
8083  
8084 3 <= 4294967293 = True
8085 3 <= 4294967294 = True
8086 3 <= 4294967295 = True
8087 3 <= 0 = False
8088 3 <= 1 = False
8089 3 <= 2 = False
8090 3 <= 3 = True
8091  
8092 #
8093 4294967293 <  4294967293 = False
8094 4294967293 <  4294967294 = True
8095 4294967293 <  4294967295 = True
8096 4294967293 <  0 = False
8097 4294967293 <  1 = False
8098 4294967293 <  2 = False
8099 4294967293 <  3 = False
8100  
8101 4294967294 <  4294967293 = False
8102 4294967294 <  4294967294 = False
8103 4294967294 <  4294967295 = True
8104 4294967294 <  0 = False
8105 4294967294 <  1 = False
8106 4294967294 <  2 = False
8107 4294967294 <  3 = False
8108  
8109 4294967295 <  4294967293 = False
8110 4294967295 <  4294967294 = False
8111 4294967295 <  4294967295 = False
8112 4294967295 <  0 = False
8113 4294967295 <  1 = False
8114 4294967295 <  2 = False
8115 4294967295 <  3 = False
8116  
8117 0 <  4294967293 = True
8118 0 <  4294967294 = True
8119 0 <  4294967295 = True
8120 0 <  0 = False
8121 0 <  1 = True
8122 0 <  2 = True
8123 0 <  3 = True
8124  
8125 1 <  4294967293 = True
8126 1 <  4294967294 = True
8127 1 <  4294967295 = True
8128 1 <  0 = False
8129 1 <  1 = False
8130 1 <  2 = True
8131 1 <  3 = True
8132  
8133 2 <  4294967293 = True
8134 2 <  4294967294 = True
8135 2 <  4294967295 = True
8136 2 <  0 = False
8137 2 <  1 = False
8138 2 <  2 = False
8139 2 <  3 = True
8140  
8141 3 <  4294967293 = True
8142 3 <  4294967294 = True
8143 3 <  4294967295 = True
8144 3 <  0 = False
8145 3 <  1 = False
8146 3 <  2 = False
8147 3 <  3 = False
8148  
8149 #
8150 4294967293 >  4294967293 = False
8151 4294967293 >  4294967294 = False
8152 4294967293 >  4294967295 = False
8153 4294967293 >  0 = True
8154 4294967293 >  1 = True
8155 4294967293 >  2 = True
8156 4294967293 >  3 = True
8157  
8158 4294967294 >  4294967293 = True
8159 4294967294 >  4294967294 = False
8160 4294967294 >  4294967295 = False
8161 4294967294 >  0 = True
8162 4294967294 >  1 = True
8163 4294967294 >  2 = True
8164 4294967294 >  3 = True
8165  
8166 4294967295 >  4294967293 = True
8167 4294967295 >  4294967294 = True
8168 4294967295 >  4294967295 = False
8169 4294967295 >  0 = True
8170 4294967295 >  1 = True
8171 4294967295 >  2 = True
8172 4294967295 >  3 = True
8173  
8174 0 >  4294967293 = False
8175 0 >  4294967294 = False
8176 0 >  4294967295 = False
8177 0 >  0 = False
8178 0 >  1 = False
8179 0 >  2 = False
8180 0 >  3 = False
8181  
8182 1 >  4294967293 = False
8183 1 >  4294967294 = False
8184 1 >  4294967295 = False
8185 1 >  0 = True
8186 1 >  1 = False
8187 1 >  2 = False
8188 1 >  3 = False
8189  
8190 2 >  4294967293 = False
8191 2 >  4294967294 = False
8192 2 >  4294967295 = False
8193 2 >  0 = True
8194 2 >  1 = True
8195 2 >  2 = False
8196 2 >  3 = False
8197  
8198 3 >  4294967293 = False
8199 3 >  4294967294 = False
8200 3 >  4294967295 = False
8201 3 >  0 = True
8202 3 >  1 = True
8203 3 >  2 = True
8204 3 >  3 = False
8205  
8206 #
8207 4294967293 >= 4294967293 = True
8208 4294967293 >= 4294967294 = False
8209 4294967293 >= 4294967295 = False
8210 4294967293 >= 0 = True
8211 4294967293 >= 1 = True
8212 4294967293 >= 2 = True
8213 4294967293 >= 3 = True
8214  
8215 4294967294 >= 4294967293 = True
8216 4294967294 >= 4294967294 = True
8217 4294967294 >= 4294967295 = False
8218 4294967294 >= 0 = True
8219 4294967294 >= 1 = True
8220 4294967294 >= 2 = True
8221 4294967294 >= 3 = True
8222  
8223 4294967295 >= 4294967293 = True
8224 4294967295 >= 4294967294 = True
8225 4294967295 >= 4294967295 = True
8226 4294967295 >= 0 = True
8227 4294967295 >= 1 = True
8228 4294967295 >= 2 = True
8229 4294967295 >= 3 = True
8230  
8231 0 >= 4294967293 = False
8232 0 >= 4294967294 = False
8233 0 >= 4294967295 = False
8234 0 >= 0 = True
8235 0 >= 1 = False
8236 0 >= 2 = False
8237 0 >= 3 = False
8238  
8239 1 >= 4294967293 = False
8240 1 >= 4294967294 = False
8241 1 >= 4294967295 = False
8242 1 >= 0 = True
8243 1 >= 1 = True
8244 1 >= 2 = False
8245 1 >= 3 = False
8246  
8247 2 >= 4294967293 = False
8248 2 >= 4294967294 = False
8249 2 >= 4294967295 = False
8250 2 >= 0 = True
8251 2 >= 1 = True
8252 2 >= 2 = True
8253 2 >= 3 = False
8254  
8255 3 >= 4294967293 = False
8256 3 >= 4294967294 = False
8257 3 >= 4294967295 = False
8258 3 >= 0 = True
8259 3 >= 1 = True
8260 3 >= 2 = True
8261 3 >= 3 = True
8262  
8263 #
8264 4294967293 `compare` 4294967293 = EQ
8265 4294967293 `compare` 4294967294 = LT
8266 4294967293 `compare` 4294967295 = LT
8267 4294967293 `compare` 0 = GT
8268 4294967293 `compare` 1 = GT
8269 4294967293 `compare` 2 = GT
8270 4294967293 `compare` 3 = GT
8271  
8272 4294967294 `compare` 4294967293 = GT
8273 4294967294 `compare` 4294967294 = EQ
8274 4294967294 `compare` 4294967295 = LT
8275 4294967294 `compare` 0 = GT
8276 4294967294 `compare` 1 = GT
8277 4294967294 `compare` 2 = GT
8278 4294967294 `compare` 3 = GT
8279  
8280 4294967295 `compare` 4294967293 = GT
8281 4294967295 `compare` 4294967294 = GT
8282 4294967295 `compare` 4294967295 = EQ
8283 4294967295 `compare` 0 = GT
8284 4294967295 `compare` 1 = GT
8285 4294967295 `compare` 2 = GT
8286 4294967295 `compare` 3 = GT
8287  
8288 0 `compare` 4294967293 = LT
8289 0 `compare` 4294967294 = LT
8290 0 `compare` 4294967295 = LT
8291 0 `compare` 0 = EQ
8292 0 `compare` 1 = LT
8293 0 `compare` 2 = LT
8294 0 `compare` 3 = LT
8295  
8296 1 `compare` 4294967293 = LT
8297 1 `compare` 4294967294 = LT
8298 1 `compare` 4294967295 = LT
8299 1 `compare` 0 = GT
8300 1 `compare` 1 = EQ
8301 1 `compare` 2 = LT
8302 1 `compare` 3 = LT
8303  
8304 2 `compare` 4294967293 = LT
8305 2 `compare` 4294967294 = LT
8306 2 `compare` 4294967295 = LT
8307 2 `compare` 0 = GT
8308 2 `compare` 1 = GT
8309 2 `compare` 2 = EQ
8310 2 `compare` 3 = LT
8311  
8312 3 `compare` 4294967293 = LT
8313 3 `compare` 4294967294 = LT
8314 3 `compare` 4294967295 = LT
8315 3 `compare` 0 = GT
8316 3 `compare` 1 = GT
8317 3 `compare` 2 = GT
8318 3 `compare` 3 = EQ
8319  
8320 #
8321 testNum
8322 4294967293 + 4294967293 = 4294967290
8323 4294967293 + 4294967294 = 4294967291
8324 4294967293 + 4294967295 = 4294967292
8325 4294967293 + 0 = 4294967293
8326 4294967293 + 1 = 4294967294
8327 4294967293 + 2 = 4294967295
8328 4294967293 + 3 = 0
8329  
8330 4294967294 + 4294967293 = 4294967291
8331 4294967294 + 4294967294 = 4294967292
8332 4294967294 + 4294967295 = 4294967293
8333 4294967294 + 0 = 4294967294
8334 4294967294 + 1 = 4294967295
8335 4294967294 + 2 = 0
8336 4294967294 + 3 = 1
8337  
8338 4294967295 + 4294967293 = 4294967292
8339 4294967295 + 4294967294 = 4294967293
8340 4294967295 + 4294967295 = 4294967294
8341 4294967295 + 0 = 4294967295
8342 4294967295 + 1 = 0
8343 4294967295 + 2 = 1
8344 4294967295 + 3 = 2
8345  
8346 0 + 4294967293 = 4294967293
8347 0 + 4294967294 = 4294967294
8348 0 + 4294967295 = 4294967295
8349 0 + 0 = 0
8350 0 + 1 = 1
8351 0 + 2 = 2
8352 0 + 3 = 3
8353  
8354 1 + 4294967293 = 4294967294
8355 1 + 4294967294 = 4294967295
8356 1 + 4294967295 = 0
8357 1 + 0 = 1
8358 1 + 1 = 2
8359 1 + 2 = 3
8360 1 + 3 = 4
8361  
8362 2 + 4294967293 = 4294967295
8363 2 + 4294967294 = 0
8364 2 + 4294967295 = 1
8365 2 + 0 = 2
8366 2 + 1 = 3
8367 2 + 2 = 4
8368 2 + 3 = 5
8369  
8370 3 + 4294967293 = 0
8371 3 + 4294967294 = 1
8372 3 + 4294967295 = 2
8373 3 + 0 = 3
8374 3 + 1 = 4
8375 3 + 2 = 5
8376 3 + 3 = 6
8377  
8378 #
8379 4294967293 - 4294967293 = 0
8380 4294967293 - 4294967294 = 4294967295
8381 4294967293 - 4294967295 = 4294967294
8382 4294967293 - 0 = 4294967293
8383 4294967293 - 1 = 4294967292
8384 4294967293 - 2 = 4294967291
8385 4294967293 - 3 = 4294967290
8386  
8387 4294967294 - 4294967293 = 1
8388 4294967294 - 4294967294 = 0
8389 4294967294 - 4294967295 = 4294967295
8390 4294967294 - 0 = 4294967294
8391 4294967294 - 1 = 4294967293
8392 4294967294 - 2 = 4294967292
8393 4294967294 - 3 = 4294967291
8394  
8395 4294967295 - 4294967293 = 2
8396 4294967295 - 4294967294 = 1
8397 4294967295 - 4294967295 = 0
8398 4294967295 - 0 = 4294967295
8399 4294967295 - 1 = 4294967294
8400 4294967295 - 2 = 4294967293
8401 4294967295 - 3 = 4294967292
8402  
8403 0 - 4294967293 = 3
8404 0 - 4294967294 = 2
8405 0 - 4294967295 = 1
8406 0 - 0 = 0
8407 0 - 1 = 4294967295
8408 0 - 2 = 4294967294
8409 0 - 3 = 4294967293
8410  
8411 1 - 4294967293 = 4
8412 1 - 4294967294 = 3
8413 1 - 4294967295 = 2
8414 1 - 0 = 1
8415 1 - 1 = 0
8416 1 - 2 = 4294967295
8417 1 - 3 = 4294967294
8418  
8419 2 - 4294967293 = 5
8420 2 - 4294967294 = 4
8421 2 - 4294967295 = 3
8422 2 - 0 = 2
8423 2 - 1 = 1
8424 2 - 2 = 0
8425 2 - 3 = 4294967295
8426  
8427 3 - 4294967293 = 6
8428 3 - 4294967294 = 5
8429 3 - 4294967295 = 4
8430 3 - 0 = 3
8431 3 - 1 = 2
8432 3 - 2 = 1
8433 3 - 3 = 0
8434  
8435 #
8436 4294967293 * 4294967293 = 9
8437 4294967293 * 4294967294 = 6
8438 4294967293 * 4294967295 = 3
8439 4294967293 * 0 = 0
8440 4294967293 * 1 = 4294967293
8441 4294967293 * 2 = 4294967290
8442 4294967293 * 3 = 4294967287
8443  
8444 4294967294 * 4294967293 = 6
8445 4294967294 * 4294967294 = 4
8446 4294967294 * 4294967295 = 2
8447 4294967294 * 0 = 0
8448 4294967294 * 1 = 4294967294
8449 4294967294 * 2 = 4294967292
8450 4294967294 * 3 = 4294967290
8451  
8452 4294967295 * 4294967293 = 3
8453 4294967295 * 4294967294 = 2
8454 4294967295 * 4294967295 = 1
8455 4294967295 * 0 = 0
8456 4294967295 * 1 = 4294967295
8457 4294967295 * 2 = 4294967294
8458 4294967295 * 3 = 4294967293
8459  
8460 0 * 4294967293 = 0
8461 0 * 4294967294 = 0
8462 0 * 4294967295 = 0
8463 0 * 0 = 0
8464 0 * 1 = 0
8465 0 * 2 = 0
8466 0 * 3 = 0
8467  
8468 1 * 4294967293 = 4294967293
8469 1 * 4294967294 = 4294967294
8470 1 * 4294967295 = 4294967295
8471 1 * 0 = 0
8472 1 * 1 = 1
8473 1 * 2 = 2
8474 1 * 3 = 3
8475  
8476 2 * 4294967293 = 4294967290
8477 2 * 4294967294 = 4294967292
8478 2 * 4294967295 = 4294967294
8479 2 * 0 = 0
8480 2 * 1 = 2
8481 2 * 2 = 4
8482 2 * 3 = 6
8483  
8484 3 * 4294967293 = 4294967287
8485 3 * 4294967294 = 4294967290
8486 3 * 4294967295 = 4294967293
8487 3 * 0 = 0
8488 3 * 1 = 3
8489 3 * 2 = 6
8490 3 * 3 = 9
8491  
8492 #
8493 negate 4294967293 = 3
8494 negate 4294967294 = 2
8495 negate 4294967295 = 1
8496 negate 0 = 0
8497 negate 1 = 4294967295
8498 negate 2 = 4294967294
8499 negate 3 = 4294967293
8500 #
8501 testReal
8502 toRational 4294967293 = 4294967293 % 1
8503 toRational 4294967294 = 4294967294 % 1
8504 toRational 4294967295 = 4294967295 % 1
8505 toRational 0 = 0 % 1
8506 toRational 1 = 1 % 1
8507 toRational 2 = 2 % 1
8508 toRational 3 = 3 % 1
8509 #
8510 testIntegral
8511 4294967293 `divMod`  4294967293 = (1,0)
8512 4294967293 `divMod`  4294967294 = (0,4294967293)
8513 4294967293 `divMod`  4294967295 = (0,4294967293)
8514 4294967293 `divMod`  1 = (4294967293,0)
8515 4294967293 `divMod`  2 = (2147483646,1)
8516 4294967293 `divMod`  3 = (1431655764,1)
8517  
8518 4294967294 `divMod`  4294967293 = (1,1)
8519 4294967294 `divMod`  4294967294 = (1,0)
8520 4294967294 `divMod`  4294967295 = (0,4294967294)
8521 4294967294 `divMod`  1 = (4294967294,0)
8522 4294967294 `divMod`  2 = (2147483647,0)
8523 4294967294 `divMod`  3 = (1431655764,2)
8524  
8525 4294967295 `divMod`  4294967293 = (1,2)
8526 4294967295 `divMod`  4294967294 = (1,1)
8527 4294967295 `divMod`  4294967295 = (1,0)
8528 4294967295 `divMod`  1 = (4294967295,0)
8529 4294967295 `divMod`  2 = (2147483647,1)
8530 4294967295 `divMod`  3 = (1431655765,0)
8531  
8532 0 `divMod`  4294967293 = (0,0)
8533 0 `divMod`  4294967294 = (0,0)
8534 0 `divMod`  4294967295 = (0,0)
8535 0 `divMod`  1 = (0,0)
8536 0 `divMod`  2 = (0,0)
8537 0 `divMod`  3 = (0,0)
8538  
8539 1 `divMod`  4294967293 = (0,1)
8540 1 `divMod`  4294967294 = (0,1)
8541 1 `divMod`  4294967295 = (0,1)
8542 1 `divMod`  1 = (1,0)
8543 1 `divMod`  2 = (0,1)
8544 1 `divMod`  3 = (0,1)
8545  
8546 2 `divMod`  4294967293 = (0,2)
8547 2 `divMod`  4294967294 = (0,2)
8548 2 `divMod`  4294967295 = (0,2)
8549 2 `divMod`  1 = (2,0)
8550 2 `divMod`  2 = (1,0)
8551 2 `divMod`  3 = (0,2)
8552  
8553 3 `divMod`  4294967293 = (0,3)
8554 3 `divMod`  4294967294 = (0,3)
8555 3 `divMod`  4294967295 = (0,3)
8556 3 `divMod`  1 = (3,0)
8557 3 `divMod`  2 = (1,1)
8558 3 `divMod`  3 = (1,0)
8559  
8560 #
8561 4294967293 `div`     4294967293 = 1
8562 4294967293 `div`     4294967294 = 0
8563 4294967293 `div`     4294967295 = 0
8564 4294967293 `div`     1 = 4294967293
8565 4294967293 `div`     2 = 2147483646
8566 4294967293 `div`     3 = 1431655764
8567  
8568 4294967294 `div`     4294967293 = 1
8569 4294967294 `div`     4294967294 = 1
8570 4294967294 `div`     4294967295 = 0
8571 4294967294 `div`     1 = 4294967294
8572 4294967294 `div`     2 = 2147483647
8573 4294967294 `div`     3 = 1431655764
8574  
8575 4294967295 `div`     4294967293 = 1
8576 4294967295 `div`     4294967294 = 1
8577 4294967295 `div`     4294967295 = 1
8578 4294967295 `div`     1 = 4294967295
8579 4294967295 `div`     2 = 2147483647
8580 4294967295 `div`     3 = 1431655765
8581  
8582 0 `div`     4294967293 = 0
8583 0 `div`     4294967294 = 0
8584 0 `div`     4294967295 = 0
8585 0 `div`     1 = 0
8586 0 `div`     2 = 0
8587 0 `div`     3 = 0
8588  
8589 1 `div`     4294967293 = 0
8590 1 `div`     4294967294 = 0
8591 1 `div`     4294967295 = 0
8592 1 `div`     1 = 1
8593 1 `div`     2 = 0
8594 1 `div`     3 = 0
8595  
8596 2 `div`     4294967293 = 0
8597 2 `div`     4294967294 = 0
8598 2 `div`     4294967295 = 0
8599 2 `div`     1 = 2
8600 2 `div`     2 = 1
8601 2 `div`     3 = 0
8602  
8603 3 `div`     4294967293 = 0
8604 3 `div`     4294967294 = 0
8605 3 `div`     4294967295 = 0
8606 3 `div`     1 = 3
8607 3 `div`     2 = 1
8608 3 `div`     3 = 1
8609  
8610 #
8611 4294967293 `mod`     4294967293 = 0
8612 4294967293 `mod`     4294967294 = 4294967293
8613 4294967293 `mod`     4294967295 = 4294967293
8614 4294967293 `mod`     1 = 0
8615 4294967293 `mod`     2 = 1
8616 4294967293 `mod`     3 = 1
8617  
8618 4294967294 `mod`     4294967293 = 1
8619 4294967294 `mod`     4294967294 = 0
8620 4294967294 `mod`     4294967295 = 4294967294
8621 4294967294 `mod`     1 = 0
8622 4294967294 `mod`     2 = 0
8623 4294967294 `mod`     3 = 2
8624  
8625 4294967295 `mod`     4294967293 = 2
8626 4294967295 `mod`     4294967294 = 1
8627 4294967295 `mod`     4294967295 = 0
8628 4294967295 `mod`     1 = 0
8629 4294967295 `mod`     2 = 1
8630 4294967295 `mod`     3 = 0
8631  
8632 0 `mod`     4294967293 = 0
8633 0 `mod`     4294967294 = 0
8634 0 `mod`     4294967295 = 0
8635 0 `mod`     1 = 0
8636 0 `mod`     2 = 0
8637 0 `mod`     3 = 0
8638  
8639 1 `mod`     4294967293 = 1
8640 1 `mod`     4294967294 = 1
8641 1 `mod`     4294967295 = 1
8642 1 `mod`     1 = 0
8643 1 `mod`     2 = 1
8644 1 `mod`     3 = 1
8645  
8646 2 `mod`     4294967293 = 2
8647 2 `mod`     4294967294 = 2
8648 2 `mod`     4294967295 = 2
8649 2 `mod`     1 = 0
8650 2 `mod`     2 = 0
8651 2 `mod`     3 = 2
8652  
8653 3 `mod`     4294967293 = 3
8654 3 `mod`     4294967294 = 3
8655 3 `mod`     4294967295 = 3
8656 3 `mod`     1 = 0
8657 3 `mod`     2 = 1
8658 3 `mod`     3 = 0
8659  
8660 #
8661 4294967293 `quotRem` 4294967293 = (1,0)
8662 4294967293 `quotRem` 4294967294 = (0,4294967293)
8663 4294967293 `quotRem` 4294967295 = (0,4294967293)
8664 4294967293 `quotRem` 1 = (4294967293,0)
8665 4294967293 `quotRem` 2 = (2147483646,1)
8666 4294967293 `quotRem` 3 = (1431655764,1)
8667  
8668 4294967294 `quotRem` 4294967293 = (1,1)
8669 4294967294 `quotRem` 4294967294 = (1,0)
8670 4294967294 `quotRem` 4294967295 = (0,4294967294)
8671 4294967294 `quotRem` 1 = (4294967294,0)
8672 4294967294 `quotRem` 2 = (2147483647,0)
8673 4294967294 `quotRem` 3 = (1431655764,2)
8674  
8675 4294967295 `quotRem` 4294967293 = (1,2)
8676 4294967295 `quotRem` 4294967294 = (1,1)
8677 4294967295 `quotRem` 4294967295 = (1,0)
8678 4294967295 `quotRem` 1 = (4294967295,0)
8679 4294967295 `quotRem` 2 = (2147483647,1)
8680 4294967295 `quotRem` 3 = (1431655765,0)
8681  
8682 0 `quotRem` 4294967293 = (0,0)
8683 0 `quotRem` 4294967294 = (0,0)
8684 0 `quotRem` 4294967295 = (0,0)
8685 0 `quotRem` 1 = (0,0)
8686 0 `quotRem` 2 = (0,0)
8687 0 `quotRem` 3 = (0,0)
8688  
8689 1 `quotRem` 4294967293 = (0,1)
8690 1 `quotRem` 4294967294 = (0,1)
8691 1 `quotRem` 4294967295 = (0,1)
8692 1 `quotRem` 1 = (1,0)
8693 1 `quotRem` 2 = (0,1)
8694 1 `quotRem` 3 = (0,1)
8695  
8696 2 `quotRem` 4294967293 = (0,2)
8697 2 `quotRem` 4294967294 = (0,2)
8698 2 `quotRem` 4294967295 = (0,2)
8699 2 `quotRem` 1 = (2,0)
8700 2 `quotRem` 2 = (1,0)
8701 2 `quotRem` 3 = (0,2)
8702  
8703 3 `quotRem` 4294967293 = (0,3)
8704 3 `quotRem` 4294967294 = (0,3)
8705 3 `quotRem` 4294967295 = (0,3)
8706 3 `quotRem` 1 = (3,0)
8707 3 `quotRem` 2 = (1,1)
8708 3 `quotRem` 3 = (1,0)
8709  
8710 #
8711 4294967293 `quot`    4294967293 = 1
8712 4294967293 `quot`    4294967294 = 0
8713 4294967293 `quot`    4294967295 = 0
8714 4294967293 `quot`    1 = 4294967293
8715 4294967293 `quot`    2 = 2147483646
8716 4294967293 `quot`    3 = 1431655764
8717  
8718 4294967294 `quot`    4294967293 = 1
8719 4294967294 `quot`    4294967294 = 1
8720 4294967294 `quot`    4294967295 = 0
8721 4294967294 `quot`    1 = 4294967294
8722 4294967294 `quot`    2 = 2147483647
8723 4294967294 `quot`    3 = 1431655764
8724  
8725 4294967295 `quot`    4294967293 = 1
8726 4294967295 `quot`    4294967294 = 1
8727 4294967295 `quot`    4294967295 = 1
8728 4294967295 `quot`    1 = 4294967295
8729 4294967295 `quot`    2 = 2147483647
8730 4294967295 `quot`    3 = 1431655765
8731  
8732 0 `quot`    4294967293 = 0
8733 0 `quot`    4294967294 = 0
8734 0 `quot`    4294967295 = 0
8735 0 `quot`    1 = 0
8736 0 `quot`    2 = 0
8737 0 `quot`    3 = 0
8738  
8739 1 `quot`    4294967293 = 0
8740 1 `quot`    4294967294 = 0
8741 1 `quot`    4294967295 = 0
8742 1 `quot`    1 = 1
8743 1 `quot`    2 = 0
8744 1 `quot`    3 = 0
8745  
8746 2 `quot`    4294967293 = 0
8747 2 `quot`    4294967294 = 0
8748 2 `quot`    4294967295 = 0
8749 2 `quot`    1 = 2
8750 2 `quot`    2 = 1
8751 2 `quot`    3 = 0
8752  
8753 3 `quot`    4294967293 = 0
8754 3 `quot`    4294967294 = 0
8755 3 `quot`    4294967295 = 0
8756 3 `quot`    1 = 3
8757 3 `quot`    2 = 1
8758 3 `quot`    3 = 1
8759  
8760 #
8761 4294967293 `rem`     4294967293 = 0
8762 4294967293 `rem`     4294967294 = 4294967293
8763 4294967293 `rem`     4294967295 = 4294967293
8764 4294967293 `rem`     1 = 0
8765 4294967293 `rem`     2 = 1
8766 4294967293 `rem`     3 = 1
8767  
8768 4294967294 `rem`     4294967293 = 1
8769 4294967294 `rem`     4294967294 = 0
8770 4294967294 `rem`     4294967295 = 4294967294
8771 4294967294 `rem`     1 = 0
8772 4294967294 `rem`     2 = 0
8773 4294967294 `rem`     3 = 2
8774  
8775 4294967295 `rem`     4294967293 = 2
8776 4294967295 `rem`     4294967294 = 1
8777 4294967295 `rem`     4294967295 = 0
8778 4294967295 `rem`     1 = 0
8779 4294967295 `rem`     2 = 1
8780 4294967295 `rem`     3 = 0
8781  
8782 0 `rem`     4294967293 = 0
8783 0 `rem`     4294967294 = 0
8784 0 `rem`     4294967295 = 0
8785 0 `rem`     1 = 0
8786 0 `rem`     2 = 0
8787 0 `rem`     3 = 0
8788  
8789 1 `rem`     4294967293 = 1
8790 1 `rem`     4294967294 = 1
8791 1 `rem`     4294967295 = 1
8792 1 `rem`     1 = 0
8793 1 `rem`     2 = 1
8794 1 `rem`     3 = 1
8795  
8796 2 `rem`     4294967293 = 2
8797 2 `rem`     4294967294 = 2
8798 2 `rem`     4294967295 = 2
8799 2 `rem`     1 = 0
8800 2 `rem`     2 = 0
8801 2 `rem`     3 = 2
8802  
8803 3 `rem`     4294967293 = 3
8804 3 `rem`     4294967294 = 3
8805 3 `rem`     4294967295 = 3
8806 3 `rem`     1 = 0
8807 3 `rem`     2 = 1
8808 3 `rem`     3 = 0
8809  
8810 #
8811 testBits
8812 4294967293 .&.   4294967293 = 4294967293
8813 4294967293 .&.   4294967294 = 4294967292
8814 4294967293 .&.   4294967295 = 4294967293
8815 4294967293 .&.   1 = 1
8816 4294967293 .&.   2 = 0
8817 4294967293 .&.   3 = 1
8818  
8819 4294967294 .&.   4294967293 = 4294967292
8820 4294967294 .&.   4294967294 = 4294967294
8821 4294967294 .&.   4294967295 = 4294967294
8822 4294967294 .&.   1 = 0
8823 4294967294 .&.   2 = 2
8824 4294967294 .&.   3 = 2
8825  
8826 4294967295 .&.   4294967293 = 4294967293
8827 4294967295 .&.   4294967294 = 4294967294
8828 4294967295 .&.   4294967295 = 4294967295
8829 4294967295 .&.   1 = 1
8830 4294967295 .&.   2 = 2
8831 4294967295 .&.   3 = 3
8832  
8833 0 .&.   4294967293 = 0
8834 0 .&.   4294967294 = 0
8835 0 .&.   4294967295 = 0
8836 0 .&.   1 = 0
8837 0 .&.   2 = 0
8838 0 .&.   3 = 0
8839  
8840 1 .&.   4294967293 = 1
8841 1 .&.   4294967294 = 0
8842 1 .&.   4294967295 = 1
8843 1 .&.   1 = 1
8844 1 .&.   2 = 0
8845 1 .&.   3 = 1
8846  
8847 2 .&.   4294967293 = 0
8848 2 .&.   4294967294 = 2
8849 2 .&.   4294967295 = 2
8850 2 .&.   1 = 0
8851 2 .&.   2 = 2
8852 2 .&.   3 = 2
8853  
8854 3 .&.   4294967293 = 1
8855 3 .&.   4294967294 = 2
8856 3 .&.   4294967295 = 3
8857 3 .&.   1 = 1
8858 3 .&.   2 = 2
8859 3 .&.   3 = 3
8860  
8861 #
8862 4294967293 .|.   4294967293 = 4294967293
8863 4294967293 .|.   4294967294 = 4294967295
8864 4294967293 .|.   4294967295 = 4294967295
8865 4294967293 .|.   1 = 4294967293
8866 4294967293 .|.   2 = 4294967295
8867 4294967293 .|.   3 = 4294967295
8868  
8869 4294967294 .|.   4294967293 = 4294967295
8870 4294967294 .|.   4294967294 = 4294967294
8871 4294967294 .|.   4294967295 = 4294967295
8872 4294967294 .|.   1 = 4294967295
8873 4294967294 .|.   2 = 4294967294
8874 4294967294 .|.   3 = 4294967295
8875  
8876 4294967295 .|.   4294967293 = 4294967295
8877 4294967295 .|.   4294967294 = 4294967295
8878 4294967295 .|.   4294967295 = 4294967295
8879 4294967295 .|.   1 = 4294967295
8880 4294967295 .|.   2 = 4294967295
8881 4294967295 .|.   3 = 4294967295
8882  
8883 0 .|.   4294967293 = 4294967293
8884 0 .|.   4294967294 = 4294967294
8885 0 .|.   4294967295 = 4294967295
8886 0 .|.   1 = 1
8887 0 .|.   2 = 2
8888 0 .|.   3 = 3
8889  
8890 1 .|.   4294967293 = 4294967293
8891 1 .|.   4294967294 = 4294967295
8892 1 .|.   4294967295 = 4294967295
8893 1 .|.   1 = 1
8894 1 .|.   2 = 3
8895 1 .|.   3 = 3
8896  
8897 2 .|.   4294967293 = 4294967295
8898 2 .|.   4294967294 = 4294967294
8899 2 .|.   4294967295 = 4294967295
8900 2 .|.   1 = 3
8901 2 .|.   2 = 2
8902 2 .|.   3 = 3
8903  
8904 3 .|.   4294967293 = 4294967295
8905 3 .|.   4294967294 = 4294967295
8906 3 .|.   4294967295 = 4294967295
8907 3 .|.   1 = 3
8908 3 .|.   2 = 3
8909 3 .|.   3 = 3
8910  
8911 #
8912 4294967293 `xor` 4294967293 = 0
8913 4294967293 `xor` 4294967294 = 3
8914 4294967293 `xor` 4294967295 = 2
8915 4294967293 `xor` 1 = 4294967292
8916 4294967293 `xor` 2 = 4294967295
8917 4294967293 `xor` 3 = 4294967294
8918  
8919 4294967294 `xor` 4294967293 = 3
8920 4294967294 `xor` 4294967294 = 0
8921 4294967294 `xor` 4294967295 = 1
8922 4294967294 `xor` 1 = 4294967295
8923 4294967294 `xor` 2 = 4294967292
8924 4294967294 `xor` 3 = 4294967293
8925  
8926 4294967295 `xor` 4294967293 = 2
8927 4294967295 `xor` 4294967294 = 1
8928 4294967295 `xor` 4294967295 = 0
8929 4294967295 `xor` 1 = 4294967294
8930 4294967295 `xor` 2 = 4294967293
8931 4294967295 `xor` 3 = 4294967292
8932  
8933 0 `xor` 4294967293 = 4294967293
8934 0 `xor` 4294967294 = 4294967294
8935 0 `xor` 4294967295 = 4294967295
8936 0 `xor` 1 = 1
8937 0 `xor` 2 = 2
8938 0 `xor` 3 = 3
8939  
8940 1 `xor` 4294967293 = 4294967292
8941 1 `xor` 4294967294 = 4294967295
8942 1 `xor` 4294967295 = 4294967294
8943 1 `xor` 1 = 0
8944 1 `xor` 2 = 3
8945 1 `xor` 3 = 2
8946  
8947 2 `xor` 4294967293 = 4294967295
8948 2 `xor` 4294967294 = 4294967292
8949 2 `xor` 4294967295 = 4294967293
8950 2 `xor` 1 = 3
8951 2 `xor` 2 = 0
8952 2 `xor` 3 = 1
8953  
8954 3 `xor` 4294967293 = 4294967294
8955 3 `xor` 4294967294 = 4294967293
8956 3 `xor` 4294967295 = 4294967292
8957 3 `xor` 1 = 2
8958 3 `xor` 2 = 1
8959 3 `xor` 3 = 0
8960  
8961 #
8962 complement 4294967293 = 2
8963 complement 4294967294 = 1
8964 complement 4294967295 = 0
8965 complement 0 = 4294967295
8966 complement 1 = 4294967294
8967 complement 2 = 4294967293
8968 complement 3 = 4294967292
8969 #
8970 4294967293 `shiftL` 0 = 4294967293
8971 4294967293 `shiftL` 1 = 4294967290
8972 4294967293 `shiftL` 2 = 4294967284
8973 4294967293 `shiftL` 3 = 4294967272
8974 4294967293 `shiftL` 32 = 0
8975  
8976 4294967294 `shiftL` 0 = 4294967294
8977 4294967294 `shiftL` 1 = 4294967292
8978 4294967294 `shiftL` 2 = 4294967288
8979 4294967294 `shiftL` 3 = 4294967280
8980 4294967294 `shiftL` 32 = 0
8981  
8982 4294967295 `shiftL` 0 = 4294967295
8983 4294967295 `shiftL` 1 = 4294967294
8984 4294967295 `shiftL` 2 = 4294967292
8985 4294967295 `shiftL` 3 = 4294967288
8986 4294967295 `shiftL` 32 = 0
8987  
8988 0 `shiftL` 0 = 0
8989 0 `shiftL` 1 = 0
8990 0 `shiftL` 2 = 0
8991 0 `shiftL` 3 = 0
8992 0 `shiftL` 32 = 0
8993  
8994 1 `shiftL` 0 = 1
8995 1 `shiftL` 1 = 2
8996 1 `shiftL` 2 = 4
8997 1 `shiftL` 3 = 8
8998 1 `shiftL` 32 = 0
8999  
9000 2 `shiftL` 0 = 2
9001 2 `shiftL` 1 = 4
9002 2 `shiftL` 2 = 8
9003 2 `shiftL` 3 = 16
9004 2 `shiftL` 32 = 0
9005  
9006 3 `shiftL` 0 = 3
9007 3 `shiftL` 1 = 6
9008 3 `shiftL` 2 = 12
9009 3 `shiftL` 3 = 24
9010 3 `shiftL` 32 = 0
9011  
9012 #
9013 4294967293 `shiftR` 0 = 4294967293
9014 4294967293 `shiftR` 1 = 2147483646
9015 4294967293 `shiftR` 2 = 1073741823
9016 4294967293 `shiftR` 3 = 536870911
9017 4294967293 `shiftR` 32 = 0
9018  
9019 4294967294 `shiftR` 0 = 4294967294
9020 4294967294 `shiftR` 1 = 2147483647
9021 4294967294 `shiftR` 2 = 1073741823
9022 4294967294 `shiftR` 3 = 536870911
9023 4294967294 `shiftR` 32 = 0
9024  
9025 4294967295 `shiftR` 0 = 4294967295
9026 4294967295 `shiftR` 1 = 2147483647
9027 4294967295 `shiftR` 2 = 1073741823
9028 4294967295 `shiftR` 3 = 536870911
9029 4294967295 `shiftR` 32 = 0
9030  
9031 0 `shiftR` 0 = 0
9032 0 `shiftR` 1 = 0
9033 0 `shiftR` 2 = 0
9034 0 `shiftR` 3 = 0
9035 0 `shiftR` 32 = 0
9036  
9037 1 `shiftR` 0 = 1
9038 1 `shiftR` 1 = 0
9039 1 `shiftR` 2 = 0
9040 1 `shiftR` 3 = 0
9041 1 `shiftR` 32 = 0
9042  
9043 2 `shiftR` 0 = 2
9044 2 `shiftR` 1 = 1
9045 2 `shiftR` 2 = 0
9046 2 `shiftR` 3 = 0
9047 2 `shiftR` 32 = 0
9048  
9049 3 `shiftR` 0 = 3
9050 3 `shiftR` 1 = 1
9051 3 `shiftR` 2 = 0
9052 3 `shiftR` 3 = 0
9053 3 `shiftR` 32 = 0
9054  
9055 #
9056 4294967293 `rotate` -3 = 3221225471
9057 4294967293 `rotate` -2 = 2147483647
9058 4294967293 `rotate` -1 = 4294967294
9059 4294967293 `rotate` 0 = 4294967293
9060 4294967293 `rotate` 1 = 4294967291
9061 4294967293 `rotate` 2 = 4294967287
9062 4294967293 `rotate` 3 = 4294967279
9063  
9064 4294967294 `rotate` -3 = 3758096383
9065 4294967294 `rotate` -2 = 3221225471
9066 4294967294 `rotate` -1 = 2147483647
9067 4294967294 `rotate` 0 = 4294967294
9068 4294967294 `rotate` 1 = 4294967293
9069 4294967294 `rotate` 2 = 4294967291
9070 4294967294 `rotate` 3 = 4294967287
9071  
9072 4294967295 `rotate` -3 = 4294967295
9073 4294967295 `rotate` -2 = 4294967295
9074 4294967295 `rotate` -1 = 4294967295
9075 4294967295 `rotate` 0 = 4294967295
9076 4294967295 `rotate` 1 = 4294967295
9077 4294967295 `rotate` 2 = 4294967295
9078 4294967295 `rotate` 3 = 4294967295
9079  
9080 0 `rotate` -3 = 0
9081 0 `rotate` -2 = 0
9082 0 `rotate` -1 = 0
9083 0 `rotate` 0 = 0
9084 0 `rotate` 1 = 0
9085 0 `rotate` 2 = 0
9086 0 `rotate` 3 = 0
9087  
9088 1 `rotate` -3 = 536870912
9089 1 `rotate` -2 = 1073741824
9090 1 `rotate` -1 = 2147483648
9091 1 `rotate` 0 = 1
9092 1 `rotate` 1 = 2
9093 1 `rotate` 2 = 4
9094 1 `rotate` 3 = 8
9095  
9096 2 `rotate` -3 = 1073741824
9097 2 `rotate` -2 = 2147483648
9098 2 `rotate` -1 = 1
9099 2 `rotate` 0 = 2
9100 2 `rotate` 1 = 4
9101 2 `rotate` 2 = 8
9102 2 `rotate` 3 = 16
9103  
9104 3 `rotate` -3 = 1610612736
9105 3 `rotate` -2 = 3221225472
9106 3 `rotate` -1 = 2147483649
9107 3 `rotate` 0 = 3
9108 3 `rotate` 1 = 6
9109 3 `rotate` 2 = 12
9110 3 `rotate` 3 = 24
9111  
9112 #
9113 bit 0 = 1
9114 bit 1 = 2
9115 bit 2 = 4
9116 bit 3 = 8
9117 #
9118 4294967293 `setBit` 0 = 4294967293
9119 4294967293 `setBit` 1 = 4294967295
9120 4294967293 `setBit` 2 = 4294967293
9121 4294967293 `setBit` 3 = 4294967293
9122 4294967293 `setBit` 32 = 4294967293
9123  
9124 4294967294 `setBit` 0 = 4294967295
9125 4294967294 `setBit` 1 = 4294967294
9126 4294967294 `setBit` 2 = 4294967294
9127 4294967294 `setBit` 3 = 4294967294
9128 4294967294 `setBit` 32 = 4294967294
9129  
9130 4294967295 `setBit` 0 = 4294967295
9131 4294967295 `setBit` 1 = 4294967295
9132 4294967295 `setBit` 2 = 4294967295
9133 4294967295 `setBit` 3 = 4294967295
9134 4294967295 `setBit` 32 = 4294967295
9135  
9136 0 `setBit` 0 = 1
9137 0 `setBit` 1 = 2
9138 0 `setBit` 2 = 4
9139 0 `setBit` 3 = 8
9140 0 `setBit` 32 = 0
9141  
9142 1 `setBit` 0 = 1
9143 1 `setBit` 1 = 3
9144 1 `setBit` 2 = 5
9145 1 `setBit` 3 = 9
9146 1 `setBit` 32 = 1
9147  
9148 2 `setBit` 0 = 3
9149 2 `setBit` 1 = 2
9150 2 `setBit` 2 = 6
9151 2 `setBit` 3 = 10
9152 2 `setBit` 32 = 2
9153  
9154 3 `setBit` 0 = 3
9155 3 `setBit` 1 = 3
9156 3 `setBit` 2 = 7
9157 3 `setBit` 3 = 11
9158 3 `setBit` 32 = 3
9159  
9160 #
9161 4294967293 `clearBit` 0 = 4294967292
9162 4294967293 `clearBit` 1 = 4294967293
9163 4294967293 `clearBit` 2 = 4294967289
9164 4294967293 `clearBit` 3 = 4294967285
9165 4294967293 `clearBit` 32 = 4294967293
9166  
9167 4294967294 `clearBit` 0 = 4294967294
9168 4294967294 `clearBit` 1 = 4294967292
9169 4294967294 `clearBit` 2 = 4294967290
9170 4294967294 `clearBit` 3 = 4294967286
9171 4294967294 `clearBit` 32 = 4294967294
9172  
9173 4294967295 `clearBit` 0 = 4294967294
9174 4294967295 `clearBit` 1 = 4294967293
9175 4294967295 `clearBit` 2 = 4294967291
9176 4294967295 `clearBit` 3 = 4294967287
9177 4294967295 `clearBit` 32 = 4294967295
9178  
9179 0 `clearBit` 0 = 0
9180 0 `clearBit` 1 = 0
9181 0 `clearBit` 2 = 0
9182 0 `clearBit` 3 = 0
9183 0 `clearBit` 32 = 0
9184  
9185 1 `clearBit` 0 = 0
9186 1 `clearBit` 1 = 1
9187 1 `clearBit` 2 = 1
9188 1 `clearBit` 3 = 1
9189 1 `clearBit` 32 = 1
9190  
9191 2 `clearBit` 0 = 2
9192 2 `clearBit` 1 = 0
9193 2 `clearBit` 2 = 2
9194 2 `clearBit` 3 = 2
9195 2 `clearBit` 32 = 2
9196  
9197 3 `clearBit` 0 = 2
9198 3 `clearBit` 1 = 1
9199 3 `clearBit` 2 = 3
9200 3 `clearBit` 3 = 3
9201 3 `clearBit` 32 = 3
9202  
9203 #
9204 4294967293 `complementBit` 0 = 4294967292
9205 4294967293 `complementBit` 1 = 4294967295
9206 4294967293 `complementBit` 2 = 4294967289
9207 4294967293 `complementBit` 3 = 4294967285
9208 4294967293 `complementBit` 32 = 4294967293
9209  
9210 4294967294 `complementBit` 0 = 4294967295
9211 4294967294 `complementBit` 1 = 4294967292
9212 4294967294 `complementBit` 2 = 4294967290
9213 4294967294 `complementBit` 3 = 4294967286
9214 4294967294 `complementBit` 32 = 4294967294
9215  
9216 4294967295 `complementBit` 0 = 4294967294
9217 4294967295 `complementBit` 1 = 4294967293
9218 4294967295 `complementBit` 2 = 4294967291
9219 4294967295 `complementBit` 3 = 4294967287
9220 4294967295 `complementBit` 32 = 4294967295
9221  
9222 0 `complementBit` 0 = 1
9223 0 `complementBit` 1 = 2
9224 0 `complementBit` 2 = 4
9225 0 `complementBit` 3 = 8
9226 0 `complementBit` 32 = 0
9227  
9228 1 `complementBit` 0 = 0
9229 1 `complementBit` 1 = 3
9230 1 `complementBit` 2 = 5
9231 1 `complementBit` 3 = 9
9232 1 `complementBit` 32 = 1
9233  
9234 2 `complementBit` 0 = 3
9235 2 `complementBit` 1 = 0
9236 2 `complementBit` 2 = 6
9237 2 `complementBit` 3 = 10
9238 2 `complementBit` 32 = 2
9239  
9240 3 `complementBit` 0 = 2
9241 3 `complementBit` 1 = 1
9242 3 `complementBit` 2 = 7
9243 3 `complementBit` 3 = 11
9244 3 `complementBit` 32 = 3
9245  
9246 #
9247 4294967293 `testBit` 0 = True
9248 4294967293 `testBit` 1 = False
9249 4294967293 `testBit` 2 = True
9250 4294967293 `testBit` 3 = True
9251 4294967293 `testBit` 32 = False
9252  
9253 4294967294 `testBit` 0 = False
9254 4294967294 `testBit` 1 = True
9255 4294967294 `testBit` 2 = True
9256 4294967294 `testBit` 3 = True
9257 4294967294 `testBit` 32 = False
9258  
9259 4294967295 `testBit` 0 = True
9260 4294967295 `testBit` 1 = True
9261 4294967295 `testBit` 2 = True
9262 4294967295 `testBit` 3 = True
9263 4294967295 `testBit` 32 = False
9264  
9265 0 `testBit` 0 = False
9266 0 `testBit` 1 = False
9267 0 `testBit` 2 = False
9268 0 `testBit` 3 = False
9269 0 `testBit` 32 = False
9270  
9271 1 `testBit` 0 = True
9272 1 `testBit` 1 = False
9273 1 `testBit` 2 = False
9274 1 `testBit` 3 = False
9275 1 `testBit` 32 = False
9276  
9277 2 `testBit` 0 = False
9278 2 `testBit` 1 = True
9279 2 `testBit` 2 = False
9280 2 `testBit` 3 = False
9281 2 `testBit` 32 = False
9282  
9283 3 `testBit` 0 = True
9284 3 `testBit` 1 = True
9285 3 `testBit` 2 = False
9286 3 `testBit` 3 = False
9287 3 `testBit` 32 = False
9288  
9289 #
9290 bitSize 4294967293 = 32
9291 bitSize 4294967294 = 32
9292 bitSize 4294967295 = 32
9293 bitSize 0 = 32
9294 bitSize 1 = 32
9295 bitSize 2 = 32
9296 bitSize 3 = 32
9297 #
9298 isSigned 4294967293 = False
9299 isSigned 4294967294 = False
9300 isSigned 4294967295 = False
9301 isSigned 0 = False
9302 isSigned 1 = False
9303 isSigned 2 = False
9304 isSigned 3 = False
9305 #