[project @ 2001-01-12 12:36:28 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 testConversions
907 Integer : [-2147483648,0,2147483647]
908 Int     : [-2147483648,0,2147483647]
909 Int8    : [0,0,-1]
910 Int16   : [0,0,-1]
911 Int32   : [-2147483648,0,2147483647]
912 Int64   : [-2147483648,0,2147483647]
913 Word8   : [0,0,255]
914 Word16  : [0,0,65535]
915 Word32  : [2147483648,0,2147483647]
916 Word64  : [2147483648,0,2147483647]
917 --------------------------------
918 --Testing Int8
919 --------------------------------
920 testBounded
921 (127,-128,-127)
922 (126,127,-128)
923 testEnum
924 [0,1,2,3,4,5,6,7,8,9]
925 [0,2,4,6,8,10,12,14,16,18]
926 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
927 [0,2,4,6,8,10,12,14,16,18,20]
928 testReadShow
929 [-3,-2,-1,0,1,2,3]
930 [-3,-2,-1,0,1,2,3]
931 testEq
932 -3 == -3 = True
933 -3 == -2 = False
934 -3 == -1 = False
935 -3 == 0 = False
936 -3 == 1 = False
937 -3 == 2 = False
938 -3 == 3 = False
939  
940 -2 == -3 = False
941 -2 == -2 = True
942 -2 == -1 = False
943 -2 == 0 = False
944 -2 == 1 = False
945 -2 == 2 = False
946 -2 == 3 = False
947  
948 -1 == -3 = False
949 -1 == -2 = False
950 -1 == -1 = True
951 -1 == 0 = False
952 -1 == 1 = False
953 -1 == 2 = False
954 -1 == 3 = False
955  
956 0 == -3 = False
957 0 == -2 = False
958 0 == -1 = False
959 0 == 0 = True
960 0 == 1 = False
961 0 == 2 = False
962 0 == 3 = False
963  
964 1 == -3 = False
965 1 == -2 = False
966 1 == -1 = False
967 1 == 0 = False
968 1 == 1 = True
969 1 == 2 = False
970 1 == 3 = False
971  
972 2 == -3 = False
973 2 == -2 = False
974 2 == -1 = False
975 2 == 0 = False
976 2 == 1 = False
977 2 == 2 = True
978 2 == 3 = False
979  
980 3 == -3 = False
981 3 == -2 = False
982 3 == -1 = False
983 3 == 0 = False
984 3 == 1 = False
985 3 == 2 = False
986 3 == 3 = True
987  
988 #
989 -3 /= -3 = False
990 -3 /= -2 = True
991 -3 /= -1 = True
992 -3 /= 0 = True
993 -3 /= 1 = True
994 -3 /= 2 = True
995 -3 /= 3 = True
996  
997 -2 /= -3 = True
998 -2 /= -2 = False
999 -2 /= -1 = True
1000 -2 /= 0 = True
1001 -2 /= 1 = True
1002 -2 /= 2 = True
1003 -2 /= 3 = True
1004  
1005 -1 /= -3 = True
1006 -1 /= -2 = True
1007 -1 /= -1 = False
1008 -1 /= 0 = True
1009 -1 /= 1 = True
1010 -1 /= 2 = True
1011 -1 /= 3 = True
1012  
1013 0 /= -3 = True
1014 0 /= -2 = True
1015 0 /= -1 = True
1016 0 /= 0 = False
1017 0 /= 1 = True
1018 0 /= 2 = True
1019 0 /= 3 = True
1020  
1021 1 /= -3 = True
1022 1 /= -2 = True
1023 1 /= -1 = True
1024 1 /= 0 = True
1025 1 /= 1 = False
1026 1 /= 2 = True
1027 1 /= 3 = True
1028  
1029 2 /= -3 = True
1030 2 /= -2 = True
1031 2 /= -1 = True
1032 2 /= 0 = True
1033 2 /= 1 = True
1034 2 /= 2 = False
1035 2 /= 3 = True
1036  
1037 3 /= -3 = True
1038 3 /= -2 = True
1039 3 /= -1 = True
1040 3 /= 0 = True
1041 3 /= 1 = True
1042 3 /= 2 = True
1043 3 /= 3 = False
1044  
1045 #
1046 testOrd
1047 -3 <= -3 = True
1048 -3 <= -2 = True
1049 -3 <= -1 = True
1050 -3 <= 0 = True
1051 -3 <= 1 = True
1052 -3 <= 2 = True
1053 -3 <= 3 = True
1054  
1055 -2 <= -3 = False
1056 -2 <= -2 = True
1057 -2 <= -1 = True
1058 -2 <= 0 = True
1059 -2 <= 1 = True
1060 -2 <= 2 = True
1061 -2 <= 3 = True
1062  
1063 -1 <= -3 = False
1064 -1 <= -2 = False
1065 -1 <= -1 = True
1066 -1 <= 0 = True
1067 -1 <= 1 = True
1068 -1 <= 2 = True
1069 -1 <= 3 = True
1070  
1071 0 <= -3 = False
1072 0 <= -2 = False
1073 0 <= -1 = False
1074 0 <= 0 = True
1075 0 <= 1 = True
1076 0 <= 2 = True
1077 0 <= 3 = True
1078  
1079 1 <= -3 = False
1080 1 <= -2 = False
1081 1 <= -1 = False
1082 1 <= 0 = False
1083 1 <= 1 = True
1084 1 <= 2 = True
1085 1 <= 3 = True
1086  
1087 2 <= -3 = False
1088 2 <= -2 = False
1089 2 <= -1 = False
1090 2 <= 0 = False
1091 2 <= 1 = False
1092 2 <= 2 = True
1093 2 <= 3 = True
1094  
1095 3 <= -3 = False
1096 3 <= -2 = False
1097 3 <= -1 = False
1098 3 <= 0 = False
1099 3 <= 1 = False
1100 3 <= 2 = False
1101 3 <= 3 = True
1102  
1103 #
1104 -3 <  -3 = False
1105 -3 <  -2 = True
1106 -3 <  -1 = True
1107 -3 <  0 = True
1108 -3 <  1 = True
1109 -3 <  2 = True
1110 -3 <  3 = True
1111  
1112 -2 <  -3 = False
1113 -2 <  -2 = False
1114 -2 <  -1 = True
1115 -2 <  0 = True
1116 -2 <  1 = True
1117 -2 <  2 = True
1118 -2 <  3 = True
1119  
1120 -1 <  -3 = False
1121 -1 <  -2 = False
1122 -1 <  -1 = False
1123 -1 <  0 = True
1124 -1 <  1 = True
1125 -1 <  2 = True
1126 -1 <  3 = True
1127  
1128 0 <  -3 = False
1129 0 <  -2 = False
1130 0 <  -1 = False
1131 0 <  0 = False
1132 0 <  1 = True
1133 0 <  2 = True
1134 0 <  3 = True
1135  
1136 1 <  -3 = False
1137 1 <  -2 = False
1138 1 <  -1 = False
1139 1 <  0 = False
1140 1 <  1 = False
1141 1 <  2 = True
1142 1 <  3 = True
1143  
1144 2 <  -3 = False
1145 2 <  -2 = False
1146 2 <  -1 = False
1147 2 <  0 = False
1148 2 <  1 = False
1149 2 <  2 = False
1150 2 <  3 = True
1151  
1152 3 <  -3 = False
1153 3 <  -2 = False
1154 3 <  -1 = False
1155 3 <  0 = False
1156 3 <  1 = False
1157 3 <  2 = False
1158 3 <  3 = False
1159  
1160 #
1161 -3 >  -3 = False
1162 -3 >  -2 = False
1163 -3 >  -1 = False
1164 -3 >  0 = False
1165 -3 >  1 = False
1166 -3 >  2 = False
1167 -3 >  3 = False
1168  
1169 -2 >  -3 = True
1170 -2 >  -2 = False
1171 -2 >  -1 = False
1172 -2 >  0 = False
1173 -2 >  1 = False
1174 -2 >  2 = False
1175 -2 >  3 = False
1176  
1177 -1 >  -3 = True
1178 -1 >  -2 = True
1179 -1 >  -1 = False
1180 -1 >  0 = False
1181 -1 >  1 = False
1182 -1 >  2 = False
1183 -1 >  3 = False
1184  
1185 0 >  -3 = True
1186 0 >  -2 = True
1187 0 >  -1 = True
1188 0 >  0 = False
1189 0 >  1 = False
1190 0 >  2 = False
1191 0 >  3 = False
1192  
1193 1 >  -3 = True
1194 1 >  -2 = True
1195 1 >  -1 = True
1196 1 >  0 = True
1197 1 >  1 = False
1198 1 >  2 = False
1199 1 >  3 = False
1200  
1201 2 >  -3 = True
1202 2 >  -2 = True
1203 2 >  -1 = True
1204 2 >  0 = True
1205 2 >  1 = True
1206 2 >  2 = False
1207 2 >  3 = False
1208  
1209 3 >  -3 = True
1210 3 >  -2 = True
1211 3 >  -1 = True
1212 3 >  0 = True
1213 3 >  1 = True
1214 3 >  2 = True
1215 3 >  3 = False
1216  
1217 #
1218 -3 >= -3 = True
1219 -3 >= -2 = False
1220 -3 >= -1 = False
1221 -3 >= 0 = False
1222 -3 >= 1 = False
1223 -3 >= 2 = False
1224 -3 >= 3 = False
1225  
1226 -2 >= -3 = True
1227 -2 >= -2 = True
1228 -2 >= -1 = False
1229 -2 >= 0 = False
1230 -2 >= 1 = False
1231 -2 >= 2 = False
1232 -2 >= 3 = False
1233  
1234 -1 >= -3 = True
1235 -1 >= -2 = True
1236 -1 >= -1 = True
1237 -1 >= 0 = False
1238 -1 >= 1 = False
1239 -1 >= 2 = False
1240 -1 >= 3 = False
1241  
1242 0 >= -3 = True
1243 0 >= -2 = True
1244 0 >= -1 = True
1245 0 >= 0 = True
1246 0 >= 1 = False
1247 0 >= 2 = False
1248 0 >= 3 = False
1249  
1250 1 >= -3 = True
1251 1 >= -2 = True
1252 1 >= -1 = True
1253 1 >= 0 = True
1254 1 >= 1 = True
1255 1 >= 2 = False
1256 1 >= 3 = False
1257  
1258 2 >= -3 = True
1259 2 >= -2 = True
1260 2 >= -1 = True
1261 2 >= 0 = True
1262 2 >= 1 = True
1263 2 >= 2 = True
1264 2 >= 3 = False
1265  
1266 3 >= -3 = True
1267 3 >= -2 = True
1268 3 >= -1 = True
1269 3 >= 0 = True
1270 3 >= 1 = True
1271 3 >= 2 = True
1272 3 >= 3 = True
1273  
1274 #
1275 -3 `compare` -3 = EQ
1276 -3 `compare` -2 = LT
1277 -3 `compare` -1 = LT
1278 -3 `compare` 0 = LT
1279 -3 `compare` 1 = LT
1280 -3 `compare` 2 = LT
1281 -3 `compare` 3 = LT
1282  
1283 -2 `compare` -3 = GT
1284 -2 `compare` -2 = EQ
1285 -2 `compare` -1 = LT
1286 -2 `compare` 0 = LT
1287 -2 `compare` 1 = LT
1288 -2 `compare` 2 = LT
1289 -2 `compare` 3 = LT
1290  
1291 -1 `compare` -3 = GT
1292 -1 `compare` -2 = GT
1293 -1 `compare` -1 = EQ
1294 -1 `compare` 0 = LT
1295 -1 `compare` 1 = LT
1296 -1 `compare` 2 = LT
1297 -1 `compare` 3 = LT
1298  
1299 0 `compare` -3 = GT
1300 0 `compare` -2 = GT
1301 0 `compare` -1 = GT
1302 0 `compare` 0 = EQ
1303 0 `compare` 1 = LT
1304 0 `compare` 2 = LT
1305 0 `compare` 3 = LT
1306  
1307 1 `compare` -3 = GT
1308 1 `compare` -2 = GT
1309 1 `compare` -1 = GT
1310 1 `compare` 0 = GT
1311 1 `compare` 1 = EQ
1312 1 `compare` 2 = LT
1313 1 `compare` 3 = LT
1314  
1315 2 `compare` -3 = GT
1316 2 `compare` -2 = GT
1317 2 `compare` -1 = GT
1318 2 `compare` 0 = GT
1319 2 `compare` 1 = GT
1320 2 `compare` 2 = EQ
1321 2 `compare` 3 = LT
1322  
1323 3 `compare` -3 = GT
1324 3 `compare` -2 = GT
1325 3 `compare` -1 = GT
1326 3 `compare` 0 = GT
1327 3 `compare` 1 = GT
1328 3 `compare` 2 = GT
1329 3 `compare` 3 = EQ
1330  
1331 #
1332 testNum
1333 -3 + -3 = -6
1334 -3 + -2 = -5
1335 -3 + -1 = -4
1336 -3 + 0 = -3
1337 -3 + 1 = -2
1338 -3 + 2 = -1
1339 -3 + 3 = 0
1340  
1341 -2 + -3 = -5
1342 -2 + -2 = -4
1343 -2 + -1 = -3
1344 -2 + 0 = -2
1345 -2 + 1 = -1
1346 -2 + 2 = 0
1347 -2 + 3 = 1
1348  
1349 -1 + -3 = -4
1350 -1 + -2 = -3
1351 -1 + -1 = -2
1352 -1 + 0 = -1
1353 -1 + 1 = 0
1354 -1 + 2 = 1
1355 -1 + 3 = 2
1356  
1357 0 + -3 = -3
1358 0 + -2 = -2
1359 0 + -1 = -1
1360 0 + 0 = 0
1361 0 + 1 = 1
1362 0 + 2 = 2
1363 0 + 3 = 3
1364  
1365 1 + -3 = -2
1366 1 + -2 = -1
1367 1 + -1 = 0
1368 1 + 0 = 1
1369 1 + 1 = 2
1370 1 + 2 = 3
1371 1 + 3 = 4
1372  
1373 2 + -3 = -1
1374 2 + -2 = 0
1375 2 + -1 = 1
1376 2 + 0 = 2
1377 2 + 1 = 3
1378 2 + 2 = 4
1379 2 + 3 = 5
1380  
1381 3 + -3 = 0
1382 3 + -2 = 1
1383 3 + -1 = 2
1384 3 + 0 = 3
1385 3 + 1 = 4
1386 3 + 2 = 5
1387 3 + 3 = 6
1388  
1389 #
1390 -3 - -3 = 0
1391 -3 - -2 = -1
1392 -3 - -1 = -2
1393 -3 - 0 = -3
1394 -3 - 1 = -4
1395 -3 - 2 = -5
1396 -3 - 3 = -6
1397  
1398 -2 - -3 = 1
1399 -2 - -2 = 0
1400 -2 - -1 = -1
1401 -2 - 0 = -2
1402 -2 - 1 = -3
1403 -2 - 2 = -4
1404 -2 - 3 = -5
1405  
1406 -1 - -3 = 2
1407 -1 - -2 = 1
1408 -1 - -1 = 0
1409 -1 - 0 = -1
1410 -1 - 1 = -2
1411 -1 - 2 = -3
1412 -1 - 3 = -4
1413  
1414 0 - -3 = 3
1415 0 - -2 = 2
1416 0 - -1 = 1
1417 0 - 0 = 0
1418 0 - 1 = -1
1419 0 - 2 = -2
1420 0 - 3 = -3
1421  
1422 1 - -3 = 4
1423 1 - -2 = 3
1424 1 - -1 = 2
1425 1 - 0 = 1
1426 1 - 1 = 0
1427 1 - 2 = -1
1428 1 - 3 = -2
1429  
1430 2 - -3 = 5
1431 2 - -2 = 4
1432 2 - -1 = 3
1433 2 - 0 = 2
1434 2 - 1 = 1
1435 2 - 2 = 0
1436 2 - 3 = -1
1437  
1438 3 - -3 = 6
1439 3 - -2 = 5
1440 3 - -1 = 4
1441 3 - 0 = 3
1442 3 - 1 = 2
1443 3 - 2 = 1
1444 3 - 3 = 0
1445  
1446 #
1447 -3 * -3 = 9
1448 -3 * -2 = 6
1449 -3 * -1 = 3
1450 -3 * 0 = 0
1451 -3 * 1 = -3
1452 -3 * 2 = -6
1453 -3 * 3 = -9
1454  
1455 -2 * -3 = 6
1456 -2 * -2 = 4
1457 -2 * -1 = 2
1458 -2 * 0 = 0
1459 -2 * 1 = -2
1460 -2 * 2 = -4
1461 -2 * 3 = -6
1462  
1463 -1 * -3 = 3
1464 -1 * -2 = 2
1465 -1 * -1 = 1
1466 -1 * 0 = 0
1467 -1 * 1 = -1
1468 -1 * 2 = -2
1469 -1 * 3 = -3
1470  
1471 0 * -3 = 0
1472 0 * -2 = 0
1473 0 * -1 = 0
1474 0 * 0 = 0
1475 0 * 1 = 0
1476 0 * 2 = 0
1477 0 * 3 = 0
1478  
1479 1 * -3 = -3
1480 1 * -2 = -2
1481 1 * -1 = -1
1482 1 * 0 = 0
1483 1 * 1 = 1
1484 1 * 2 = 2
1485 1 * 3 = 3
1486  
1487 2 * -3 = -6
1488 2 * -2 = -4
1489 2 * -1 = -2
1490 2 * 0 = 0
1491 2 * 1 = 2
1492 2 * 2 = 4
1493 2 * 3 = 6
1494  
1495 3 * -3 = -9
1496 3 * -2 = -6
1497 3 * -1 = -3
1498 3 * 0 = 0
1499 3 * 1 = 3
1500 3 * 2 = 6
1501 3 * 3 = 9
1502  
1503 #
1504 negate -3 = 3
1505 negate -2 = 2
1506 negate -1 = 1
1507 negate 0 = 0
1508 negate 1 = -1
1509 negate 2 = -2
1510 negate 3 = -3
1511 #
1512 testReal
1513 toRational -3 = -3 % 1
1514 toRational -2 = -2 % 1
1515 toRational -1 = -1 % 1
1516 toRational 0 = 0 % 1
1517 toRational 1 = 1 % 1
1518 toRational 2 = 2 % 1
1519 toRational 3 = 3 % 1
1520 #
1521 testIntegral
1522 -3 `divMod`  -3 = (1,0)
1523 -3 `divMod`  -2 = (1,-1)
1524 -3 `divMod`  -1 = (3,0)
1525 -3 `divMod`  1 = (-3,0)
1526 -3 `divMod`  2 = (-2,1)
1527 -3 `divMod`  3 = (-1,0)
1528  
1529 -2 `divMod`  -3 = (0,-2)
1530 -2 `divMod`  -2 = (1,0)
1531 -2 `divMod`  -1 = (2,0)
1532 -2 `divMod`  1 = (-2,0)
1533 -2 `divMod`  2 = (-1,0)
1534 -2 `divMod`  3 = (-1,1)
1535  
1536 -1 `divMod`  -3 = (0,-1)
1537 -1 `divMod`  -2 = (0,-1)
1538 -1 `divMod`  -1 = (1,0)
1539 -1 `divMod`  1 = (-1,0)
1540 -1 `divMod`  2 = (-1,1)
1541 -1 `divMod`  3 = (-1,2)
1542  
1543 0 `divMod`  -3 = (0,0)
1544 0 `divMod`  -2 = (0,0)
1545 0 `divMod`  -1 = (0,0)
1546 0 `divMod`  1 = (0,0)
1547 0 `divMod`  2 = (0,0)
1548 0 `divMod`  3 = (0,0)
1549  
1550 1 `divMod`  -3 = (-1,-2)
1551 1 `divMod`  -2 = (-1,-1)
1552 1 `divMod`  -1 = (-1,0)
1553 1 `divMod`  1 = (1,0)
1554 1 `divMod`  2 = (0,1)
1555 1 `divMod`  3 = (0,1)
1556  
1557 2 `divMod`  -3 = (-1,-1)
1558 2 `divMod`  -2 = (-1,0)
1559 2 `divMod`  -1 = (-2,0)
1560 2 `divMod`  1 = (2,0)
1561 2 `divMod`  2 = (1,0)
1562 2 `divMod`  3 = (0,2)
1563  
1564 3 `divMod`  -3 = (-1,0)
1565 3 `divMod`  -2 = (-2,-1)
1566 3 `divMod`  -1 = (-3,0)
1567 3 `divMod`  1 = (3,0)
1568 3 `divMod`  2 = (1,1)
1569 3 `divMod`  3 = (1,0)
1570  
1571 #
1572 -3 `div`     -3 = 1
1573 -3 `div`     -2 = 1
1574 -3 `div`     -1 = 3
1575 -3 `div`     1 = -3
1576 -3 `div`     2 = -2
1577 -3 `div`     3 = -1
1578  
1579 -2 `div`     -3 = 0
1580 -2 `div`     -2 = 1
1581 -2 `div`     -1 = 2
1582 -2 `div`     1 = -2
1583 -2 `div`     2 = -1
1584 -2 `div`     3 = -1
1585  
1586 -1 `div`     -3 = 0
1587 -1 `div`     -2 = 0
1588 -1 `div`     -1 = 1
1589 -1 `div`     1 = -1
1590 -1 `div`     2 = -1
1591 -1 `div`     3 = -1
1592  
1593 0 `div`     -3 = 0
1594 0 `div`     -2 = 0
1595 0 `div`     -1 = 0
1596 0 `div`     1 = 0
1597 0 `div`     2 = 0
1598 0 `div`     3 = 0
1599  
1600 1 `div`     -3 = -1
1601 1 `div`     -2 = -1
1602 1 `div`     -1 = -1
1603 1 `div`     1 = 1
1604 1 `div`     2 = 0
1605 1 `div`     3 = 0
1606  
1607 2 `div`     -3 = -1
1608 2 `div`     -2 = -1
1609 2 `div`     -1 = -2
1610 2 `div`     1 = 2
1611 2 `div`     2 = 1
1612 2 `div`     3 = 0
1613  
1614 3 `div`     -3 = -1
1615 3 `div`     -2 = -2
1616 3 `div`     -1 = -3
1617 3 `div`     1 = 3
1618 3 `div`     2 = 1
1619 3 `div`     3 = 1
1620  
1621 #
1622 -3 `mod`     -3 = 0
1623 -3 `mod`     -2 = -1
1624 -3 `mod`     -1 = 0
1625 -3 `mod`     1 = 0
1626 -3 `mod`     2 = 1
1627 -3 `mod`     3 = 0
1628  
1629 -2 `mod`     -3 = -2
1630 -2 `mod`     -2 = 0
1631 -2 `mod`     -1 = 0
1632 -2 `mod`     1 = 0
1633 -2 `mod`     2 = 0
1634 -2 `mod`     3 = 1
1635  
1636 -1 `mod`     -3 = -1
1637 -1 `mod`     -2 = -1
1638 -1 `mod`     -1 = 0
1639 -1 `mod`     1 = 0
1640 -1 `mod`     2 = 1
1641 -1 `mod`     3 = 2
1642  
1643 0 `mod`     -3 = 0
1644 0 `mod`     -2 = 0
1645 0 `mod`     -1 = 0
1646 0 `mod`     1 = 0
1647 0 `mod`     2 = 0
1648 0 `mod`     3 = 0
1649  
1650 1 `mod`     -3 = -2
1651 1 `mod`     -2 = -1
1652 1 `mod`     -1 = 0
1653 1 `mod`     1 = 0
1654 1 `mod`     2 = 1
1655 1 `mod`     3 = 1
1656  
1657 2 `mod`     -3 = -1
1658 2 `mod`     -2 = 0
1659 2 `mod`     -1 = 0
1660 2 `mod`     1 = 0
1661 2 `mod`     2 = 0
1662 2 `mod`     3 = 2
1663  
1664 3 `mod`     -3 = 0
1665 3 `mod`     -2 = -1
1666 3 `mod`     -1 = 0
1667 3 `mod`     1 = 0
1668 3 `mod`     2 = 1
1669 3 `mod`     3 = 0
1670  
1671 #
1672 -3 `quotRem` -3 = (1,0)
1673 -3 `quotRem` -2 = (1,-1)
1674 -3 `quotRem` -1 = (3,0)
1675 -3 `quotRem` 1 = (-3,0)
1676 -3 `quotRem` 2 = (-1,-1)
1677 -3 `quotRem` 3 = (-1,0)
1678  
1679 -2 `quotRem` -3 = (0,-2)
1680 -2 `quotRem` -2 = (1,0)
1681 -2 `quotRem` -1 = (2,0)
1682 -2 `quotRem` 1 = (-2,0)
1683 -2 `quotRem` 2 = (-1,0)
1684 -2 `quotRem` 3 = (0,-2)
1685  
1686 -1 `quotRem` -3 = (0,-1)
1687 -1 `quotRem` -2 = (0,-1)
1688 -1 `quotRem` -1 = (1,0)
1689 -1 `quotRem` 1 = (-1,0)
1690 -1 `quotRem` 2 = (0,-1)
1691 -1 `quotRem` 3 = (0,-1)
1692  
1693 0 `quotRem` -3 = (0,0)
1694 0 `quotRem` -2 = (0,0)
1695 0 `quotRem` -1 = (0,0)
1696 0 `quotRem` 1 = (0,0)
1697 0 `quotRem` 2 = (0,0)
1698 0 `quotRem` 3 = (0,0)
1699  
1700 1 `quotRem` -3 = (0,1)
1701 1 `quotRem` -2 = (0,1)
1702 1 `quotRem` -1 = (-1,0)
1703 1 `quotRem` 1 = (1,0)
1704 1 `quotRem` 2 = (0,1)
1705 1 `quotRem` 3 = (0,1)
1706  
1707 2 `quotRem` -3 = (0,2)
1708 2 `quotRem` -2 = (-1,0)
1709 2 `quotRem` -1 = (-2,0)
1710 2 `quotRem` 1 = (2,0)
1711 2 `quotRem` 2 = (1,0)
1712 2 `quotRem` 3 = (0,2)
1713  
1714 3 `quotRem` -3 = (-1,0)
1715 3 `quotRem` -2 = (-1,1)
1716 3 `quotRem` -1 = (-3,0)
1717 3 `quotRem` 1 = (3,0)
1718 3 `quotRem` 2 = (1,1)
1719 3 `quotRem` 3 = (1,0)
1720  
1721 #
1722 -3 `quot`    -3 = 1
1723 -3 `quot`    -2 = 1
1724 -3 `quot`    -1 = 3
1725 -3 `quot`    1 = -3
1726 -3 `quot`    2 = -1
1727 -3 `quot`    3 = -1
1728  
1729 -2 `quot`    -3 = 0
1730 -2 `quot`    -2 = 1
1731 -2 `quot`    -1 = 2
1732 -2 `quot`    1 = -2
1733 -2 `quot`    2 = -1
1734 -2 `quot`    3 = 0
1735  
1736 -1 `quot`    -3 = 0
1737 -1 `quot`    -2 = 0
1738 -1 `quot`    -1 = 1
1739 -1 `quot`    1 = -1
1740 -1 `quot`    2 = 0
1741 -1 `quot`    3 = 0
1742  
1743 0 `quot`    -3 = 0
1744 0 `quot`    -2 = 0
1745 0 `quot`    -1 = 0
1746 0 `quot`    1 = 0
1747 0 `quot`    2 = 0
1748 0 `quot`    3 = 0
1749  
1750 1 `quot`    -3 = 0
1751 1 `quot`    -2 = 0
1752 1 `quot`    -1 = -1
1753 1 `quot`    1 = 1
1754 1 `quot`    2 = 0
1755 1 `quot`    3 = 0
1756  
1757 2 `quot`    -3 = 0
1758 2 `quot`    -2 = -1
1759 2 `quot`    -1 = -2
1760 2 `quot`    1 = 2
1761 2 `quot`    2 = 1
1762 2 `quot`    3 = 0
1763  
1764 3 `quot`    -3 = -1
1765 3 `quot`    -2 = -1
1766 3 `quot`    -1 = -3
1767 3 `quot`    1 = 3
1768 3 `quot`    2 = 1
1769 3 `quot`    3 = 1
1770  
1771 #
1772 -3 `rem`     -3 = 0
1773 -3 `rem`     -2 = -1
1774 -3 `rem`     -1 = 0
1775 -3 `rem`     1 = 0
1776 -3 `rem`     2 = -1
1777 -3 `rem`     3 = 0
1778  
1779 -2 `rem`     -3 = -2
1780 -2 `rem`     -2 = 0
1781 -2 `rem`     -1 = 0
1782 -2 `rem`     1 = 0
1783 -2 `rem`     2 = 0
1784 -2 `rem`     3 = -2
1785  
1786 -1 `rem`     -3 = -1
1787 -1 `rem`     -2 = -1
1788 -1 `rem`     -1 = 0
1789 -1 `rem`     1 = 0
1790 -1 `rem`     2 = -1
1791 -1 `rem`     3 = -1
1792  
1793 0 `rem`     -3 = 0
1794 0 `rem`     -2 = 0
1795 0 `rem`     -1 = 0
1796 0 `rem`     1 = 0
1797 0 `rem`     2 = 0
1798 0 `rem`     3 = 0
1799  
1800 1 `rem`     -3 = 1
1801 1 `rem`     -2 = 1
1802 1 `rem`     -1 = 0
1803 1 `rem`     1 = 0
1804 1 `rem`     2 = 1
1805 1 `rem`     3 = 1
1806  
1807 2 `rem`     -3 = 2
1808 2 `rem`     -2 = 0
1809 2 `rem`     -1 = 0
1810 2 `rem`     1 = 0
1811 2 `rem`     2 = 0
1812 2 `rem`     3 = 2
1813  
1814 3 `rem`     -3 = 0
1815 3 `rem`     -2 = 1
1816 3 `rem`     -1 = 0
1817 3 `rem`     1 = 0
1818 3 `rem`     2 = 1
1819 3 `rem`     3 = 0
1820  
1821 #
1822 testConversions
1823 Integer : [-128,0,127]
1824 Int     : [-128,0,127]
1825 Int8    : [-128,0,127]
1826 Int16   : [-128,0,127]
1827 Int32   : [-128,0,127]
1828 Int64   : [-128,0,127]
1829 Word8   : [128,0,127]
1830 Word16  : [65408,0,127]
1831 Word32  : [4294967168,0,127]
1832 Word64  : [4294967168,0,127]
1833 testBits
1834 -3 .&.   -3 = -3
1835 -3 .&.   -2 = -4
1836 -3 .&.   -1 = -3
1837 -3 .&.   1 = 1
1838 -3 .&.   2 = 0
1839 -3 .&.   3 = 1
1840  
1841 -2 .&.   -3 = -4
1842 -2 .&.   -2 = -2
1843 -2 .&.   -1 = -2
1844 -2 .&.   1 = 0
1845 -2 .&.   2 = 2
1846 -2 .&.   3 = 2
1847  
1848 -1 .&.   -3 = -3
1849 -1 .&.   -2 = -2
1850 -1 .&.   -1 = -1
1851 -1 .&.   1 = 1
1852 -1 .&.   2 = 2
1853 -1 .&.   3 = 3
1854  
1855 0 .&.   -3 = 0
1856 0 .&.   -2 = 0
1857 0 .&.   -1 = 0
1858 0 .&.   1 = 0
1859 0 .&.   2 = 0
1860 0 .&.   3 = 0
1861  
1862 1 .&.   -3 = 1
1863 1 .&.   -2 = 0
1864 1 .&.   -1 = 1
1865 1 .&.   1 = 1
1866 1 .&.   2 = 0
1867 1 .&.   3 = 1
1868  
1869 2 .&.   -3 = 0
1870 2 .&.   -2 = 2
1871 2 .&.   -1 = 2
1872 2 .&.   1 = 0
1873 2 .&.   2 = 2
1874 2 .&.   3 = 2
1875  
1876 3 .&.   -3 = 1
1877 3 .&.   -2 = 2
1878 3 .&.   -1 = 3
1879 3 .&.   1 = 1
1880 3 .&.   2 = 2
1881 3 .&.   3 = 3
1882  
1883 #
1884 -3 .|.   -3 = -3
1885 -3 .|.   -2 = -1
1886 -3 .|.   -1 = -1
1887 -3 .|.   1 = -3
1888 -3 .|.   2 = -1
1889 -3 .|.   3 = -1
1890  
1891 -2 .|.   -3 = -1
1892 -2 .|.   -2 = -2
1893 -2 .|.   -1 = -1
1894 -2 .|.   1 = -1
1895 -2 .|.   2 = -2
1896 -2 .|.   3 = -1
1897  
1898 -1 .|.   -3 = -1
1899 -1 .|.   -2 = -1
1900 -1 .|.   -1 = -1
1901 -1 .|.   1 = -1
1902 -1 .|.   2 = -1
1903 -1 .|.   3 = -1
1904  
1905 0 .|.   -3 = -3
1906 0 .|.   -2 = -2
1907 0 .|.   -1 = -1
1908 0 .|.   1 = 1
1909 0 .|.   2 = 2
1910 0 .|.   3 = 3
1911  
1912 1 .|.   -3 = -3
1913 1 .|.   -2 = -1
1914 1 .|.   -1 = -1
1915 1 .|.   1 = 1
1916 1 .|.   2 = 3
1917 1 .|.   3 = 3
1918  
1919 2 .|.   -3 = -1
1920 2 .|.   -2 = -2
1921 2 .|.   -1 = -1
1922 2 .|.   1 = 3
1923 2 .|.   2 = 2
1924 2 .|.   3 = 3
1925  
1926 3 .|.   -3 = -1
1927 3 .|.   -2 = -1
1928 3 .|.   -1 = -1
1929 3 .|.   1 = 3
1930 3 .|.   2 = 3
1931 3 .|.   3 = 3
1932  
1933 #
1934 -3 `xor` -3 = 0
1935 -3 `xor` -2 = 3
1936 -3 `xor` -1 = 2
1937 -3 `xor` 1 = -4
1938 -3 `xor` 2 = -1
1939 -3 `xor` 3 = -2
1940  
1941 -2 `xor` -3 = 3
1942 -2 `xor` -2 = 0
1943 -2 `xor` -1 = 1
1944 -2 `xor` 1 = -1
1945 -2 `xor` 2 = -4
1946 -2 `xor` 3 = -3
1947  
1948 -1 `xor` -3 = 2
1949 -1 `xor` -2 = 1
1950 -1 `xor` -1 = 0
1951 -1 `xor` 1 = -2
1952 -1 `xor` 2 = -3
1953 -1 `xor` 3 = -4
1954  
1955 0 `xor` -3 = -3
1956 0 `xor` -2 = -2
1957 0 `xor` -1 = -1
1958 0 `xor` 1 = 1
1959 0 `xor` 2 = 2
1960 0 `xor` 3 = 3
1961  
1962 1 `xor` -3 = -4
1963 1 `xor` -2 = -1
1964 1 `xor` -1 = -2
1965 1 `xor` 1 = 0
1966 1 `xor` 2 = 3
1967 1 `xor` 3 = 2
1968  
1969 2 `xor` -3 = -1
1970 2 `xor` -2 = -4
1971 2 `xor` -1 = -3
1972 2 `xor` 1 = 3
1973 2 `xor` 2 = 0
1974 2 `xor` 3 = 1
1975  
1976 3 `xor` -3 = -2
1977 3 `xor` -2 = -3
1978 3 `xor` -1 = -4
1979 3 `xor` 1 = 2
1980 3 `xor` 2 = 1
1981 3 `xor` 3 = 0
1982  
1983 #
1984 complement -3 = 2
1985 complement -2 = 1
1986 complement -1 = 0
1987 complement 0 = -1
1988 complement 1 = -2
1989 complement 2 = -3
1990 complement 3 = -4
1991 #
1992 -3 `shiftL` 0 = -3
1993 -3 `shiftL` 1 = -6
1994 -3 `shiftL` 2 = -12
1995 -3 `shiftL` 3 = -24
1996 -3 `shiftL` 32 = 0
1997  
1998 -2 `shiftL` 0 = -2
1999 -2 `shiftL` 1 = -4
2000 -2 `shiftL` 2 = -8
2001 -2 `shiftL` 3 = -16
2002 -2 `shiftL` 32 = 0
2003  
2004 -1 `shiftL` 0 = -1
2005 -1 `shiftL` 1 = -2
2006 -1 `shiftL` 2 = -4
2007 -1 `shiftL` 3 = -8
2008 -1 `shiftL` 32 = 0
2009  
2010 0 `shiftL` 0 = 0
2011 0 `shiftL` 1 = 0
2012 0 `shiftL` 2 = 0
2013 0 `shiftL` 3 = 0
2014 0 `shiftL` 32 = 0
2015  
2016 1 `shiftL` 0 = 1
2017 1 `shiftL` 1 = 2
2018 1 `shiftL` 2 = 4
2019 1 `shiftL` 3 = 8
2020 1 `shiftL` 32 = 0
2021  
2022 2 `shiftL` 0 = 2
2023 2 `shiftL` 1 = 4
2024 2 `shiftL` 2 = 8
2025 2 `shiftL` 3 = 16
2026 2 `shiftL` 32 = 0
2027  
2028 3 `shiftL` 0 = 3
2029 3 `shiftL` 1 = 6
2030 3 `shiftL` 2 = 12
2031 3 `shiftL` 3 = 24
2032 3 `shiftL` 32 = 0
2033  
2034 #
2035 -3 `shiftR` 0 = -3
2036 -3 `shiftR` 1 = -2
2037 -3 `shiftR` 2 = -1
2038 -3 `shiftR` 3 = -1
2039 -3 `shiftR` 32 = -1
2040  
2041 -2 `shiftR` 0 = -2
2042 -2 `shiftR` 1 = -1
2043 -2 `shiftR` 2 = -1
2044 -2 `shiftR` 3 = -1
2045 -2 `shiftR` 32 = -1
2046  
2047 -1 `shiftR` 0 = -1
2048 -1 `shiftR` 1 = -1
2049 -1 `shiftR` 2 = -1
2050 -1 `shiftR` 3 = -1
2051 -1 `shiftR` 32 = -1
2052  
2053 0 `shiftR` 0 = 0
2054 0 `shiftR` 1 = 0
2055 0 `shiftR` 2 = 0
2056 0 `shiftR` 3 = 0
2057 0 `shiftR` 32 = 0
2058  
2059 1 `shiftR` 0 = 1
2060 1 `shiftR` 1 = 0
2061 1 `shiftR` 2 = 0
2062 1 `shiftR` 3 = 0
2063 1 `shiftR` 32 = 0
2064  
2065 2 `shiftR` 0 = 2
2066 2 `shiftR` 1 = 1
2067 2 `shiftR` 2 = 0
2068 2 `shiftR` 3 = 0
2069 2 `shiftR` 32 = 0
2070  
2071 3 `shiftR` 0 = 3
2072 3 `shiftR` 1 = 1
2073 3 `shiftR` 2 = 0
2074 3 `shiftR` 3 = 0
2075 3 `shiftR` 32 = 0
2076  
2077 #
2078 -3 `rotate` -3 = -65
2079 -3 `rotate` -2 = 127
2080 -3 `rotate` -1 = -2
2081 -3 `rotate` 0 = -3
2082 -3 `rotate` 1 = -5
2083 -3 `rotate` 2 = -9
2084 -3 `rotate` 3 = -17
2085  
2086 -2 `rotate` -3 = -33
2087 -2 `rotate` -2 = -65
2088 -2 `rotate` -1 = 127
2089 -2 `rotate` 0 = -2
2090 -2 `rotate` 1 = -3
2091 -2 `rotate` 2 = -5
2092 -2 `rotate` 3 = -9
2093  
2094 -1 `rotate` -3 = -1
2095 -1 `rotate` -2 = -1
2096 -1 `rotate` -1 = -1
2097 -1 `rotate` 0 = -1
2098 -1 `rotate` 1 = -1
2099 -1 `rotate` 2 = -1
2100 -1 `rotate` 3 = -1
2101  
2102 0 `rotate` -3 = 0
2103 0 `rotate` -2 = 0
2104 0 `rotate` -1 = 0
2105 0 `rotate` 0 = 0
2106 0 `rotate` 1 = 0
2107 0 `rotate` 2 = 0
2108 0 `rotate` 3 = 0
2109  
2110 1 `rotate` -3 = 32
2111 1 `rotate` -2 = 64
2112 1 `rotate` -1 = -128
2113 1 `rotate` 0 = 1
2114 1 `rotate` 1 = 2
2115 1 `rotate` 2 = 4
2116 1 `rotate` 3 = 8
2117  
2118 2 `rotate` -3 = 64
2119 2 `rotate` -2 = -128
2120 2 `rotate` -1 = 1
2121 2 `rotate` 0 = 2
2122 2 `rotate` 1 = 4
2123 2 `rotate` 2 = 8
2124 2 `rotate` 3 = 16
2125  
2126 3 `rotate` -3 = 96
2127 3 `rotate` -2 = -64
2128 3 `rotate` -1 = -127
2129 3 `rotate` 0 = 3
2130 3 `rotate` 1 = 6
2131 3 `rotate` 2 = 12
2132 3 `rotate` 3 = 24
2133  
2134 #
2135 bit 0 = 1
2136 bit 1 = 2
2137 bit 2 = 4
2138 bit 3 = 8
2139 #
2140 -3 `setBit` 0 = -3
2141 -3 `setBit` 1 = -1
2142 -3 `setBit` 2 = -3
2143 -3 `setBit` 3 = -3
2144 -3 `setBit` 32 = -3
2145  
2146 -2 `setBit` 0 = -1
2147 -2 `setBit` 1 = -2
2148 -2 `setBit` 2 = -2
2149 -2 `setBit` 3 = -2
2150 -2 `setBit` 32 = -2
2151  
2152 -1 `setBit` 0 = -1
2153 -1 `setBit` 1 = -1
2154 -1 `setBit` 2 = -1
2155 -1 `setBit` 3 = -1
2156 -1 `setBit` 32 = -1
2157  
2158 0 `setBit` 0 = 1
2159 0 `setBit` 1 = 2
2160 0 `setBit` 2 = 4
2161 0 `setBit` 3 = 8
2162 0 `setBit` 32 = 0
2163  
2164 1 `setBit` 0 = 1
2165 1 `setBit` 1 = 3
2166 1 `setBit` 2 = 5
2167 1 `setBit` 3 = 9
2168 1 `setBit` 32 = 1
2169  
2170 2 `setBit` 0 = 3
2171 2 `setBit` 1 = 2
2172 2 `setBit` 2 = 6
2173 2 `setBit` 3 = 10
2174 2 `setBit` 32 = 2
2175  
2176 3 `setBit` 0 = 3
2177 3 `setBit` 1 = 3
2178 3 `setBit` 2 = 7
2179 3 `setBit` 3 = 11
2180 3 `setBit` 32 = 3
2181  
2182 #
2183 -3 `clearBit` 0 = -4
2184 -3 `clearBit` 1 = -3
2185 -3 `clearBit` 2 = -7
2186 -3 `clearBit` 3 = -11
2187 -3 `clearBit` 32 = -3
2188  
2189 -2 `clearBit` 0 = -2
2190 -2 `clearBit` 1 = -4
2191 -2 `clearBit` 2 = -6
2192 -2 `clearBit` 3 = -10
2193 -2 `clearBit` 32 = -2
2194  
2195 -1 `clearBit` 0 = -2
2196 -1 `clearBit` 1 = -3
2197 -1 `clearBit` 2 = -5
2198 -1 `clearBit` 3 = -9
2199 -1 `clearBit` 32 = -1
2200  
2201 0 `clearBit` 0 = 0
2202 0 `clearBit` 1 = 0
2203 0 `clearBit` 2 = 0
2204 0 `clearBit` 3 = 0
2205 0 `clearBit` 32 = 0
2206  
2207 1 `clearBit` 0 = 0
2208 1 `clearBit` 1 = 1
2209 1 `clearBit` 2 = 1
2210 1 `clearBit` 3 = 1
2211 1 `clearBit` 32 = 1
2212  
2213 2 `clearBit` 0 = 2
2214 2 `clearBit` 1 = 0
2215 2 `clearBit` 2 = 2
2216 2 `clearBit` 3 = 2
2217 2 `clearBit` 32 = 2
2218  
2219 3 `clearBit` 0 = 2
2220 3 `clearBit` 1 = 1
2221 3 `clearBit` 2 = 3
2222 3 `clearBit` 3 = 3
2223 3 `clearBit` 32 = 3
2224  
2225 #
2226 -3 `complementBit` 0 = -4
2227 -3 `complementBit` 1 = -1
2228 -3 `complementBit` 2 = -7
2229 -3 `complementBit` 3 = -11
2230 -3 `complementBit` 32 = -3
2231  
2232 -2 `complementBit` 0 = -1
2233 -2 `complementBit` 1 = -4
2234 -2 `complementBit` 2 = -6
2235 -2 `complementBit` 3 = -10
2236 -2 `complementBit` 32 = -2
2237  
2238 -1 `complementBit` 0 = -2
2239 -1 `complementBit` 1 = -3
2240 -1 `complementBit` 2 = -5
2241 -1 `complementBit` 3 = -9
2242 -1 `complementBit` 32 = -1
2243  
2244 0 `complementBit` 0 = 1
2245 0 `complementBit` 1 = 2
2246 0 `complementBit` 2 = 4
2247 0 `complementBit` 3 = 8
2248 0 `complementBit` 32 = 0
2249  
2250 1 `complementBit` 0 = 0
2251 1 `complementBit` 1 = 3
2252 1 `complementBit` 2 = 5
2253 1 `complementBit` 3 = 9
2254 1 `complementBit` 32 = 1
2255  
2256 2 `complementBit` 0 = 3
2257 2 `complementBit` 1 = 0
2258 2 `complementBit` 2 = 6
2259 2 `complementBit` 3 = 10
2260 2 `complementBit` 32 = 2
2261  
2262 3 `complementBit` 0 = 2
2263 3 `complementBit` 1 = 1
2264 3 `complementBit` 2 = 7
2265 3 `complementBit` 3 = 11
2266 3 `complementBit` 32 = 3
2267  
2268 #
2269 -3 `testBit` 0 = True
2270 -3 `testBit` 1 = False
2271 -3 `testBit` 2 = True
2272 -3 `testBit` 3 = True
2273 -3 `testBit` 32 = False
2274  
2275 -2 `testBit` 0 = False
2276 -2 `testBit` 1 = True
2277 -2 `testBit` 2 = True
2278 -2 `testBit` 3 = True
2279 -2 `testBit` 32 = False
2280  
2281 -1 `testBit` 0 = True
2282 -1 `testBit` 1 = True
2283 -1 `testBit` 2 = True
2284 -1 `testBit` 3 = True
2285 -1 `testBit` 32 = False
2286  
2287 0 `testBit` 0 = False
2288 0 `testBit` 1 = False
2289 0 `testBit` 2 = False
2290 0 `testBit` 3 = False
2291 0 `testBit` 32 = False
2292  
2293 1 `testBit` 0 = True
2294 1 `testBit` 1 = False
2295 1 `testBit` 2 = False
2296 1 `testBit` 3 = False
2297 1 `testBit` 32 = False
2298  
2299 2 `testBit` 0 = False
2300 2 `testBit` 1 = True
2301 2 `testBit` 2 = False
2302 2 `testBit` 3 = False
2303 2 `testBit` 32 = False
2304  
2305 3 `testBit` 0 = True
2306 3 `testBit` 1 = True
2307 3 `testBit` 2 = False
2308 3 `testBit` 3 = False
2309 3 `testBit` 32 = False
2310  
2311 #
2312 bitSize -3 = 8
2313 bitSize -2 = 8
2314 bitSize -1 = 8
2315 bitSize 0 = 8
2316 bitSize 1 = 8
2317 bitSize 2 = 8
2318 bitSize 3 = 8
2319 #
2320 isSigned -3 = True
2321 isSigned -2 = True
2322 isSigned -1 = True
2323 isSigned 0 = True
2324 isSigned 1 = True
2325 isSigned 2 = True
2326 isSigned 3 = True
2327 #
2328 --------------------------------
2329 --Testing Int16
2330 --------------------------------
2331 testBounded
2332 (32767,-32768,-32767)
2333 (32766,32767,-32768)
2334 testEnum
2335 [0,1,2,3,4,5,6,7,8,9]
2336 [0,2,4,6,8,10,12,14,16,18]
2337 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
2338 [0,2,4,6,8,10,12,14,16,18,20]
2339 testReadShow
2340 [-3,-2,-1,0,1,2,3]
2341 [-3,-2,-1,0,1,2,3]
2342 testEq
2343 -3 == -3 = True
2344 -3 == -2 = False
2345 -3 == -1 = False
2346 -3 == 0 = False
2347 -3 == 1 = False
2348 -3 == 2 = False
2349 -3 == 3 = False
2350  
2351 -2 == -3 = False
2352 -2 == -2 = True
2353 -2 == -1 = False
2354 -2 == 0 = False
2355 -2 == 1 = False
2356 -2 == 2 = False
2357 -2 == 3 = False
2358  
2359 -1 == -3 = False
2360 -1 == -2 = False
2361 -1 == -1 = True
2362 -1 == 0 = False
2363 -1 == 1 = False
2364 -1 == 2 = False
2365 -1 == 3 = False
2366  
2367 0 == -3 = False
2368 0 == -2 = False
2369 0 == -1 = False
2370 0 == 0 = True
2371 0 == 1 = False
2372 0 == 2 = False
2373 0 == 3 = False
2374  
2375 1 == -3 = False
2376 1 == -2 = False
2377 1 == -1 = False
2378 1 == 0 = False
2379 1 == 1 = True
2380 1 == 2 = False
2381 1 == 3 = False
2382  
2383 2 == -3 = False
2384 2 == -2 = False
2385 2 == -1 = False
2386 2 == 0 = False
2387 2 == 1 = False
2388 2 == 2 = True
2389 2 == 3 = False
2390  
2391 3 == -3 = False
2392 3 == -2 = False
2393 3 == -1 = False
2394 3 == 0 = False
2395 3 == 1 = False
2396 3 == 2 = False
2397 3 == 3 = True
2398  
2399 #
2400 -3 /= -3 = False
2401 -3 /= -2 = True
2402 -3 /= -1 = True
2403 -3 /= 0 = True
2404 -3 /= 1 = True
2405 -3 /= 2 = True
2406 -3 /= 3 = True
2407  
2408 -2 /= -3 = True
2409 -2 /= -2 = False
2410 -2 /= -1 = True
2411 -2 /= 0 = True
2412 -2 /= 1 = True
2413 -2 /= 2 = True
2414 -2 /= 3 = True
2415  
2416 -1 /= -3 = True
2417 -1 /= -2 = True
2418 -1 /= -1 = False
2419 -1 /= 0 = True
2420 -1 /= 1 = True
2421 -1 /= 2 = True
2422 -1 /= 3 = True
2423  
2424 0 /= -3 = True
2425 0 /= -2 = True
2426 0 /= -1 = True
2427 0 /= 0 = False
2428 0 /= 1 = True
2429 0 /= 2 = True
2430 0 /= 3 = True
2431  
2432 1 /= -3 = True
2433 1 /= -2 = True
2434 1 /= -1 = True
2435 1 /= 0 = True
2436 1 /= 1 = False
2437 1 /= 2 = True
2438 1 /= 3 = True
2439  
2440 2 /= -3 = True
2441 2 /= -2 = True
2442 2 /= -1 = True
2443 2 /= 0 = True
2444 2 /= 1 = True
2445 2 /= 2 = False
2446 2 /= 3 = True
2447  
2448 3 /= -3 = True
2449 3 /= -2 = True
2450 3 /= -1 = True
2451 3 /= 0 = True
2452 3 /= 1 = True
2453 3 /= 2 = True
2454 3 /= 3 = False
2455  
2456 #
2457 testOrd
2458 -3 <= -3 = True
2459 -3 <= -2 = True
2460 -3 <= -1 = True
2461 -3 <= 0 = True
2462 -3 <= 1 = True
2463 -3 <= 2 = True
2464 -3 <= 3 = True
2465  
2466 -2 <= -3 = False
2467 -2 <= -2 = True
2468 -2 <= -1 = True
2469 -2 <= 0 = True
2470 -2 <= 1 = True
2471 -2 <= 2 = True
2472 -2 <= 3 = True
2473  
2474 -1 <= -3 = False
2475 -1 <= -2 = False
2476 -1 <= -1 = True
2477 -1 <= 0 = True
2478 -1 <= 1 = True
2479 -1 <= 2 = True
2480 -1 <= 3 = True
2481  
2482 0 <= -3 = False
2483 0 <= -2 = False
2484 0 <= -1 = False
2485 0 <= 0 = True
2486 0 <= 1 = True
2487 0 <= 2 = True
2488 0 <= 3 = True
2489  
2490 1 <= -3 = False
2491 1 <= -2 = False
2492 1 <= -1 = False
2493 1 <= 0 = False
2494 1 <= 1 = True
2495 1 <= 2 = True
2496 1 <= 3 = True
2497  
2498 2 <= -3 = False
2499 2 <= -2 = False
2500 2 <= -1 = False
2501 2 <= 0 = False
2502 2 <= 1 = False
2503 2 <= 2 = True
2504 2 <= 3 = True
2505  
2506 3 <= -3 = False
2507 3 <= -2 = False
2508 3 <= -1 = False
2509 3 <= 0 = False
2510 3 <= 1 = False
2511 3 <= 2 = False
2512 3 <= 3 = True
2513  
2514 #
2515 -3 <  -3 = False
2516 -3 <  -2 = True
2517 -3 <  -1 = True
2518 -3 <  0 = True
2519 -3 <  1 = True
2520 -3 <  2 = True
2521 -3 <  3 = True
2522  
2523 -2 <  -3 = False
2524 -2 <  -2 = False
2525 -2 <  -1 = True
2526 -2 <  0 = True
2527 -2 <  1 = True
2528 -2 <  2 = True
2529 -2 <  3 = True
2530  
2531 -1 <  -3 = False
2532 -1 <  -2 = False
2533 -1 <  -1 = False
2534 -1 <  0 = True
2535 -1 <  1 = True
2536 -1 <  2 = True
2537 -1 <  3 = True
2538  
2539 0 <  -3 = False
2540 0 <  -2 = False
2541 0 <  -1 = False
2542 0 <  0 = False
2543 0 <  1 = True
2544 0 <  2 = True
2545 0 <  3 = True
2546  
2547 1 <  -3 = False
2548 1 <  -2 = False
2549 1 <  -1 = False
2550 1 <  0 = False
2551 1 <  1 = False
2552 1 <  2 = True
2553 1 <  3 = True
2554  
2555 2 <  -3 = False
2556 2 <  -2 = False
2557 2 <  -1 = False
2558 2 <  0 = False
2559 2 <  1 = False
2560 2 <  2 = False
2561 2 <  3 = True
2562  
2563 3 <  -3 = False
2564 3 <  -2 = False
2565 3 <  -1 = False
2566 3 <  0 = False
2567 3 <  1 = False
2568 3 <  2 = False
2569 3 <  3 = False
2570  
2571 #
2572 -3 >  -3 = False
2573 -3 >  -2 = False
2574 -3 >  -1 = False
2575 -3 >  0 = False
2576 -3 >  1 = False
2577 -3 >  2 = False
2578 -3 >  3 = False
2579  
2580 -2 >  -3 = True
2581 -2 >  -2 = False
2582 -2 >  -1 = False
2583 -2 >  0 = False
2584 -2 >  1 = False
2585 -2 >  2 = False
2586 -2 >  3 = False
2587  
2588 -1 >  -3 = True
2589 -1 >  -2 = True
2590 -1 >  -1 = False
2591 -1 >  0 = False
2592 -1 >  1 = False
2593 -1 >  2 = False
2594 -1 >  3 = False
2595  
2596 0 >  -3 = True
2597 0 >  -2 = True
2598 0 >  -1 = True
2599 0 >  0 = False
2600 0 >  1 = False
2601 0 >  2 = False
2602 0 >  3 = False
2603  
2604 1 >  -3 = True
2605 1 >  -2 = True
2606 1 >  -1 = True
2607 1 >  0 = True
2608 1 >  1 = False
2609 1 >  2 = False
2610 1 >  3 = False
2611  
2612 2 >  -3 = True
2613 2 >  -2 = True
2614 2 >  -1 = True
2615 2 >  0 = True
2616 2 >  1 = True
2617 2 >  2 = False
2618 2 >  3 = False
2619  
2620 3 >  -3 = True
2621 3 >  -2 = True
2622 3 >  -1 = True
2623 3 >  0 = True
2624 3 >  1 = True
2625 3 >  2 = True
2626 3 >  3 = False
2627  
2628 #
2629 -3 >= -3 = True
2630 -3 >= -2 = False
2631 -3 >= -1 = False
2632 -3 >= 0 = False
2633 -3 >= 1 = False
2634 -3 >= 2 = False
2635 -3 >= 3 = False
2636  
2637 -2 >= -3 = True
2638 -2 >= -2 = True
2639 -2 >= -1 = False
2640 -2 >= 0 = False
2641 -2 >= 1 = False
2642 -2 >= 2 = False
2643 -2 >= 3 = False
2644  
2645 -1 >= -3 = True
2646 -1 >= -2 = True
2647 -1 >= -1 = True
2648 -1 >= 0 = False
2649 -1 >= 1 = False
2650 -1 >= 2 = False
2651 -1 >= 3 = False
2652  
2653 0 >= -3 = True
2654 0 >= -2 = True
2655 0 >= -1 = True
2656 0 >= 0 = True
2657 0 >= 1 = False
2658 0 >= 2 = False
2659 0 >= 3 = False
2660  
2661 1 >= -3 = True
2662 1 >= -2 = True
2663 1 >= -1 = True
2664 1 >= 0 = True
2665 1 >= 1 = True
2666 1 >= 2 = False
2667 1 >= 3 = False
2668  
2669 2 >= -3 = True
2670 2 >= -2 = True
2671 2 >= -1 = True
2672 2 >= 0 = True
2673 2 >= 1 = True
2674 2 >= 2 = True
2675 2 >= 3 = False
2676  
2677 3 >= -3 = True
2678 3 >= -2 = True
2679 3 >= -1 = True
2680 3 >= 0 = True
2681 3 >= 1 = True
2682 3 >= 2 = True
2683 3 >= 3 = True
2684  
2685 #
2686 -3 `compare` -3 = EQ
2687 -3 `compare` -2 = LT
2688 -3 `compare` -1 = LT
2689 -3 `compare` 0 = LT
2690 -3 `compare` 1 = LT
2691 -3 `compare` 2 = LT
2692 -3 `compare` 3 = LT
2693  
2694 -2 `compare` -3 = GT
2695 -2 `compare` -2 = EQ
2696 -2 `compare` -1 = LT
2697 -2 `compare` 0 = LT
2698 -2 `compare` 1 = LT
2699 -2 `compare` 2 = LT
2700 -2 `compare` 3 = LT
2701  
2702 -1 `compare` -3 = GT
2703 -1 `compare` -2 = GT
2704 -1 `compare` -1 = EQ
2705 -1 `compare` 0 = LT
2706 -1 `compare` 1 = LT
2707 -1 `compare` 2 = LT
2708 -1 `compare` 3 = LT
2709  
2710 0 `compare` -3 = GT
2711 0 `compare` -2 = GT
2712 0 `compare` -1 = GT
2713 0 `compare` 0 = EQ
2714 0 `compare` 1 = LT
2715 0 `compare` 2 = LT
2716 0 `compare` 3 = LT
2717  
2718 1 `compare` -3 = GT
2719 1 `compare` -2 = GT
2720 1 `compare` -1 = GT
2721 1 `compare` 0 = GT
2722 1 `compare` 1 = EQ
2723 1 `compare` 2 = LT
2724 1 `compare` 3 = LT
2725  
2726 2 `compare` -3 = GT
2727 2 `compare` -2 = GT
2728 2 `compare` -1 = GT
2729 2 `compare` 0 = GT
2730 2 `compare` 1 = GT
2731 2 `compare` 2 = EQ
2732 2 `compare` 3 = LT
2733  
2734 3 `compare` -3 = GT
2735 3 `compare` -2 = GT
2736 3 `compare` -1 = GT
2737 3 `compare` 0 = GT
2738 3 `compare` 1 = GT
2739 3 `compare` 2 = GT
2740 3 `compare` 3 = EQ
2741  
2742 #
2743 testNum
2744 -3 + -3 = -6
2745 -3 + -2 = -5
2746 -3 + -1 = -4
2747 -3 + 0 = -3
2748 -3 + 1 = -2
2749 -3 + 2 = -1
2750 -3 + 3 = 0
2751  
2752 -2 + -3 = -5
2753 -2 + -2 = -4
2754 -2 + -1 = -3
2755 -2 + 0 = -2
2756 -2 + 1 = -1
2757 -2 + 2 = 0
2758 -2 + 3 = 1
2759  
2760 -1 + -3 = -4
2761 -1 + -2 = -3
2762 -1 + -1 = -2
2763 -1 + 0 = -1
2764 -1 + 1 = 0
2765 -1 + 2 = 1
2766 -1 + 3 = 2
2767  
2768 0 + -3 = -3
2769 0 + -2 = -2
2770 0 + -1 = -1
2771 0 + 0 = 0
2772 0 + 1 = 1
2773 0 + 2 = 2
2774 0 + 3 = 3
2775  
2776 1 + -3 = -2
2777 1 + -2 = -1
2778 1 + -1 = 0
2779 1 + 0 = 1
2780 1 + 1 = 2
2781 1 + 2 = 3
2782 1 + 3 = 4
2783  
2784 2 + -3 = -1
2785 2 + -2 = 0
2786 2 + -1 = 1
2787 2 + 0 = 2
2788 2 + 1 = 3
2789 2 + 2 = 4
2790 2 + 3 = 5
2791  
2792 3 + -3 = 0
2793 3 + -2 = 1
2794 3 + -1 = 2
2795 3 + 0 = 3
2796 3 + 1 = 4
2797 3 + 2 = 5
2798 3 + 3 = 6
2799  
2800 #
2801 -3 - -3 = 0
2802 -3 - -2 = -1
2803 -3 - -1 = -2
2804 -3 - 0 = -3
2805 -3 - 1 = -4
2806 -3 - 2 = -5
2807 -3 - 3 = -6
2808  
2809 -2 - -3 = 1
2810 -2 - -2 = 0
2811 -2 - -1 = -1
2812 -2 - 0 = -2
2813 -2 - 1 = -3
2814 -2 - 2 = -4
2815 -2 - 3 = -5
2816  
2817 -1 - -3 = 2
2818 -1 - -2 = 1
2819 -1 - -1 = 0
2820 -1 - 0 = -1
2821 -1 - 1 = -2
2822 -1 - 2 = -3
2823 -1 - 3 = -4
2824  
2825 0 - -3 = 3
2826 0 - -2 = 2
2827 0 - -1 = 1
2828 0 - 0 = 0
2829 0 - 1 = -1
2830 0 - 2 = -2
2831 0 - 3 = -3
2832  
2833 1 - -3 = 4
2834 1 - -2 = 3
2835 1 - -1 = 2
2836 1 - 0 = 1
2837 1 - 1 = 0
2838 1 - 2 = -1
2839 1 - 3 = -2
2840  
2841 2 - -3 = 5
2842 2 - -2 = 4
2843 2 - -1 = 3
2844 2 - 0 = 2
2845 2 - 1 = 1
2846 2 - 2 = 0
2847 2 - 3 = -1
2848  
2849 3 - -3 = 6
2850 3 - -2 = 5
2851 3 - -1 = 4
2852 3 - 0 = 3
2853 3 - 1 = 2
2854 3 - 2 = 1
2855 3 - 3 = 0
2856  
2857 #
2858 -3 * -3 = 9
2859 -3 * -2 = 6
2860 -3 * -1 = 3
2861 -3 * 0 = 0
2862 -3 * 1 = -3
2863 -3 * 2 = -6
2864 -3 * 3 = -9
2865  
2866 -2 * -3 = 6
2867 -2 * -2 = 4
2868 -2 * -1 = 2
2869 -2 * 0 = 0
2870 -2 * 1 = -2
2871 -2 * 2 = -4
2872 -2 * 3 = -6
2873  
2874 -1 * -3 = 3
2875 -1 * -2 = 2
2876 -1 * -1 = 1
2877 -1 * 0 = 0
2878 -1 * 1 = -1
2879 -1 * 2 = -2
2880 -1 * 3 = -3
2881  
2882 0 * -3 = 0
2883 0 * -2 = 0
2884 0 * -1 = 0
2885 0 * 0 = 0
2886 0 * 1 = 0
2887 0 * 2 = 0
2888 0 * 3 = 0
2889  
2890 1 * -3 = -3
2891 1 * -2 = -2
2892 1 * -1 = -1
2893 1 * 0 = 0
2894 1 * 1 = 1
2895 1 * 2 = 2
2896 1 * 3 = 3
2897  
2898 2 * -3 = -6
2899 2 * -2 = -4
2900 2 * -1 = -2
2901 2 * 0 = 0
2902 2 * 1 = 2
2903 2 * 2 = 4
2904 2 * 3 = 6
2905  
2906 3 * -3 = -9
2907 3 * -2 = -6
2908 3 * -1 = -3
2909 3 * 0 = 0
2910 3 * 1 = 3
2911 3 * 2 = 6
2912 3 * 3 = 9
2913  
2914 #
2915 negate -3 = 3
2916 negate -2 = 2
2917 negate -1 = 1
2918 negate 0 = 0
2919 negate 1 = -1
2920 negate 2 = -2
2921 negate 3 = -3
2922 #
2923 testReal
2924 toRational -3 = -3 % 1
2925 toRational -2 = -2 % 1
2926 toRational -1 = -1 % 1
2927 toRational 0 = 0 % 1
2928 toRational 1 = 1 % 1
2929 toRational 2 = 2 % 1
2930 toRational 3 = 3 % 1
2931 #
2932 testIntegral
2933 -3 `divMod`  -3 = (1,0)
2934 -3 `divMod`  -2 = (1,-1)
2935 -3 `divMod`  -1 = (3,0)
2936 -3 `divMod`  1 = (-3,0)
2937 -3 `divMod`  2 = (-2,1)
2938 -3 `divMod`  3 = (-1,0)
2939  
2940 -2 `divMod`  -3 = (0,-2)
2941 -2 `divMod`  -2 = (1,0)
2942 -2 `divMod`  -1 = (2,0)
2943 -2 `divMod`  1 = (-2,0)
2944 -2 `divMod`  2 = (-1,0)
2945 -2 `divMod`  3 = (-1,1)
2946  
2947 -1 `divMod`  -3 = (0,-1)
2948 -1 `divMod`  -2 = (0,-1)
2949 -1 `divMod`  -1 = (1,0)
2950 -1 `divMod`  1 = (-1,0)
2951 -1 `divMod`  2 = (-1,1)
2952 -1 `divMod`  3 = (-1,2)
2953  
2954 0 `divMod`  -3 = (0,0)
2955 0 `divMod`  -2 = (0,0)
2956 0 `divMod`  -1 = (0,0)
2957 0 `divMod`  1 = (0,0)
2958 0 `divMod`  2 = (0,0)
2959 0 `divMod`  3 = (0,0)
2960  
2961 1 `divMod`  -3 = (-1,-2)
2962 1 `divMod`  -2 = (-1,-1)
2963 1 `divMod`  -1 = (-1,0)
2964 1 `divMod`  1 = (1,0)
2965 1 `divMod`  2 = (0,1)
2966 1 `divMod`  3 = (0,1)
2967  
2968 2 `divMod`  -3 = (-1,-1)
2969 2 `divMod`  -2 = (-1,0)
2970 2 `divMod`  -1 = (-2,0)
2971 2 `divMod`  1 = (2,0)
2972 2 `divMod`  2 = (1,0)
2973 2 `divMod`  3 = (0,2)
2974  
2975 3 `divMod`  -3 = (-1,0)
2976 3 `divMod`  -2 = (-2,-1)
2977 3 `divMod`  -1 = (-3,0)
2978 3 `divMod`  1 = (3,0)
2979 3 `divMod`  2 = (1,1)
2980 3 `divMod`  3 = (1,0)
2981  
2982 #
2983 -3 `div`     -3 = 1
2984 -3 `div`     -2 = 1
2985 -3 `div`     -1 = 3
2986 -3 `div`     1 = -3
2987 -3 `div`     2 = -2
2988 -3 `div`     3 = -1
2989  
2990 -2 `div`     -3 = 0
2991 -2 `div`     -2 = 1
2992 -2 `div`     -1 = 2
2993 -2 `div`     1 = -2
2994 -2 `div`     2 = -1
2995 -2 `div`     3 = -1
2996  
2997 -1 `div`     -3 = 0
2998 -1 `div`     -2 = 0
2999 -1 `div`     -1 = 1
3000 -1 `div`     1 = -1
3001 -1 `div`     2 = -1
3002 -1 `div`     3 = -1
3003  
3004 0 `div`     -3 = 0
3005 0 `div`     -2 = 0
3006 0 `div`     -1 = 0
3007 0 `div`     1 = 0
3008 0 `div`     2 = 0
3009 0 `div`     3 = 0
3010  
3011 1 `div`     -3 = -1
3012 1 `div`     -2 = -1
3013 1 `div`     -1 = -1
3014 1 `div`     1 = 1
3015 1 `div`     2 = 0
3016 1 `div`     3 = 0
3017  
3018 2 `div`     -3 = -1
3019 2 `div`     -2 = -1
3020 2 `div`     -1 = -2
3021 2 `div`     1 = 2
3022 2 `div`     2 = 1
3023 2 `div`     3 = 0
3024  
3025 3 `div`     -3 = -1
3026 3 `div`     -2 = -2
3027 3 `div`     -1 = -3
3028 3 `div`     1 = 3
3029 3 `div`     2 = 1
3030 3 `div`     3 = 1
3031  
3032 #
3033 -3 `mod`     -3 = 0
3034 -3 `mod`     -2 = -1
3035 -3 `mod`     -1 = 0
3036 -3 `mod`     1 = 0
3037 -3 `mod`     2 = 1
3038 -3 `mod`     3 = 0
3039  
3040 -2 `mod`     -3 = -2
3041 -2 `mod`     -2 = 0
3042 -2 `mod`     -1 = 0
3043 -2 `mod`     1 = 0
3044 -2 `mod`     2 = 0
3045 -2 `mod`     3 = 1
3046  
3047 -1 `mod`     -3 = -1
3048 -1 `mod`     -2 = -1
3049 -1 `mod`     -1 = 0
3050 -1 `mod`     1 = 0
3051 -1 `mod`     2 = 1
3052 -1 `mod`     3 = 2
3053  
3054 0 `mod`     -3 = 0
3055 0 `mod`     -2 = 0
3056 0 `mod`     -1 = 0
3057 0 `mod`     1 = 0
3058 0 `mod`     2 = 0
3059 0 `mod`     3 = 0
3060  
3061 1 `mod`     -3 = -2
3062 1 `mod`     -2 = -1
3063 1 `mod`     -1 = 0
3064 1 `mod`     1 = 0
3065 1 `mod`     2 = 1
3066 1 `mod`     3 = 1
3067  
3068 2 `mod`     -3 = -1
3069 2 `mod`     -2 = 0
3070 2 `mod`     -1 = 0
3071 2 `mod`     1 = 0
3072 2 `mod`     2 = 0
3073 2 `mod`     3 = 2
3074  
3075 3 `mod`     -3 = 0
3076 3 `mod`     -2 = -1
3077 3 `mod`     -1 = 0
3078 3 `mod`     1 = 0
3079 3 `mod`     2 = 1
3080 3 `mod`     3 = 0
3081  
3082 #
3083 -3 `quotRem` -3 = (1,0)
3084 -3 `quotRem` -2 = (1,-1)
3085 -3 `quotRem` -1 = (3,0)
3086 -3 `quotRem` 1 = (-3,0)
3087 -3 `quotRem` 2 = (-1,-1)
3088 -3 `quotRem` 3 = (-1,0)
3089  
3090 -2 `quotRem` -3 = (0,-2)
3091 -2 `quotRem` -2 = (1,0)
3092 -2 `quotRem` -1 = (2,0)
3093 -2 `quotRem` 1 = (-2,0)
3094 -2 `quotRem` 2 = (-1,0)
3095 -2 `quotRem` 3 = (0,-2)
3096  
3097 -1 `quotRem` -3 = (0,-1)
3098 -1 `quotRem` -2 = (0,-1)
3099 -1 `quotRem` -1 = (1,0)
3100 -1 `quotRem` 1 = (-1,0)
3101 -1 `quotRem` 2 = (0,-1)
3102 -1 `quotRem` 3 = (0,-1)
3103  
3104 0 `quotRem` -3 = (0,0)
3105 0 `quotRem` -2 = (0,0)
3106 0 `quotRem` -1 = (0,0)
3107 0 `quotRem` 1 = (0,0)
3108 0 `quotRem` 2 = (0,0)
3109 0 `quotRem` 3 = (0,0)
3110  
3111 1 `quotRem` -3 = (0,1)
3112 1 `quotRem` -2 = (0,1)
3113 1 `quotRem` -1 = (-1,0)
3114 1 `quotRem` 1 = (1,0)
3115 1 `quotRem` 2 = (0,1)
3116 1 `quotRem` 3 = (0,1)
3117  
3118 2 `quotRem` -3 = (0,2)
3119 2 `quotRem` -2 = (-1,0)
3120 2 `quotRem` -1 = (-2,0)
3121 2 `quotRem` 1 = (2,0)
3122 2 `quotRem` 2 = (1,0)
3123 2 `quotRem` 3 = (0,2)
3124  
3125 3 `quotRem` -3 = (-1,0)
3126 3 `quotRem` -2 = (-1,1)
3127 3 `quotRem` -1 = (-3,0)
3128 3 `quotRem` 1 = (3,0)
3129 3 `quotRem` 2 = (1,1)
3130 3 `quotRem` 3 = (1,0)
3131  
3132 #
3133 -3 `quot`    -3 = 1
3134 -3 `quot`    -2 = 1
3135 -3 `quot`    -1 = 3
3136 -3 `quot`    1 = -3
3137 -3 `quot`    2 = -1
3138 -3 `quot`    3 = -1
3139  
3140 -2 `quot`    -3 = 0
3141 -2 `quot`    -2 = 1
3142 -2 `quot`    -1 = 2
3143 -2 `quot`    1 = -2
3144 -2 `quot`    2 = -1
3145 -2 `quot`    3 = 0
3146  
3147 -1 `quot`    -3 = 0
3148 -1 `quot`    -2 = 0
3149 -1 `quot`    -1 = 1
3150 -1 `quot`    1 = -1
3151 -1 `quot`    2 = 0
3152 -1 `quot`    3 = 0
3153  
3154 0 `quot`    -3 = 0
3155 0 `quot`    -2 = 0
3156 0 `quot`    -1 = 0
3157 0 `quot`    1 = 0
3158 0 `quot`    2 = 0
3159 0 `quot`    3 = 0
3160  
3161 1 `quot`    -3 = 0
3162 1 `quot`    -2 = 0
3163 1 `quot`    -1 = -1
3164 1 `quot`    1 = 1
3165 1 `quot`    2 = 0
3166 1 `quot`    3 = 0
3167  
3168 2 `quot`    -3 = 0
3169 2 `quot`    -2 = -1
3170 2 `quot`    -1 = -2
3171 2 `quot`    1 = 2
3172 2 `quot`    2 = 1
3173 2 `quot`    3 = 0
3174  
3175 3 `quot`    -3 = -1
3176 3 `quot`    -2 = -1
3177 3 `quot`    -1 = -3
3178 3 `quot`    1 = 3
3179 3 `quot`    2 = 1
3180 3 `quot`    3 = 1
3181  
3182 #
3183 -3 `rem`     -3 = 0
3184 -3 `rem`     -2 = -1
3185 -3 `rem`     -1 = 0
3186 -3 `rem`     1 = 0
3187 -3 `rem`     2 = -1
3188 -3 `rem`     3 = 0
3189  
3190 -2 `rem`     -3 = -2
3191 -2 `rem`     -2 = 0
3192 -2 `rem`     -1 = 0
3193 -2 `rem`     1 = 0
3194 -2 `rem`     2 = 0
3195 -2 `rem`     3 = -2
3196  
3197 -1 `rem`     -3 = -1
3198 -1 `rem`     -2 = -1
3199 -1 `rem`     -1 = 0
3200 -1 `rem`     1 = 0
3201 -1 `rem`     2 = -1
3202 -1 `rem`     3 = -1
3203  
3204 0 `rem`     -3 = 0
3205 0 `rem`     -2 = 0
3206 0 `rem`     -1 = 0
3207 0 `rem`     1 = 0
3208 0 `rem`     2 = 0
3209 0 `rem`     3 = 0
3210  
3211 1 `rem`     -3 = 1
3212 1 `rem`     -2 = 1
3213 1 `rem`     -1 = 0
3214 1 `rem`     1 = 0
3215 1 `rem`     2 = 1
3216 1 `rem`     3 = 1
3217  
3218 2 `rem`     -3 = 2
3219 2 `rem`     -2 = 0
3220 2 `rem`     -1 = 0
3221 2 `rem`     1 = 0
3222 2 `rem`     2 = 0
3223 2 `rem`     3 = 2
3224  
3225 3 `rem`     -3 = 0
3226 3 `rem`     -2 = 1
3227 3 `rem`     -1 = 0
3228 3 `rem`     1 = 0
3229 3 `rem`     2 = 1
3230 3 `rem`     3 = 0
3231  
3232 #
3233 testConversions
3234 Integer : [-32768,0,32767]
3235 Int     : [-32768,0,32767]
3236 Int8    : [0,0,-1]
3237 Int16   : [-32768,0,32767]
3238 Int32   : [-32768,0,32767]
3239 Int64   : [-32768,0,32767]
3240 Word8   : [0,0,255]
3241 Word16  : [32768,0,32767]
3242 Word32  : [4294934528,0,32767]
3243 Word64  : [4294934528,0,32767]
3244 testBits
3245 -3 .&.   -3 = -3
3246 -3 .&.   -2 = -4
3247 -3 .&.   -1 = -3
3248 -3 .&.   1 = 1
3249 -3 .&.   2 = 0
3250 -3 .&.   3 = 1
3251  
3252 -2 .&.   -3 = -4
3253 -2 .&.   -2 = -2
3254 -2 .&.   -1 = -2
3255 -2 .&.   1 = 0
3256 -2 .&.   2 = 2
3257 -2 .&.   3 = 2
3258  
3259 -1 .&.   -3 = -3
3260 -1 .&.   -2 = -2
3261 -1 .&.   -1 = -1
3262 -1 .&.   1 = 1
3263 -1 .&.   2 = 2
3264 -1 .&.   3 = 3
3265  
3266 0 .&.   -3 = 0
3267 0 .&.   -2 = 0
3268 0 .&.   -1 = 0
3269 0 .&.   1 = 0
3270 0 .&.   2 = 0
3271 0 .&.   3 = 0
3272  
3273 1 .&.   -3 = 1
3274 1 .&.   -2 = 0
3275 1 .&.   -1 = 1
3276 1 .&.   1 = 1
3277 1 .&.   2 = 0
3278 1 .&.   3 = 1
3279  
3280 2 .&.   -3 = 0
3281 2 .&.   -2 = 2
3282 2 .&.   -1 = 2
3283 2 .&.   1 = 0
3284 2 .&.   2 = 2
3285 2 .&.   3 = 2
3286  
3287 3 .&.   -3 = 1
3288 3 .&.   -2 = 2
3289 3 .&.   -1 = 3
3290 3 .&.   1 = 1
3291 3 .&.   2 = 2
3292 3 .&.   3 = 3
3293  
3294 #
3295 -3 .|.   -3 = -3
3296 -3 .|.   -2 = -1
3297 -3 .|.   -1 = -1
3298 -3 .|.   1 = -3
3299 -3 .|.   2 = -1
3300 -3 .|.   3 = -1
3301  
3302 -2 .|.   -3 = -1
3303 -2 .|.   -2 = -2
3304 -2 .|.   -1 = -1
3305 -2 .|.   1 = -1
3306 -2 .|.   2 = -2
3307 -2 .|.   3 = -1
3308  
3309 -1 .|.   -3 = -1
3310 -1 .|.   -2 = -1
3311 -1 .|.   -1 = -1
3312 -1 .|.   1 = -1
3313 -1 .|.   2 = -1
3314 -1 .|.   3 = -1
3315  
3316 0 .|.   -3 = -3
3317 0 .|.   -2 = -2
3318 0 .|.   -1 = -1
3319 0 .|.   1 = 1
3320 0 .|.   2 = 2
3321 0 .|.   3 = 3
3322  
3323 1 .|.   -3 = -3
3324 1 .|.   -2 = -1
3325 1 .|.   -1 = -1
3326 1 .|.   1 = 1
3327 1 .|.   2 = 3
3328 1 .|.   3 = 3
3329  
3330 2 .|.   -3 = -1
3331 2 .|.   -2 = -2
3332 2 .|.   -1 = -1
3333 2 .|.   1 = 3
3334 2 .|.   2 = 2
3335 2 .|.   3 = 3
3336  
3337 3 .|.   -3 = -1
3338 3 .|.   -2 = -1
3339 3 .|.   -1 = -1
3340 3 .|.   1 = 3
3341 3 .|.   2 = 3
3342 3 .|.   3 = 3
3343  
3344 #
3345 -3 `xor` -3 = 0
3346 -3 `xor` -2 = 3
3347 -3 `xor` -1 = 2
3348 -3 `xor` 1 = -4
3349 -3 `xor` 2 = -1
3350 -3 `xor` 3 = -2
3351  
3352 -2 `xor` -3 = 3
3353 -2 `xor` -2 = 0
3354 -2 `xor` -1 = 1
3355 -2 `xor` 1 = -1
3356 -2 `xor` 2 = -4
3357 -2 `xor` 3 = -3
3358  
3359 -1 `xor` -3 = 2
3360 -1 `xor` -2 = 1
3361 -1 `xor` -1 = 0
3362 -1 `xor` 1 = -2
3363 -1 `xor` 2 = -3
3364 -1 `xor` 3 = -4
3365  
3366 0 `xor` -3 = -3
3367 0 `xor` -2 = -2
3368 0 `xor` -1 = -1
3369 0 `xor` 1 = 1
3370 0 `xor` 2 = 2
3371 0 `xor` 3 = 3
3372  
3373 1 `xor` -3 = -4
3374 1 `xor` -2 = -1
3375 1 `xor` -1 = -2
3376 1 `xor` 1 = 0
3377 1 `xor` 2 = 3
3378 1 `xor` 3 = 2
3379  
3380 2 `xor` -3 = -1
3381 2 `xor` -2 = -4
3382 2 `xor` -1 = -3
3383 2 `xor` 1 = 3
3384 2 `xor` 2 = 0
3385 2 `xor` 3 = 1
3386  
3387 3 `xor` -3 = -2
3388 3 `xor` -2 = -3
3389 3 `xor` -1 = -4
3390 3 `xor` 1 = 2
3391 3 `xor` 2 = 1
3392 3 `xor` 3 = 0
3393  
3394 #
3395 complement -3 = 2
3396 complement -2 = 1
3397 complement -1 = 0
3398 complement 0 = -1
3399 complement 1 = -2
3400 complement 2 = -3
3401 complement 3 = -4
3402 #
3403 -3 `shiftL` 0 = -3
3404 -3 `shiftL` 1 = -6
3405 -3 `shiftL` 2 = -12
3406 -3 `shiftL` 3 = -24
3407 -3 `shiftL` 32 = 0
3408  
3409 -2 `shiftL` 0 = -2
3410 -2 `shiftL` 1 = -4
3411 -2 `shiftL` 2 = -8
3412 -2 `shiftL` 3 = -16
3413 -2 `shiftL` 32 = 0
3414  
3415 -1 `shiftL` 0 = -1
3416 -1 `shiftL` 1 = -2
3417 -1 `shiftL` 2 = -4
3418 -1 `shiftL` 3 = -8
3419 -1 `shiftL` 32 = 0
3420  
3421 0 `shiftL` 0 = 0
3422 0 `shiftL` 1 = 0
3423 0 `shiftL` 2 = 0
3424 0 `shiftL` 3 = 0
3425 0 `shiftL` 32 = 0
3426  
3427 1 `shiftL` 0 = 1
3428 1 `shiftL` 1 = 2
3429 1 `shiftL` 2 = 4
3430 1 `shiftL` 3 = 8
3431 1 `shiftL` 32 = 0
3432  
3433 2 `shiftL` 0 = 2
3434 2 `shiftL` 1 = 4
3435 2 `shiftL` 2 = 8
3436 2 `shiftL` 3 = 16
3437 2 `shiftL` 32 = 0
3438  
3439 3 `shiftL` 0 = 3
3440 3 `shiftL` 1 = 6
3441 3 `shiftL` 2 = 12
3442 3 `shiftL` 3 = 24
3443 3 `shiftL` 32 = 0
3444  
3445 #
3446 -3 `shiftR` 0 = -3
3447 -3 `shiftR` 1 = -2
3448 -3 `shiftR` 2 = -1
3449 -3 `shiftR` 3 = -1
3450 -3 `shiftR` 32 = -1
3451  
3452 -2 `shiftR` 0 = -2
3453 -2 `shiftR` 1 = -1
3454 -2 `shiftR` 2 = -1
3455 -2 `shiftR` 3 = -1
3456 -2 `shiftR` 32 = -1
3457  
3458 -1 `shiftR` 0 = -1
3459 -1 `shiftR` 1 = -1
3460 -1 `shiftR` 2 = -1
3461 -1 `shiftR` 3 = -1
3462 -1 `shiftR` 32 = -1
3463  
3464 0 `shiftR` 0 = 0
3465 0 `shiftR` 1 = 0
3466 0 `shiftR` 2 = 0
3467 0 `shiftR` 3 = 0
3468 0 `shiftR` 32 = 0
3469  
3470 1 `shiftR` 0 = 1
3471 1 `shiftR` 1 = 0
3472 1 `shiftR` 2 = 0
3473 1 `shiftR` 3 = 0
3474 1 `shiftR` 32 = 0
3475  
3476 2 `shiftR` 0 = 2
3477 2 `shiftR` 1 = 1
3478 2 `shiftR` 2 = 0
3479 2 `shiftR` 3 = 0
3480 2 `shiftR` 32 = 0
3481  
3482 3 `shiftR` 0 = 3
3483 3 `shiftR` 1 = 1
3484 3 `shiftR` 2 = 0
3485 3 `shiftR` 3 = 0
3486 3 `shiftR` 32 = 0
3487  
3488 #
3489 -3 `rotate` -3 = -24545
3490 -3 `rotate` -2 = 16447
3491 -3 `rotate` -1 = -32642
3492 -3 `rotate` 0 = -3
3493 -3 `rotate` 1 = -5
3494 -3 `rotate` 2 = -9
3495 -3 `rotate` 3 = -17
3496  
3497 -2 `rotate` -3 = -16353
3498 -2 `rotate` -2 = -32705
3499 -2 `rotate` -1 = 127
3500 -2 `rotate` 0 = -2
3501 -2 `rotate` 1 = -3
3502 -2 `rotate` 2 = -5
3503 -2 `rotate` 3 = -9
3504  
3505 -1 `rotate` -3 = -8161
3506 -1 `rotate` -2 = -16321
3507 -1 `rotate` -1 = -32641
3508 -1 `rotate` 0 = -1
3509 -1 `rotate` 1 = -1
3510 -1 `rotate` 2 = -1
3511 -1 `rotate` 3 = -1
3512  
3513 0 `rotate` -3 = 0
3514 0 `rotate` -2 = 0
3515 0 `rotate` -1 = 0
3516 0 `rotate` 0 = 0
3517 0 `rotate` 1 = 0
3518 0 `rotate` 2 = 0
3519 0 `rotate` 3 = 0
3520  
3521 1 `rotate` -3 = 8192
3522 1 `rotate` -2 = 16384
3523 1 `rotate` -1 = -32768
3524 1 `rotate` 0 = 1
3525 1 `rotate` 1 = 2
3526 1 `rotate` 2 = 4
3527 1 `rotate` 3 = 8
3528  
3529 2 `rotate` -3 = 16384
3530 2 `rotate` -2 = -32768
3531 2 `rotate` -1 = 1
3532 2 `rotate` 0 = 2
3533 2 `rotate` 1 = 4
3534 2 `rotate` 2 = 8
3535 2 `rotate` 3 = 16
3536  
3537 3 `rotate` -3 = 24576
3538 3 `rotate` -2 = -16384
3539 3 `rotate` -1 = -32767
3540 3 `rotate` 0 = 3
3541 3 `rotate` 1 = 6
3542 3 `rotate` 2 = 12
3543 3 `rotate` 3 = 24
3544  
3545 #
3546 bit 0 = 1
3547 bit 1 = 2
3548 bit 2 = 4
3549 bit 3 = 8
3550 #
3551 -3 `setBit` 0 = -3
3552 -3 `setBit` 1 = -1
3553 -3 `setBit` 2 = -3
3554 -3 `setBit` 3 = -3
3555 -3 `setBit` 32 = -3
3556  
3557 -2 `setBit` 0 = -1
3558 -2 `setBit` 1 = -2
3559 -2 `setBit` 2 = -2
3560 -2 `setBit` 3 = -2
3561 -2 `setBit` 32 = -2
3562  
3563 -1 `setBit` 0 = -1
3564 -1 `setBit` 1 = -1
3565 -1 `setBit` 2 = -1
3566 -1 `setBit` 3 = -1
3567 -1 `setBit` 32 = -1
3568  
3569 0 `setBit` 0 = 1
3570 0 `setBit` 1 = 2
3571 0 `setBit` 2 = 4
3572 0 `setBit` 3 = 8
3573 0 `setBit` 32 = 0
3574  
3575 1 `setBit` 0 = 1
3576 1 `setBit` 1 = 3
3577 1 `setBit` 2 = 5
3578 1 `setBit` 3 = 9
3579 1 `setBit` 32 = 1
3580  
3581 2 `setBit` 0 = 3
3582 2 `setBit` 1 = 2
3583 2 `setBit` 2 = 6
3584 2 `setBit` 3 = 10
3585 2 `setBit` 32 = 2
3586  
3587 3 `setBit` 0 = 3
3588 3 `setBit` 1 = 3
3589 3 `setBit` 2 = 7
3590 3 `setBit` 3 = 11
3591 3 `setBit` 32 = 3
3592  
3593 #
3594 -3 `clearBit` 0 = -4
3595 -3 `clearBit` 1 = -3
3596 -3 `clearBit` 2 = -7
3597 -3 `clearBit` 3 = -11
3598 -3 `clearBit` 32 = -3
3599  
3600 -2 `clearBit` 0 = -2
3601 -2 `clearBit` 1 = -4
3602 -2 `clearBit` 2 = -6
3603 -2 `clearBit` 3 = -10
3604 -2 `clearBit` 32 = -2
3605  
3606 -1 `clearBit` 0 = -2
3607 -1 `clearBit` 1 = -3
3608 -1 `clearBit` 2 = -5
3609 -1 `clearBit` 3 = -9
3610 -1 `clearBit` 32 = -1
3611  
3612 0 `clearBit` 0 = 0
3613 0 `clearBit` 1 = 0
3614 0 `clearBit` 2 = 0
3615 0 `clearBit` 3 = 0
3616 0 `clearBit` 32 = 0
3617  
3618 1 `clearBit` 0 = 0
3619 1 `clearBit` 1 = 1
3620 1 `clearBit` 2 = 1
3621 1 `clearBit` 3 = 1
3622 1 `clearBit` 32 = 1
3623  
3624 2 `clearBit` 0 = 2
3625 2 `clearBit` 1 = 0
3626 2 `clearBit` 2 = 2
3627 2 `clearBit` 3 = 2
3628 2 `clearBit` 32 = 2
3629  
3630 3 `clearBit` 0 = 2
3631 3 `clearBit` 1 = 1
3632 3 `clearBit` 2 = 3
3633 3 `clearBit` 3 = 3
3634 3 `clearBit` 32 = 3
3635  
3636 #
3637 -3 `complementBit` 0 = -4
3638 -3 `complementBit` 1 = -1
3639 -3 `complementBit` 2 = -7
3640 -3 `complementBit` 3 = -11
3641 -3 `complementBit` 32 = -3
3642  
3643 -2 `complementBit` 0 = -1
3644 -2 `complementBit` 1 = -4
3645 -2 `complementBit` 2 = -6
3646 -2 `complementBit` 3 = -10
3647 -2 `complementBit` 32 = -2
3648  
3649 -1 `complementBit` 0 = -2
3650 -1 `complementBit` 1 = -3
3651 -1 `complementBit` 2 = -5
3652 -1 `complementBit` 3 = -9
3653 -1 `complementBit` 32 = -1
3654  
3655 0 `complementBit` 0 = 1
3656 0 `complementBit` 1 = 2
3657 0 `complementBit` 2 = 4
3658 0 `complementBit` 3 = 8
3659 0 `complementBit` 32 = 0
3660  
3661 1 `complementBit` 0 = 0
3662 1 `complementBit` 1 = 3
3663 1 `complementBit` 2 = 5
3664 1 `complementBit` 3 = 9
3665 1 `complementBit` 32 = 1
3666  
3667 2 `complementBit` 0 = 3
3668 2 `complementBit` 1 = 0
3669 2 `complementBit` 2 = 6
3670 2 `complementBit` 3 = 10
3671 2 `complementBit` 32 = 2
3672  
3673 3 `complementBit` 0 = 2
3674 3 `complementBit` 1 = 1
3675 3 `complementBit` 2 = 7
3676 3 `complementBit` 3 = 11
3677 3 `complementBit` 32 = 3
3678  
3679 #
3680 -3 `testBit` 0 = True
3681 -3 `testBit` 1 = False
3682 -3 `testBit` 2 = True
3683 -3 `testBit` 3 = True
3684 -3 `testBit` 32 = False
3685  
3686 -2 `testBit` 0 = False
3687 -2 `testBit` 1 = True
3688 -2 `testBit` 2 = True
3689 -2 `testBit` 3 = True
3690 -2 `testBit` 32 = False
3691  
3692 -1 `testBit` 0 = True
3693 -1 `testBit` 1 = True
3694 -1 `testBit` 2 = True
3695 -1 `testBit` 3 = True
3696 -1 `testBit` 32 = False
3697  
3698 0 `testBit` 0 = False
3699 0 `testBit` 1 = False
3700 0 `testBit` 2 = False
3701 0 `testBit` 3 = False
3702 0 `testBit` 32 = False
3703  
3704 1 `testBit` 0 = True
3705 1 `testBit` 1 = False
3706 1 `testBit` 2 = False
3707 1 `testBit` 3 = False
3708 1 `testBit` 32 = False
3709  
3710 2 `testBit` 0 = False
3711 2 `testBit` 1 = True
3712 2 `testBit` 2 = False
3713 2 `testBit` 3 = False
3714 2 `testBit` 32 = False
3715  
3716 3 `testBit` 0 = True
3717 3 `testBit` 1 = True
3718 3 `testBit` 2 = False
3719 3 `testBit` 3 = False
3720 3 `testBit` 32 = False
3721  
3722 #
3723 bitSize -3 = 16
3724 bitSize -2 = 16
3725 bitSize -1 = 16
3726 bitSize 0 = 16
3727 bitSize 1 = 16
3728 bitSize 2 = 16
3729 bitSize 3 = 16
3730 #
3731 isSigned -3 = True
3732 isSigned -2 = True
3733 isSigned -1 = True
3734 isSigned 0 = True
3735 isSigned 1 = True
3736 isSigned 2 = True
3737 isSigned 3 = True
3738 #
3739 --------------------------------
3740 --Testing Int32
3741 --------------------------------
3742 testBounded
3743 (2147483647,-2147483648,-2147483647)
3744 (2147483646,2147483647,-2147483648)
3745 testEnum
3746 [0,1,2,3,4,5,6,7,8,9]
3747 [0,2,4,6,8,10,12,14,16,18]
3748 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
3749 [0,2,4,6,8,10,12,14,16,18,20]
3750 testReadShow
3751 [-3,-2,-1,0,1,2,3]
3752 [-3,-2,-1,0,1,2,3]
3753 testEq
3754 -3 == -3 = True
3755 -3 == -2 = False
3756 -3 == -1 = False
3757 -3 == 0 = False
3758 -3 == 1 = False
3759 -3 == 2 = False
3760 -3 == 3 = False
3761  
3762 -2 == -3 = False
3763 -2 == -2 = True
3764 -2 == -1 = False
3765 -2 == 0 = False
3766 -2 == 1 = False
3767 -2 == 2 = False
3768 -2 == 3 = False
3769  
3770 -1 == -3 = False
3771 -1 == -2 = False
3772 -1 == -1 = True
3773 -1 == 0 = False
3774 -1 == 1 = False
3775 -1 == 2 = False
3776 -1 == 3 = False
3777  
3778 0 == -3 = False
3779 0 == -2 = False
3780 0 == -1 = False
3781 0 == 0 = True
3782 0 == 1 = False
3783 0 == 2 = False
3784 0 == 3 = False
3785  
3786 1 == -3 = False
3787 1 == -2 = False
3788 1 == -1 = False
3789 1 == 0 = False
3790 1 == 1 = True
3791 1 == 2 = False
3792 1 == 3 = False
3793  
3794 2 == -3 = False
3795 2 == -2 = False
3796 2 == -1 = False
3797 2 == 0 = False
3798 2 == 1 = False
3799 2 == 2 = True
3800 2 == 3 = False
3801  
3802 3 == -3 = False
3803 3 == -2 = False
3804 3 == -1 = False
3805 3 == 0 = False
3806 3 == 1 = False
3807 3 == 2 = False
3808 3 == 3 = True
3809  
3810 #
3811 -3 /= -3 = False
3812 -3 /= -2 = True
3813 -3 /= -1 = True
3814 -3 /= 0 = True
3815 -3 /= 1 = True
3816 -3 /= 2 = True
3817 -3 /= 3 = True
3818  
3819 -2 /= -3 = True
3820 -2 /= -2 = False
3821 -2 /= -1 = True
3822 -2 /= 0 = True
3823 -2 /= 1 = True
3824 -2 /= 2 = True
3825 -2 /= 3 = True
3826  
3827 -1 /= -3 = True
3828 -1 /= -2 = True
3829 -1 /= -1 = False
3830 -1 /= 0 = True
3831 -1 /= 1 = True
3832 -1 /= 2 = True
3833 -1 /= 3 = True
3834  
3835 0 /= -3 = True
3836 0 /= -2 = True
3837 0 /= -1 = True
3838 0 /= 0 = False
3839 0 /= 1 = True
3840 0 /= 2 = True
3841 0 /= 3 = True
3842  
3843 1 /= -3 = True
3844 1 /= -2 = True
3845 1 /= -1 = True
3846 1 /= 0 = True
3847 1 /= 1 = False
3848 1 /= 2 = True
3849 1 /= 3 = True
3850  
3851 2 /= -3 = True
3852 2 /= -2 = True
3853 2 /= -1 = True
3854 2 /= 0 = True
3855 2 /= 1 = True
3856 2 /= 2 = False
3857 2 /= 3 = True
3858  
3859 3 /= -3 = True
3860 3 /= -2 = True
3861 3 /= -1 = True
3862 3 /= 0 = True
3863 3 /= 1 = True
3864 3 /= 2 = True
3865 3 /= 3 = False
3866  
3867 #
3868 testOrd
3869 -3 <= -3 = True
3870 -3 <= -2 = True
3871 -3 <= -1 = True
3872 -3 <= 0 = True
3873 -3 <= 1 = True
3874 -3 <= 2 = True
3875 -3 <= 3 = True
3876  
3877 -2 <= -3 = False
3878 -2 <= -2 = True
3879 -2 <= -1 = True
3880 -2 <= 0 = True
3881 -2 <= 1 = True
3882 -2 <= 2 = True
3883 -2 <= 3 = True
3884  
3885 -1 <= -3 = False
3886 -1 <= -2 = False
3887 -1 <= -1 = True
3888 -1 <= 0 = True
3889 -1 <= 1 = True
3890 -1 <= 2 = True
3891 -1 <= 3 = True
3892  
3893 0 <= -3 = False
3894 0 <= -2 = False
3895 0 <= -1 = False
3896 0 <= 0 = True
3897 0 <= 1 = True
3898 0 <= 2 = True
3899 0 <= 3 = True
3900  
3901 1 <= -3 = False
3902 1 <= -2 = False
3903 1 <= -1 = False
3904 1 <= 0 = False
3905 1 <= 1 = True
3906 1 <= 2 = True
3907 1 <= 3 = True
3908  
3909 2 <= -3 = False
3910 2 <= -2 = False
3911 2 <= -1 = False
3912 2 <= 0 = False
3913 2 <= 1 = False
3914 2 <= 2 = True
3915 2 <= 3 = True
3916  
3917 3 <= -3 = False
3918 3 <= -2 = False
3919 3 <= -1 = False
3920 3 <= 0 = False
3921 3 <= 1 = False
3922 3 <= 2 = False
3923 3 <= 3 = True
3924  
3925 #
3926 -3 <  -3 = False
3927 -3 <  -2 = True
3928 -3 <  -1 = True
3929 -3 <  0 = True
3930 -3 <  1 = True
3931 -3 <  2 = True
3932 -3 <  3 = True
3933  
3934 -2 <  -3 = False
3935 -2 <  -2 = False
3936 -2 <  -1 = True
3937 -2 <  0 = True
3938 -2 <  1 = True
3939 -2 <  2 = True
3940 -2 <  3 = True
3941  
3942 -1 <  -3 = False
3943 -1 <  -2 = False
3944 -1 <  -1 = False
3945 -1 <  0 = True
3946 -1 <  1 = True
3947 -1 <  2 = True
3948 -1 <  3 = True
3949  
3950 0 <  -3 = False
3951 0 <  -2 = False
3952 0 <  -1 = False
3953 0 <  0 = False
3954 0 <  1 = True
3955 0 <  2 = True
3956 0 <  3 = True
3957  
3958 1 <  -3 = False
3959 1 <  -2 = False
3960 1 <  -1 = False
3961 1 <  0 = False
3962 1 <  1 = False
3963 1 <  2 = True
3964 1 <  3 = True
3965  
3966 2 <  -3 = False
3967 2 <  -2 = False
3968 2 <  -1 = False
3969 2 <  0 = False
3970 2 <  1 = False
3971 2 <  2 = False
3972 2 <  3 = True
3973  
3974 3 <  -3 = False
3975 3 <  -2 = False
3976 3 <  -1 = False
3977 3 <  0 = False
3978 3 <  1 = False
3979 3 <  2 = False
3980 3 <  3 = False
3981  
3982 #
3983 -3 >  -3 = False
3984 -3 >  -2 = False
3985 -3 >  -1 = False
3986 -3 >  0 = False
3987 -3 >  1 = False
3988 -3 >  2 = False
3989 -3 >  3 = False
3990  
3991 -2 >  -3 = True
3992 -2 >  -2 = False
3993 -2 >  -1 = False
3994 -2 >  0 = False
3995 -2 >  1 = False
3996 -2 >  2 = False
3997 -2 >  3 = False
3998  
3999 -1 >  -3 = True
4000 -1 >  -2 = True
4001 -1 >  -1 = False
4002 -1 >  0 = False
4003 -1 >  1 = False
4004 -1 >  2 = False
4005 -1 >  3 = False
4006  
4007 0 >  -3 = True
4008 0 >  -2 = True
4009 0 >  -1 = True
4010 0 >  0 = False
4011 0 >  1 = False
4012 0 >  2 = False
4013 0 >  3 = False
4014  
4015 1 >  -3 = True
4016 1 >  -2 = True
4017 1 >  -1 = True
4018 1 >  0 = True
4019 1 >  1 = False
4020 1 >  2 = False
4021 1 >  3 = False
4022  
4023 2 >  -3 = True
4024 2 >  -2 = True
4025 2 >  -1 = True
4026 2 >  0 = True
4027 2 >  1 = True
4028 2 >  2 = False
4029 2 >  3 = False
4030  
4031 3 >  -3 = True
4032 3 >  -2 = True
4033 3 >  -1 = True
4034 3 >  0 = True
4035 3 >  1 = True
4036 3 >  2 = True
4037 3 >  3 = False
4038  
4039 #
4040 -3 >= -3 = True
4041 -3 >= -2 = False
4042 -3 >= -1 = False
4043 -3 >= 0 = False
4044 -3 >= 1 = False
4045 -3 >= 2 = False
4046 -3 >= 3 = False
4047  
4048 -2 >= -3 = True
4049 -2 >= -2 = True
4050 -2 >= -1 = False
4051 -2 >= 0 = False
4052 -2 >= 1 = False
4053 -2 >= 2 = False
4054 -2 >= 3 = False
4055  
4056 -1 >= -3 = True
4057 -1 >= -2 = True
4058 -1 >= -1 = True
4059 -1 >= 0 = False
4060 -1 >= 1 = False
4061 -1 >= 2 = False
4062 -1 >= 3 = False
4063  
4064 0 >= -3 = True
4065 0 >= -2 = True
4066 0 >= -1 = True
4067 0 >= 0 = True
4068 0 >= 1 = False
4069 0 >= 2 = False
4070 0 >= 3 = False
4071  
4072 1 >= -3 = True
4073 1 >= -2 = True
4074 1 >= -1 = True
4075 1 >= 0 = True
4076 1 >= 1 = True
4077 1 >= 2 = False
4078 1 >= 3 = False
4079  
4080 2 >= -3 = True
4081 2 >= -2 = True
4082 2 >= -1 = True
4083 2 >= 0 = True
4084 2 >= 1 = True
4085 2 >= 2 = True
4086 2 >= 3 = False
4087  
4088 3 >= -3 = True
4089 3 >= -2 = True
4090 3 >= -1 = True
4091 3 >= 0 = True
4092 3 >= 1 = True
4093 3 >= 2 = True
4094 3 >= 3 = True
4095  
4096 #
4097 -3 `compare` -3 = EQ
4098 -3 `compare` -2 = LT
4099 -3 `compare` -1 = LT
4100 -3 `compare` 0 = LT
4101 -3 `compare` 1 = LT
4102 -3 `compare` 2 = LT
4103 -3 `compare` 3 = LT
4104  
4105 -2 `compare` -3 = GT
4106 -2 `compare` -2 = EQ
4107 -2 `compare` -1 = LT
4108 -2 `compare` 0 = LT
4109 -2 `compare` 1 = LT
4110 -2 `compare` 2 = LT
4111 -2 `compare` 3 = LT
4112  
4113 -1 `compare` -3 = GT
4114 -1 `compare` -2 = GT
4115 -1 `compare` -1 = EQ
4116 -1 `compare` 0 = LT
4117 -1 `compare` 1 = LT
4118 -1 `compare` 2 = LT
4119 -1 `compare` 3 = LT
4120  
4121 0 `compare` -3 = GT
4122 0 `compare` -2 = GT
4123 0 `compare` -1 = GT
4124 0 `compare` 0 = EQ
4125 0 `compare` 1 = LT
4126 0 `compare` 2 = LT
4127 0 `compare` 3 = LT
4128  
4129 1 `compare` -3 = GT
4130 1 `compare` -2 = GT
4131 1 `compare` -1 = GT
4132 1 `compare` 0 = GT
4133 1 `compare` 1 = EQ
4134 1 `compare` 2 = LT
4135 1 `compare` 3 = LT
4136  
4137 2 `compare` -3 = GT
4138 2 `compare` -2 = GT
4139 2 `compare` -1 = GT
4140 2 `compare` 0 = GT
4141 2 `compare` 1 = GT
4142 2 `compare` 2 = EQ
4143 2 `compare` 3 = LT
4144  
4145 3 `compare` -3 = GT
4146 3 `compare` -2 = GT
4147 3 `compare` -1 = GT
4148 3 `compare` 0 = GT
4149 3 `compare` 1 = GT
4150 3 `compare` 2 = GT
4151 3 `compare` 3 = EQ
4152  
4153 #
4154 testNum
4155 -3 + -3 = -6
4156 -3 + -2 = -5
4157 -3 + -1 = -4
4158 -3 + 0 = -3
4159 -3 + 1 = -2
4160 -3 + 2 = -1
4161 -3 + 3 = 0
4162  
4163 -2 + -3 = -5
4164 -2 + -2 = -4
4165 -2 + -1 = -3
4166 -2 + 0 = -2
4167 -2 + 1 = -1
4168 -2 + 2 = 0
4169 -2 + 3 = 1
4170  
4171 -1 + -3 = -4
4172 -1 + -2 = -3
4173 -1 + -1 = -2
4174 -1 + 0 = -1
4175 -1 + 1 = 0
4176 -1 + 2 = 1
4177 -1 + 3 = 2
4178  
4179 0 + -3 = -3
4180 0 + -2 = -2
4181 0 + -1 = -1
4182 0 + 0 = 0
4183 0 + 1 = 1
4184 0 + 2 = 2
4185 0 + 3 = 3
4186  
4187 1 + -3 = -2
4188 1 + -2 = -1
4189 1 + -1 = 0
4190 1 + 0 = 1
4191 1 + 1 = 2
4192 1 + 2 = 3
4193 1 + 3 = 4
4194  
4195 2 + -3 = -1
4196 2 + -2 = 0
4197 2 + -1 = 1
4198 2 + 0 = 2
4199 2 + 1 = 3
4200 2 + 2 = 4
4201 2 + 3 = 5
4202  
4203 3 + -3 = 0
4204 3 + -2 = 1
4205 3 + -1 = 2
4206 3 + 0 = 3
4207 3 + 1 = 4
4208 3 + 2 = 5
4209 3 + 3 = 6
4210  
4211 #
4212 -3 - -3 = 0
4213 -3 - -2 = -1
4214 -3 - -1 = -2
4215 -3 - 0 = -3
4216 -3 - 1 = -4
4217 -3 - 2 = -5
4218 -3 - 3 = -6
4219  
4220 -2 - -3 = 1
4221 -2 - -2 = 0
4222 -2 - -1 = -1
4223 -2 - 0 = -2
4224 -2 - 1 = -3
4225 -2 - 2 = -4
4226 -2 - 3 = -5
4227  
4228 -1 - -3 = 2
4229 -1 - -2 = 1
4230 -1 - -1 = 0
4231 -1 - 0 = -1
4232 -1 - 1 = -2
4233 -1 - 2 = -3
4234 -1 - 3 = -4
4235  
4236 0 - -3 = 3
4237 0 - -2 = 2
4238 0 - -1 = 1
4239 0 - 0 = 0
4240 0 - 1 = -1
4241 0 - 2 = -2
4242 0 - 3 = -3
4243  
4244 1 - -3 = 4
4245 1 - -2 = 3
4246 1 - -1 = 2
4247 1 - 0 = 1
4248 1 - 1 = 0
4249 1 - 2 = -1
4250 1 - 3 = -2
4251  
4252 2 - -3 = 5
4253 2 - -2 = 4
4254 2 - -1 = 3
4255 2 - 0 = 2
4256 2 - 1 = 1
4257 2 - 2 = 0
4258 2 - 3 = -1
4259  
4260 3 - -3 = 6
4261 3 - -2 = 5
4262 3 - -1 = 4
4263 3 - 0 = 3
4264 3 - 1 = 2
4265 3 - 2 = 1
4266 3 - 3 = 0
4267  
4268 #
4269 -3 * -3 = 9
4270 -3 * -2 = 6
4271 -3 * -1 = 3
4272 -3 * 0 = 0
4273 -3 * 1 = -3
4274 -3 * 2 = -6
4275 -3 * 3 = -9
4276  
4277 -2 * -3 = 6
4278 -2 * -2 = 4
4279 -2 * -1 = 2
4280 -2 * 0 = 0
4281 -2 * 1 = -2
4282 -2 * 2 = -4
4283 -2 * 3 = -6
4284  
4285 -1 * -3 = 3
4286 -1 * -2 = 2
4287 -1 * -1 = 1
4288 -1 * 0 = 0
4289 -1 * 1 = -1
4290 -1 * 2 = -2
4291 -1 * 3 = -3
4292  
4293 0 * -3 = 0
4294 0 * -2 = 0
4295 0 * -1 = 0
4296 0 * 0 = 0
4297 0 * 1 = 0
4298 0 * 2 = 0
4299 0 * 3 = 0
4300  
4301 1 * -3 = -3
4302 1 * -2 = -2
4303 1 * -1 = -1
4304 1 * 0 = 0
4305 1 * 1 = 1
4306 1 * 2 = 2
4307 1 * 3 = 3
4308  
4309 2 * -3 = -6
4310 2 * -2 = -4
4311 2 * -1 = -2
4312 2 * 0 = 0
4313 2 * 1 = 2
4314 2 * 2 = 4
4315 2 * 3 = 6
4316  
4317 3 * -3 = -9
4318 3 * -2 = -6
4319 3 * -1 = -3
4320 3 * 0 = 0
4321 3 * 1 = 3
4322 3 * 2 = 6
4323 3 * 3 = 9
4324  
4325 #
4326 negate -3 = 3
4327 negate -2 = 2
4328 negate -1 = 1
4329 negate 0 = 0
4330 negate 1 = -1
4331 negate 2 = -2
4332 negate 3 = -3
4333 #
4334 testReal
4335 toRational -3 = -3 % 1
4336 toRational -2 = -2 % 1
4337 toRational -1 = -1 % 1
4338 toRational 0 = 0 % 1
4339 toRational 1 = 1 % 1
4340 toRational 2 = 2 % 1
4341 toRational 3 = 3 % 1
4342 #
4343 testIntegral
4344 -3 `divMod`  -3 = (1,0)
4345 -3 `divMod`  -2 = (1,-1)
4346 -3 `divMod`  -1 = (3,0)
4347 -3 `divMod`  1 = (-3,0)
4348 -3 `divMod`  2 = (-2,1)
4349 -3 `divMod`  3 = (-1,0)
4350  
4351 -2 `divMod`  -3 = (0,-2)
4352 -2 `divMod`  -2 = (1,0)
4353 -2 `divMod`  -1 = (2,0)
4354 -2 `divMod`  1 = (-2,0)
4355 -2 `divMod`  2 = (-1,0)
4356 -2 `divMod`  3 = (-1,1)
4357  
4358 -1 `divMod`  -3 = (0,-1)
4359 -1 `divMod`  -2 = (0,-1)
4360 -1 `divMod`  -1 = (1,0)
4361 -1 `divMod`  1 = (-1,0)
4362 -1 `divMod`  2 = (-1,1)
4363 -1 `divMod`  3 = (-1,2)
4364  
4365 0 `divMod`  -3 = (0,0)
4366 0 `divMod`  -2 = (0,0)
4367 0 `divMod`  -1 = (0,0)
4368 0 `divMod`  1 = (0,0)
4369 0 `divMod`  2 = (0,0)
4370 0 `divMod`  3 = (0,0)
4371  
4372 1 `divMod`  -3 = (-1,-2)
4373 1 `divMod`  -2 = (-1,-1)
4374 1 `divMod`  -1 = (-1,0)
4375 1 `divMod`  1 = (1,0)
4376 1 `divMod`  2 = (0,1)
4377 1 `divMod`  3 = (0,1)
4378  
4379 2 `divMod`  -3 = (-1,-1)
4380 2 `divMod`  -2 = (-1,0)
4381 2 `divMod`  -1 = (-2,0)
4382 2 `divMod`  1 = (2,0)
4383 2 `divMod`  2 = (1,0)
4384 2 `divMod`  3 = (0,2)
4385  
4386 3 `divMod`  -3 = (-1,0)
4387 3 `divMod`  -2 = (-2,-1)
4388 3 `divMod`  -1 = (-3,0)
4389 3 `divMod`  1 = (3,0)
4390 3 `divMod`  2 = (1,1)
4391 3 `divMod`  3 = (1,0)
4392  
4393 #
4394 -3 `div`     -3 = 1
4395 -3 `div`     -2 = 1
4396 -3 `div`     -1 = 3
4397 -3 `div`     1 = -3
4398 -3 `div`     2 = -2
4399 -3 `div`     3 = -1
4400  
4401 -2 `div`     -3 = 0
4402 -2 `div`     -2 = 1
4403 -2 `div`     -1 = 2
4404 -2 `div`     1 = -2
4405 -2 `div`     2 = -1
4406 -2 `div`     3 = -1
4407  
4408 -1 `div`     -3 = 0
4409 -1 `div`     -2 = 0
4410 -1 `div`     -1 = 1
4411 -1 `div`     1 = -1
4412 -1 `div`     2 = -1
4413 -1 `div`     3 = -1
4414  
4415 0 `div`     -3 = 0
4416 0 `div`     -2 = 0
4417 0 `div`     -1 = 0
4418 0 `div`     1 = 0
4419 0 `div`     2 = 0
4420 0 `div`     3 = 0
4421  
4422 1 `div`     -3 = -1
4423 1 `div`     -2 = -1
4424 1 `div`     -1 = -1
4425 1 `div`     1 = 1
4426 1 `div`     2 = 0
4427 1 `div`     3 = 0
4428  
4429 2 `div`     -3 = -1
4430 2 `div`     -2 = -1
4431 2 `div`     -1 = -2
4432 2 `div`     1 = 2
4433 2 `div`     2 = 1
4434 2 `div`     3 = 0
4435  
4436 3 `div`     -3 = -1
4437 3 `div`     -2 = -2
4438 3 `div`     -1 = -3
4439 3 `div`     1 = 3
4440 3 `div`     2 = 1
4441 3 `div`     3 = 1
4442  
4443 #
4444 -3 `mod`     -3 = 0
4445 -3 `mod`     -2 = -1
4446 -3 `mod`     -1 = 0
4447 -3 `mod`     1 = 0
4448 -3 `mod`     2 = 1
4449 -3 `mod`     3 = 0
4450  
4451 -2 `mod`     -3 = -2
4452 -2 `mod`     -2 = 0
4453 -2 `mod`     -1 = 0
4454 -2 `mod`     1 = 0
4455 -2 `mod`     2 = 0
4456 -2 `mod`     3 = 1
4457  
4458 -1 `mod`     -3 = -1
4459 -1 `mod`     -2 = -1
4460 -1 `mod`     -1 = 0
4461 -1 `mod`     1 = 0
4462 -1 `mod`     2 = 1
4463 -1 `mod`     3 = 2
4464  
4465 0 `mod`     -3 = 0
4466 0 `mod`     -2 = 0
4467 0 `mod`     -1 = 0
4468 0 `mod`     1 = 0
4469 0 `mod`     2 = 0
4470 0 `mod`     3 = 0
4471  
4472 1 `mod`     -3 = -2
4473 1 `mod`     -2 = -1
4474 1 `mod`     -1 = 0
4475 1 `mod`     1 = 0
4476 1 `mod`     2 = 1
4477 1 `mod`     3 = 1
4478  
4479 2 `mod`     -3 = -1
4480 2 `mod`     -2 = 0
4481 2 `mod`     -1 = 0
4482 2 `mod`     1 = 0
4483 2 `mod`     2 = 0
4484 2 `mod`     3 = 2
4485  
4486 3 `mod`     -3 = 0
4487 3 `mod`     -2 = -1
4488 3 `mod`     -1 = 0
4489 3 `mod`     1 = 0
4490 3 `mod`     2 = 1
4491 3 `mod`     3 = 0
4492  
4493 #
4494 -3 `quotRem` -3 = (1,0)
4495 -3 `quotRem` -2 = (1,-1)
4496 -3 `quotRem` -1 = (3,0)
4497 -3 `quotRem` 1 = (-3,0)
4498 -3 `quotRem` 2 = (-1,-1)
4499 -3 `quotRem` 3 = (-1,0)
4500  
4501 -2 `quotRem` -3 = (0,-2)
4502 -2 `quotRem` -2 = (1,0)
4503 -2 `quotRem` -1 = (2,0)
4504 -2 `quotRem` 1 = (-2,0)
4505 -2 `quotRem` 2 = (-1,0)
4506 -2 `quotRem` 3 = (0,-2)
4507  
4508 -1 `quotRem` -3 = (0,-1)
4509 -1 `quotRem` -2 = (0,-1)
4510 -1 `quotRem` -1 = (1,0)
4511 -1 `quotRem` 1 = (-1,0)
4512 -1 `quotRem` 2 = (0,-1)
4513 -1 `quotRem` 3 = (0,-1)
4514  
4515 0 `quotRem` -3 = (0,0)
4516 0 `quotRem` -2 = (0,0)
4517 0 `quotRem` -1 = (0,0)
4518 0 `quotRem` 1 = (0,0)
4519 0 `quotRem` 2 = (0,0)
4520 0 `quotRem` 3 = (0,0)
4521  
4522 1 `quotRem` -3 = (0,1)
4523 1 `quotRem` -2 = (0,1)
4524 1 `quotRem` -1 = (-1,0)
4525 1 `quotRem` 1 = (1,0)
4526 1 `quotRem` 2 = (0,1)
4527 1 `quotRem` 3 = (0,1)
4528  
4529 2 `quotRem` -3 = (0,2)
4530 2 `quotRem` -2 = (-1,0)
4531 2 `quotRem` -1 = (-2,0)
4532 2 `quotRem` 1 = (2,0)
4533 2 `quotRem` 2 = (1,0)
4534 2 `quotRem` 3 = (0,2)
4535  
4536 3 `quotRem` -3 = (-1,0)
4537 3 `quotRem` -2 = (-1,1)
4538 3 `quotRem` -1 = (-3,0)
4539 3 `quotRem` 1 = (3,0)
4540 3 `quotRem` 2 = (1,1)
4541 3 `quotRem` 3 = (1,0)
4542  
4543 #
4544 -3 `quot`    -3 = 1
4545 -3 `quot`    -2 = 1
4546 -3 `quot`    -1 = 3
4547 -3 `quot`    1 = -3
4548 -3 `quot`    2 = -1
4549 -3 `quot`    3 = -1
4550  
4551 -2 `quot`    -3 = 0
4552 -2 `quot`    -2 = 1
4553 -2 `quot`    -1 = 2
4554 -2 `quot`    1 = -2
4555 -2 `quot`    2 = -1
4556 -2 `quot`    3 = 0
4557  
4558 -1 `quot`    -3 = 0
4559 -1 `quot`    -2 = 0
4560 -1 `quot`    -1 = 1
4561 -1 `quot`    1 = -1
4562 -1 `quot`    2 = 0
4563 -1 `quot`    3 = 0
4564  
4565 0 `quot`    -3 = 0
4566 0 `quot`    -2 = 0
4567 0 `quot`    -1 = 0
4568 0 `quot`    1 = 0
4569 0 `quot`    2 = 0
4570 0 `quot`    3 = 0
4571  
4572 1 `quot`    -3 = 0
4573 1 `quot`    -2 = 0
4574 1 `quot`    -1 = -1
4575 1 `quot`    1 = 1
4576 1 `quot`    2 = 0
4577 1 `quot`    3 = 0
4578  
4579 2 `quot`    -3 = 0
4580 2 `quot`    -2 = -1
4581 2 `quot`    -1 = -2
4582 2 `quot`    1 = 2
4583 2 `quot`    2 = 1
4584 2 `quot`    3 = 0
4585  
4586 3 `quot`    -3 = -1
4587 3 `quot`    -2 = -1
4588 3 `quot`    -1 = -3
4589 3 `quot`    1 = 3
4590 3 `quot`    2 = 1
4591 3 `quot`    3 = 1
4592  
4593 #
4594 -3 `rem`     -3 = 0
4595 -3 `rem`     -2 = -1
4596 -3 `rem`     -1 = 0
4597 -3 `rem`     1 = 0
4598 -3 `rem`     2 = -1
4599 -3 `rem`     3 = 0
4600  
4601 -2 `rem`     -3 = -2
4602 -2 `rem`     -2 = 0
4603 -2 `rem`     -1 = 0
4604 -2 `rem`     1 = 0
4605 -2 `rem`     2 = 0
4606 -2 `rem`     3 = -2
4607  
4608 -1 `rem`     -3 = -1
4609 -1 `rem`     -2 = -1
4610 -1 `rem`     -1 = 0
4611 -1 `rem`     1 = 0
4612 -1 `rem`     2 = -1
4613 -1 `rem`     3 = -1
4614  
4615 0 `rem`     -3 = 0
4616 0 `rem`     -2 = 0
4617 0 `rem`     -1 = 0
4618 0 `rem`     1 = 0
4619 0 `rem`     2 = 0
4620 0 `rem`     3 = 0
4621  
4622 1 `rem`     -3 = 1
4623 1 `rem`     -2 = 1
4624 1 `rem`     -1 = 0
4625 1 `rem`     1 = 0
4626 1 `rem`     2 = 1
4627 1 `rem`     3 = 1
4628  
4629 2 `rem`     -3 = 2
4630 2 `rem`     -2 = 0
4631 2 `rem`     -1 = 0
4632 2 `rem`     1 = 0
4633 2 `rem`     2 = 0
4634 2 `rem`     3 = 2
4635  
4636 3 `rem`     -3 = 0
4637 3 `rem`     -2 = 1
4638 3 `rem`     -1 = 0
4639 3 `rem`     1 = 0
4640 3 `rem`     2 = 1
4641 3 `rem`     3 = 0
4642  
4643 #
4644 testConversions
4645 Integer : [-2147483648,0,2147483647]
4646 Int     : [-2147483648,0,2147483647]
4647 Int8    : [0,0,-1]
4648 Int16   : [0,0,-1]
4649 Int32   : [-2147483648,0,2147483647]
4650 Int64   : [-2147483648,0,2147483647]
4651 Word8   : [0,0,255]
4652 Word16  : [0,0,65535]
4653 Word32  : [2147483648,0,2147483647]
4654 Word64  : [2147483648,0,2147483647]
4655 testBits
4656 -3 .&.   -3 = -3
4657 -3 .&.   -2 = -4
4658 -3 .&.   -1 = -3
4659 -3 .&.   1 = 1
4660 -3 .&.   2 = 0
4661 -3 .&.   3 = 1
4662  
4663 -2 .&.   -3 = -4
4664 -2 .&.   -2 = -2
4665 -2 .&.   -1 = -2
4666 -2 .&.   1 = 0
4667 -2 .&.   2 = 2
4668 -2 .&.   3 = 2
4669  
4670 -1 .&.   -3 = -3
4671 -1 .&.   -2 = -2
4672 -1 .&.   -1 = -1
4673 -1 .&.   1 = 1
4674 -1 .&.   2 = 2
4675 -1 .&.   3 = 3
4676  
4677 0 .&.   -3 = 0
4678 0 .&.   -2 = 0
4679 0 .&.   -1 = 0
4680 0 .&.   1 = 0
4681 0 .&.   2 = 0
4682 0 .&.   3 = 0
4683  
4684 1 .&.   -3 = 1
4685 1 .&.   -2 = 0
4686 1 .&.   -1 = 1
4687 1 .&.   1 = 1
4688 1 .&.   2 = 0
4689 1 .&.   3 = 1
4690  
4691 2 .&.   -3 = 0
4692 2 .&.   -2 = 2
4693 2 .&.   -1 = 2
4694 2 .&.   1 = 0
4695 2 .&.   2 = 2
4696 2 .&.   3 = 2
4697  
4698 3 .&.   -3 = 1
4699 3 .&.   -2 = 2
4700 3 .&.   -1 = 3
4701 3 .&.   1 = 1
4702 3 .&.   2 = 2
4703 3 .&.   3 = 3
4704  
4705 #
4706 -3 .|.   -3 = -3
4707 -3 .|.   -2 = -1
4708 -3 .|.   -1 = -1
4709 -3 .|.   1 = -3
4710 -3 .|.   2 = -1
4711 -3 .|.   3 = -1
4712  
4713 -2 .|.   -3 = -1
4714 -2 .|.   -2 = -2
4715 -2 .|.   -1 = -1
4716 -2 .|.   1 = -1
4717 -2 .|.   2 = -2
4718 -2 .|.   3 = -1
4719  
4720 -1 .|.   -3 = -1
4721 -1 .|.   -2 = -1
4722 -1 .|.   -1 = -1
4723 -1 .|.   1 = -1
4724 -1 .|.   2 = -1
4725 -1 .|.   3 = -1
4726  
4727 0 .|.   -3 = -3
4728 0 .|.   -2 = -2
4729 0 .|.   -1 = -1
4730 0 .|.   1 = 1
4731 0 .|.   2 = 2
4732 0 .|.   3 = 3
4733  
4734 1 .|.   -3 = -3
4735 1 .|.   -2 = -1
4736 1 .|.   -1 = -1
4737 1 .|.   1 = 1
4738 1 .|.   2 = 3
4739 1 .|.   3 = 3
4740  
4741 2 .|.   -3 = -1
4742 2 .|.   -2 = -2
4743 2 .|.   -1 = -1
4744 2 .|.   1 = 3
4745 2 .|.   2 = 2
4746 2 .|.   3 = 3
4747  
4748 3 .|.   -3 = -1
4749 3 .|.   -2 = -1
4750 3 .|.   -1 = -1
4751 3 .|.   1 = 3
4752 3 .|.   2 = 3
4753 3 .|.   3 = 3
4754  
4755 #
4756 -3 `xor` -3 = 0
4757 -3 `xor` -2 = 3
4758 -3 `xor` -1 = 2
4759 -3 `xor` 1 = -4
4760 -3 `xor` 2 = -1
4761 -3 `xor` 3 = -2
4762  
4763 -2 `xor` -3 = 3
4764 -2 `xor` -2 = 0
4765 -2 `xor` -1 = 1
4766 -2 `xor` 1 = -1
4767 -2 `xor` 2 = -4
4768 -2 `xor` 3 = -3
4769  
4770 -1 `xor` -3 = 2
4771 -1 `xor` -2 = 1
4772 -1 `xor` -1 = 0
4773 -1 `xor` 1 = -2
4774 -1 `xor` 2 = -3
4775 -1 `xor` 3 = -4
4776  
4777 0 `xor` -3 = -3
4778 0 `xor` -2 = -2
4779 0 `xor` -1 = -1
4780 0 `xor` 1 = 1
4781 0 `xor` 2 = 2
4782 0 `xor` 3 = 3
4783  
4784 1 `xor` -3 = -4
4785 1 `xor` -2 = -1
4786 1 `xor` -1 = -2
4787 1 `xor` 1 = 0
4788 1 `xor` 2 = 3
4789 1 `xor` 3 = 2
4790  
4791 2 `xor` -3 = -1
4792 2 `xor` -2 = -4
4793 2 `xor` -1 = -3
4794 2 `xor` 1 = 3
4795 2 `xor` 2 = 0
4796 2 `xor` 3 = 1
4797  
4798 3 `xor` -3 = -2
4799 3 `xor` -2 = -3
4800 3 `xor` -1 = -4
4801 3 `xor` 1 = 2
4802 3 `xor` 2 = 1
4803 3 `xor` 3 = 0
4804  
4805 #
4806 complement -3 = 2
4807 complement -2 = 1
4808 complement -1 = 0
4809 complement 0 = -1
4810 complement 1 = -2
4811 complement 2 = -3
4812 complement 3 = -4
4813 #
4814 -3 `shiftL` 0 = -3
4815 -3 `shiftL` 1 = -6
4816 -3 `shiftL` 2 = -12
4817 -3 `shiftL` 3 = -24
4818 -3 `shiftL` 32 = 0
4819  
4820 -2 `shiftL` 0 = -2
4821 -2 `shiftL` 1 = -4
4822 -2 `shiftL` 2 = -8
4823 -2 `shiftL` 3 = -16
4824 -2 `shiftL` 32 = 0
4825  
4826 -1 `shiftL` 0 = -1
4827 -1 `shiftL` 1 = -2
4828 -1 `shiftL` 2 = -4
4829 -1 `shiftL` 3 = -8
4830 -1 `shiftL` 32 = 0
4831  
4832 0 `shiftL` 0 = 0
4833 0 `shiftL` 1 = 0
4834 0 `shiftL` 2 = 0
4835 0 `shiftL` 3 = 0
4836 0 `shiftL` 32 = 0
4837  
4838 1 `shiftL` 0 = 1
4839 1 `shiftL` 1 = 2
4840 1 `shiftL` 2 = 4
4841 1 `shiftL` 3 = 8
4842 1 `shiftL` 32 = 0
4843  
4844 2 `shiftL` 0 = 2
4845 2 `shiftL` 1 = 4
4846 2 `shiftL` 2 = 8
4847 2 `shiftL` 3 = 16
4848 2 `shiftL` 32 = 0
4849  
4850 3 `shiftL` 0 = 3
4851 3 `shiftL` 1 = 6
4852 3 `shiftL` 2 = 12
4853 3 `shiftL` 3 = 24
4854 3 `shiftL` 32 = 0
4855  
4856 #
4857 -3 `shiftR` 0 = -3
4858 -3 `shiftR` 1 = -2
4859 -3 `shiftR` 2 = -1
4860 -3 `shiftR` 3 = -1
4861 -3 `shiftR` 32 = -1
4862  
4863 -2 `shiftR` 0 = -2
4864 -2 `shiftR` 1 = -1
4865 -2 `shiftR` 2 = -1
4866 -2 `shiftR` 3 = -1
4867 -2 `shiftR` 32 = -1
4868  
4869 -1 `shiftR` 0 = -1
4870 -1 `shiftR` 1 = -1
4871 -1 `shiftR` 2 = -1
4872 -1 `shiftR` 3 = -1
4873 -1 `shiftR` 32 = -1
4874  
4875 0 `shiftR` 0 = 0
4876 0 `shiftR` 1 = 0
4877 0 `shiftR` 2 = 0
4878 0 `shiftR` 3 = 0
4879 0 `shiftR` 32 = 0
4880  
4881 1 `shiftR` 0 = 1
4882 1 `shiftR` 1 = 0
4883 1 `shiftR` 2 = 0
4884 1 `shiftR` 3 = 0
4885 1 `shiftR` 32 = 0
4886  
4887 2 `shiftR` 0 = 2
4888 2 `shiftR` 1 = 1
4889 2 `shiftR` 2 = 0
4890 2 `shiftR` 3 = 0
4891 2 `shiftR` 32 = 0
4892  
4893 3 `shiftR` 0 = 3
4894 3 `shiftR` 1 = 1
4895 3 `shiftR` 2 = 0
4896 3 `shiftR` 3 = 0
4897 3 `shiftR` 32 = 0
4898  
4899 #
4900 -3 `rotate` -3 = -1342177281
4901 -3 `rotate` -2 = 1610612735
4902 -3 `rotate` -1 = -1073741826
4903 -3 `rotate` 0 = -3
4904 -3 `rotate` 1 = -6
4905 -3 `rotate` 2 = -11
4906 -3 `rotate` 3 = -21
4907  
4908 -2 `rotate` -3 = -805306369
4909 -2 `rotate` -2 = -1610612737
4910 -2 `rotate` -1 = 1073741823
4911 -2 `rotate` 0 = -2
4912 -2 `rotate` 1 = -4
4913 -2 `rotate` 2 = -7
4914 -2 `rotate` 3 = -13
4915  
4916 -1 `rotate` -3 = -268435457
4917 -1 `rotate` -2 = -536870913
4918 -1 `rotate` -1 = -1073741825
4919 -1 `rotate` 0 = -1
4920 -1 `rotate` 1 = -2
4921 -1 `rotate` 2 = -3
4922 -1 `rotate` 3 = -5
4923  
4924 0 `rotate` -3 = 0
4925 0 `rotate` -2 = 0
4926 0 `rotate` -1 = 0
4927 0 `rotate` 0 = 0
4928 0 `rotate` 1 = 0
4929 0 `rotate` 2 = 0
4930 0 `rotate` 3 = 0
4931  
4932 1 `rotate` -3 = 536870912
4933 1 `rotate` -2 = 1073741824
4934 1 `rotate` -1 = -2147483648
4935 1 `rotate` 0 = 1
4936 1 `rotate` 1 = 2
4937 1 `rotate` 2 = 4
4938 1 `rotate` 3 = 8
4939  
4940 2 `rotate` -3 = 1073741824
4941 2 `rotate` -2 = -2147483648
4942 2 `rotate` -1 = 1
4943 2 `rotate` 0 = 2
4944 2 `rotate` 1 = 4
4945 2 `rotate` 2 = 8
4946 2 `rotate` 3 = 16
4947  
4948 3 `rotate` -3 = 1610612736
4949 3 `rotate` -2 = -1073741824
4950 3 `rotate` -1 = -2147483647
4951 3 `rotate` 0 = 3
4952 3 `rotate` 1 = 6
4953 3 `rotate` 2 = 12
4954 3 `rotate` 3 = 24
4955  
4956 #
4957 bit 0 = 1
4958 bit 1 = 2
4959 bit 2 = 4
4960 bit 3 = 8
4961 #
4962 -3 `setBit` 0 = -3
4963 -3 `setBit` 1 = -1
4964 -3 `setBit` 2 = -3
4965 -3 `setBit` 3 = -3
4966 -3 `setBit` 32 = -3
4967  
4968 -2 `setBit` 0 = -1
4969 -2 `setBit` 1 = -2
4970 -2 `setBit` 2 = -2
4971 -2 `setBit` 3 = -2
4972 -2 `setBit` 32 = -2
4973  
4974 -1 `setBit` 0 = -1
4975 -1 `setBit` 1 = -1
4976 -1 `setBit` 2 = -1
4977 -1 `setBit` 3 = -1
4978 -1 `setBit` 32 = -1
4979  
4980 0 `setBit` 0 = 1
4981 0 `setBit` 1 = 2
4982 0 `setBit` 2 = 4
4983 0 `setBit` 3 = 8
4984 0 `setBit` 32 = 0
4985  
4986 1 `setBit` 0 = 1
4987 1 `setBit` 1 = 3
4988 1 `setBit` 2 = 5
4989 1 `setBit` 3 = 9
4990 1 `setBit` 32 = 1
4991  
4992 2 `setBit` 0 = 3
4993 2 `setBit` 1 = 2
4994 2 `setBit` 2 = 6
4995 2 `setBit` 3 = 10
4996 2 `setBit` 32 = 2
4997  
4998 3 `setBit` 0 = 3
4999 3 `setBit` 1 = 3
5000 3 `setBit` 2 = 7
5001 3 `setBit` 3 = 11
5002 3 `setBit` 32 = 3
5003  
5004 #
5005 -3 `clearBit` 0 = -4
5006 -3 `clearBit` 1 = -3
5007 -3 `clearBit` 2 = -7
5008 -3 `clearBit` 3 = -11
5009 -3 `clearBit` 32 = -3
5010  
5011 -2 `clearBit` 0 = -2
5012 -2 `clearBit` 1 = -4
5013 -2 `clearBit` 2 = -6
5014 -2 `clearBit` 3 = -10
5015 -2 `clearBit` 32 = -2
5016  
5017 -1 `clearBit` 0 = -2
5018 -1 `clearBit` 1 = -3
5019 -1 `clearBit` 2 = -5
5020 -1 `clearBit` 3 = -9
5021 -1 `clearBit` 32 = -1
5022  
5023 0 `clearBit` 0 = 0
5024 0 `clearBit` 1 = 0
5025 0 `clearBit` 2 = 0
5026 0 `clearBit` 3 = 0
5027 0 `clearBit` 32 = 0
5028  
5029 1 `clearBit` 0 = 0
5030 1 `clearBit` 1 = 1
5031 1 `clearBit` 2 = 1
5032 1 `clearBit` 3 = 1
5033 1 `clearBit` 32 = 1
5034  
5035 2 `clearBit` 0 = 2
5036 2 `clearBit` 1 = 0
5037 2 `clearBit` 2 = 2
5038 2 `clearBit` 3 = 2
5039 2 `clearBit` 32 = 2
5040  
5041 3 `clearBit` 0 = 2
5042 3 `clearBit` 1 = 1
5043 3 `clearBit` 2 = 3
5044 3 `clearBit` 3 = 3
5045 3 `clearBit` 32 = 3
5046  
5047 #
5048 -3 `complementBit` 0 = -4
5049 -3 `complementBit` 1 = -1
5050 -3 `complementBit` 2 = -7
5051 -3 `complementBit` 3 = -11
5052 -3 `complementBit` 32 = -3
5053  
5054 -2 `complementBit` 0 = -1
5055 -2 `complementBit` 1 = -4
5056 -2 `complementBit` 2 = -6
5057 -2 `complementBit` 3 = -10
5058 -2 `complementBit` 32 = -2
5059  
5060 -1 `complementBit` 0 = -2
5061 -1 `complementBit` 1 = -3
5062 -1 `complementBit` 2 = -5
5063 -1 `complementBit` 3 = -9
5064 -1 `complementBit` 32 = -1
5065  
5066 0 `complementBit` 0 = 1
5067 0 `complementBit` 1 = 2
5068 0 `complementBit` 2 = 4
5069 0 `complementBit` 3 = 8
5070 0 `complementBit` 32 = 0
5071  
5072 1 `complementBit` 0 = 0
5073 1 `complementBit` 1 = 3
5074 1 `complementBit` 2 = 5
5075 1 `complementBit` 3 = 9
5076 1 `complementBit` 32 = 1
5077  
5078 2 `complementBit` 0 = 3
5079 2 `complementBit` 1 = 0
5080 2 `complementBit` 2 = 6
5081 2 `complementBit` 3 = 10
5082 2 `complementBit` 32 = 2
5083  
5084 3 `complementBit` 0 = 2
5085 3 `complementBit` 1 = 1
5086 3 `complementBit` 2 = 7
5087 3 `complementBit` 3 = 11
5088 3 `complementBit` 32 = 3
5089  
5090 #
5091 -3 `testBit` 0 = True
5092 -3 `testBit` 1 = False
5093 -3 `testBit` 2 = True
5094 -3 `testBit` 3 = True
5095 -3 `testBit` 32 = False
5096  
5097 -2 `testBit` 0 = False
5098 -2 `testBit` 1 = True
5099 -2 `testBit` 2 = True
5100 -2 `testBit` 3 = True
5101 -2 `testBit` 32 = False
5102  
5103 -1 `testBit` 0 = True
5104 -1 `testBit` 1 = True
5105 -1 `testBit` 2 = True
5106 -1 `testBit` 3 = True
5107 -1 `testBit` 32 = False
5108  
5109 0 `testBit` 0 = False
5110 0 `testBit` 1 = False
5111 0 `testBit` 2 = False
5112 0 `testBit` 3 = False
5113 0 `testBit` 32 = False
5114  
5115 1 `testBit` 0 = True
5116 1 `testBit` 1 = False
5117 1 `testBit` 2 = False
5118 1 `testBit` 3 = False
5119 1 `testBit` 32 = False
5120  
5121 2 `testBit` 0 = False
5122 2 `testBit` 1 = True
5123 2 `testBit` 2 = False
5124 2 `testBit` 3 = False
5125 2 `testBit` 32 = False
5126  
5127 3 `testBit` 0 = True
5128 3 `testBit` 1 = True
5129 3 `testBit` 2 = False
5130 3 `testBit` 3 = False
5131 3 `testBit` 32 = False
5132  
5133 #
5134 bitSize -3 = 32
5135 bitSize -2 = 32
5136 bitSize -1 = 32
5137 bitSize 0 = 32
5138 bitSize 1 = 32
5139 bitSize 2 = 32
5140 bitSize 3 = 32
5141 #
5142 isSigned -3 = True
5143 isSigned -2 = True
5144 isSigned -1 = True
5145 isSigned 0 = True
5146 isSigned 1 = True
5147 isSigned 2 = True
5148 isSigned 3 = True
5149 #
5150 --------------------------------
5151 --Testing Word8
5152 --------------------------------
5153 testBounded
5154 (255,0,1)
5155 (254,255,0)
5156 testEnum
5157 [0,1,2,3,4,5,6,7,8,9]
5158 [0,2,4,6,8,10,12,14,16,18]
5159 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
5160 [0,2,4,6,8,10,12,14,16,18,20]
5161 testReadShow
5162 [253,254,255,0,1,2,3]
5163 [253,254,255,0,1,2,3]
5164 testEq
5165 253 == 253 = True
5166 253 == 254 = False
5167 253 == 255 = False
5168 253 == 0 = False
5169 253 == 1 = False
5170 253 == 2 = False
5171 253 == 3 = False
5172  
5173 254 == 253 = False
5174 254 == 254 = True
5175 254 == 255 = False
5176 254 == 0 = False
5177 254 == 1 = False
5178 254 == 2 = False
5179 254 == 3 = False
5180  
5181 255 == 253 = False
5182 255 == 254 = False
5183 255 == 255 = True
5184 255 == 0 = False
5185 255 == 1 = False
5186 255 == 2 = False
5187 255 == 3 = False
5188  
5189 0 == 253 = False
5190 0 == 254 = False
5191 0 == 255 = False
5192 0 == 0 = True
5193 0 == 1 = False
5194 0 == 2 = False
5195 0 == 3 = False
5196  
5197 1 == 253 = False
5198 1 == 254 = False
5199 1 == 255 = False
5200 1 == 0 = False
5201 1 == 1 = True
5202 1 == 2 = False
5203 1 == 3 = False
5204  
5205 2 == 253 = False
5206 2 == 254 = False
5207 2 == 255 = False
5208 2 == 0 = False
5209 2 == 1 = False
5210 2 == 2 = True
5211 2 == 3 = False
5212  
5213 3 == 253 = False
5214 3 == 254 = False
5215 3 == 255 = False
5216 3 == 0 = False
5217 3 == 1 = False
5218 3 == 2 = False
5219 3 == 3 = True
5220  
5221 #
5222 253 /= 253 = False
5223 253 /= 254 = True
5224 253 /= 255 = True
5225 253 /= 0 = True
5226 253 /= 1 = True
5227 253 /= 2 = True
5228 253 /= 3 = True
5229  
5230 254 /= 253 = True
5231 254 /= 254 = False
5232 254 /= 255 = True
5233 254 /= 0 = True
5234 254 /= 1 = True
5235 254 /= 2 = True
5236 254 /= 3 = True
5237  
5238 255 /= 253 = True
5239 255 /= 254 = True
5240 255 /= 255 = False
5241 255 /= 0 = True
5242 255 /= 1 = True
5243 255 /= 2 = True
5244 255 /= 3 = True
5245  
5246 0 /= 253 = True
5247 0 /= 254 = True
5248 0 /= 255 = True
5249 0 /= 0 = False
5250 0 /= 1 = True
5251 0 /= 2 = True
5252 0 /= 3 = True
5253  
5254 1 /= 253 = True
5255 1 /= 254 = True
5256 1 /= 255 = True
5257 1 /= 0 = True
5258 1 /= 1 = False
5259 1 /= 2 = True
5260 1 /= 3 = True
5261  
5262 2 /= 253 = True
5263 2 /= 254 = True
5264 2 /= 255 = True
5265 2 /= 0 = True
5266 2 /= 1 = True
5267 2 /= 2 = False
5268 2 /= 3 = True
5269  
5270 3 /= 253 = True
5271 3 /= 254 = True
5272 3 /= 255 = True
5273 3 /= 0 = True
5274 3 /= 1 = True
5275 3 /= 2 = True
5276 3 /= 3 = False
5277  
5278 #
5279 testOrd
5280 253 <= 253 = True
5281 253 <= 254 = True
5282 253 <= 255 = True
5283 253 <= 0 = False
5284 253 <= 1 = False
5285 253 <= 2 = False
5286 253 <= 3 = False
5287  
5288 254 <= 253 = False
5289 254 <= 254 = True
5290 254 <= 255 = True
5291 254 <= 0 = False
5292 254 <= 1 = False
5293 254 <= 2 = False
5294 254 <= 3 = False
5295  
5296 255 <= 253 = False
5297 255 <= 254 = False
5298 255 <= 255 = True
5299 255 <= 0 = False
5300 255 <= 1 = False
5301 255 <= 2 = False
5302 255 <= 3 = False
5303  
5304 0 <= 253 = True
5305 0 <= 254 = True
5306 0 <= 255 = True
5307 0 <= 0 = True
5308 0 <= 1 = True
5309 0 <= 2 = True
5310 0 <= 3 = True
5311  
5312 1 <= 253 = True
5313 1 <= 254 = True
5314 1 <= 255 = True
5315 1 <= 0 = False
5316 1 <= 1 = True
5317 1 <= 2 = True
5318 1 <= 3 = True
5319  
5320 2 <= 253 = True
5321 2 <= 254 = True
5322 2 <= 255 = True
5323 2 <= 0 = False
5324 2 <= 1 = False
5325 2 <= 2 = True
5326 2 <= 3 = True
5327  
5328 3 <= 253 = True
5329 3 <= 254 = True
5330 3 <= 255 = True
5331 3 <= 0 = False
5332 3 <= 1 = False
5333 3 <= 2 = False
5334 3 <= 3 = True
5335  
5336 #
5337 253 <  253 = False
5338 253 <  254 = True
5339 253 <  255 = True
5340 253 <  0 = False
5341 253 <  1 = False
5342 253 <  2 = False
5343 253 <  3 = False
5344  
5345 254 <  253 = False
5346 254 <  254 = False
5347 254 <  255 = True
5348 254 <  0 = False
5349 254 <  1 = False
5350 254 <  2 = False
5351 254 <  3 = False
5352  
5353 255 <  253 = False
5354 255 <  254 = False
5355 255 <  255 = False
5356 255 <  0 = False
5357 255 <  1 = False
5358 255 <  2 = False
5359 255 <  3 = False
5360  
5361 0 <  253 = True
5362 0 <  254 = True
5363 0 <  255 = True
5364 0 <  0 = False
5365 0 <  1 = True
5366 0 <  2 = True
5367 0 <  3 = True
5368  
5369 1 <  253 = True
5370 1 <  254 = True
5371 1 <  255 = True
5372 1 <  0 = False
5373 1 <  1 = False
5374 1 <  2 = True
5375 1 <  3 = True
5376  
5377 2 <  253 = True
5378 2 <  254 = True
5379 2 <  255 = True
5380 2 <  0 = False
5381 2 <  1 = False
5382 2 <  2 = False
5383 2 <  3 = True
5384  
5385 3 <  253 = True
5386 3 <  254 = True
5387 3 <  255 = True
5388 3 <  0 = False
5389 3 <  1 = False
5390 3 <  2 = False
5391 3 <  3 = False
5392  
5393 #
5394 253 >  253 = False
5395 253 >  254 = False
5396 253 >  255 = False
5397 253 >  0 = True
5398 253 >  1 = True
5399 253 >  2 = True
5400 253 >  3 = True
5401  
5402 254 >  253 = True
5403 254 >  254 = False
5404 254 >  255 = False
5405 254 >  0 = True
5406 254 >  1 = True
5407 254 >  2 = True
5408 254 >  3 = True
5409  
5410 255 >  253 = True
5411 255 >  254 = True
5412 255 >  255 = False
5413 255 >  0 = True
5414 255 >  1 = True
5415 255 >  2 = True
5416 255 >  3 = True
5417  
5418 0 >  253 = False
5419 0 >  254 = False
5420 0 >  255 = False
5421 0 >  0 = False
5422 0 >  1 = False
5423 0 >  2 = False
5424 0 >  3 = False
5425  
5426 1 >  253 = False
5427 1 >  254 = False
5428 1 >  255 = False
5429 1 >  0 = True
5430 1 >  1 = False
5431 1 >  2 = False
5432 1 >  3 = False
5433  
5434 2 >  253 = False
5435 2 >  254 = False
5436 2 >  255 = False
5437 2 >  0 = True
5438 2 >  1 = True
5439 2 >  2 = False
5440 2 >  3 = False
5441  
5442 3 >  253 = False
5443 3 >  254 = False
5444 3 >  255 = False
5445 3 >  0 = True
5446 3 >  1 = True
5447 3 >  2 = True
5448 3 >  3 = False
5449  
5450 #
5451 253 >= 253 = True
5452 253 >= 254 = False
5453 253 >= 255 = False
5454 253 >= 0 = True
5455 253 >= 1 = True
5456 253 >= 2 = True
5457 253 >= 3 = True
5458  
5459 254 >= 253 = True
5460 254 >= 254 = True
5461 254 >= 255 = False
5462 254 >= 0 = True
5463 254 >= 1 = True
5464 254 >= 2 = True
5465 254 >= 3 = True
5466  
5467 255 >= 253 = True
5468 255 >= 254 = True
5469 255 >= 255 = True
5470 255 >= 0 = True
5471 255 >= 1 = True
5472 255 >= 2 = True
5473 255 >= 3 = True
5474  
5475 0 >= 253 = False
5476 0 >= 254 = False
5477 0 >= 255 = False
5478 0 >= 0 = True
5479 0 >= 1 = False
5480 0 >= 2 = False
5481 0 >= 3 = False
5482  
5483 1 >= 253 = False
5484 1 >= 254 = False
5485 1 >= 255 = False
5486 1 >= 0 = True
5487 1 >= 1 = True
5488 1 >= 2 = False
5489 1 >= 3 = False
5490  
5491 2 >= 253 = False
5492 2 >= 254 = False
5493 2 >= 255 = False
5494 2 >= 0 = True
5495 2 >= 1 = True
5496 2 >= 2 = True
5497 2 >= 3 = False
5498  
5499 3 >= 253 = False
5500 3 >= 254 = False
5501 3 >= 255 = False
5502 3 >= 0 = True
5503 3 >= 1 = True
5504 3 >= 2 = True
5505 3 >= 3 = True
5506  
5507 #
5508 253 `compare` 253 = EQ
5509 253 `compare` 254 = LT
5510 253 `compare` 255 = LT
5511 253 `compare` 0 = GT
5512 253 `compare` 1 = GT
5513 253 `compare` 2 = GT
5514 253 `compare` 3 = GT
5515  
5516 254 `compare` 253 = GT
5517 254 `compare` 254 = EQ
5518 254 `compare` 255 = LT
5519 254 `compare` 0 = GT
5520 254 `compare` 1 = GT
5521 254 `compare` 2 = GT
5522 254 `compare` 3 = GT
5523  
5524 255 `compare` 253 = GT
5525 255 `compare` 254 = GT
5526 255 `compare` 255 = EQ
5527 255 `compare` 0 = GT
5528 255 `compare` 1 = GT
5529 255 `compare` 2 = GT
5530 255 `compare` 3 = GT
5531  
5532 0 `compare` 253 = LT
5533 0 `compare` 254 = LT
5534 0 `compare` 255 = LT
5535 0 `compare` 0 = EQ
5536 0 `compare` 1 = LT
5537 0 `compare` 2 = LT
5538 0 `compare` 3 = LT
5539  
5540 1 `compare` 253 = LT
5541 1 `compare` 254 = LT
5542 1 `compare` 255 = LT
5543 1 `compare` 0 = GT
5544 1 `compare` 1 = EQ
5545 1 `compare` 2 = LT
5546 1 `compare` 3 = LT
5547  
5548 2 `compare` 253 = LT
5549 2 `compare` 254 = LT
5550 2 `compare` 255 = LT
5551 2 `compare` 0 = GT
5552 2 `compare` 1 = GT
5553 2 `compare` 2 = EQ
5554 2 `compare` 3 = LT
5555  
5556 3 `compare` 253 = LT
5557 3 `compare` 254 = LT
5558 3 `compare` 255 = LT
5559 3 `compare` 0 = GT
5560 3 `compare` 1 = GT
5561 3 `compare` 2 = GT
5562 3 `compare` 3 = EQ
5563  
5564 #
5565 testNum
5566 253 + 253 = 250
5567 253 + 254 = 251
5568 253 + 255 = 252
5569 253 + 0 = 253
5570 253 + 1 = 254
5571 253 + 2 = 255
5572 253 + 3 = 0
5573  
5574 254 + 253 = 251
5575 254 + 254 = 252
5576 254 + 255 = 253
5577 254 + 0 = 254
5578 254 + 1 = 255
5579 254 + 2 = 0
5580 254 + 3 = 1
5581  
5582 255 + 253 = 252
5583 255 + 254 = 253
5584 255 + 255 = 254
5585 255 + 0 = 255
5586 255 + 1 = 0
5587 255 + 2 = 1
5588 255 + 3 = 2
5589  
5590 0 + 253 = 253
5591 0 + 254 = 254
5592 0 + 255 = 255
5593 0 + 0 = 0
5594 0 + 1 = 1
5595 0 + 2 = 2
5596 0 + 3 = 3
5597  
5598 1 + 253 = 254
5599 1 + 254 = 255
5600 1 + 255 = 0
5601 1 + 0 = 1
5602 1 + 1 = 2
5603 1 + 2 = 3
5604 1 + 3 = 4
5605  
5606 2 + 253 = 255
5607 2 + 254 = 0
5608 2 + 255 = 1
5609 2 + 0 = 2
5610 2 + 1 = 3
5611 2 + 2 = 4
5612 2 + 3 = 5
5613  
5614 3 + 253 = 0
5615 3 + 254 = 1
5616 3 + 255 = 2
5617 3 + 0 = 3
5618 3 + 1 = 4
5619 3 + 2 = 5
5620 3 + 3 = 6
5621  
5622 #
5623 253 - 253 = 0
5624 253 - 254 = 255
5625 253 - 255 = 254
5626 253 - 0 = 253
5627 253 - 1 = 252
5628 253 - 2 = 251
5629 253 - 3 = 250
5630  
5631 254 - 253 = 1
5632 254 - 254 = 0
5633 254 - 255 = 255
5634 254 - 0 = 254
5635 254 - 1 = 253
5636 254 - 2 = 252
5637 254 - 3 = 251
5638  
5639 255 - 253 = 2
5640 255 - 254 = 1
5641 255 - 255 = 0
5642 255 - 0 = 255
5643 255 - 1 = 254
5644 255 - 2 = 253
5645 255 - 3 = 252
5646  
5647 0 - 253 = 3
5648 0 - 254 = 2
5649 0 - 255 = 1
5650 0 - 0 = 0
5651 0 - 1 = 255
5652 0 - 2 = 254
5653 0 - 3 = 253
5654  
5655 1 - 253 = 4
5656 1 - 254 = 3
5657 1 - 255 = 2
5658 1 - 0 = 1
5659 1 - 1 = 0
5660 1 - 2 = 255
5661 1 - 3 = 254
5662  
5663 2 - 253 = 5
5664 2 - 254 = 4
5665 2 - 255 = 3
5666 2 - 0 = 2
5667 2 - 1 = 1
5668 2 - 2 = 0
5669 2 - 3 = 255
5670  
5671 3 - 253 = 6
5672 3 - 254 = 5
5673 3 - 255 = 4
5674 3 - 0 = 3
5675 3 - 1 = 2
5676 3 - 2 = 1
5677 3 - 3 = 0
5678  
5679 #
5680 253 * 253 = 9
5681 253 * 254 = 6
5682 253 * 255 = 3
5683 253 * 0 = 0
5684 253 * 1 = 253
5685 253 * 2 = 250
5686 253 * 3 = 247
5687  
5688 254 * 253 = 6
5689 254 * 254 = 4
5690 254 * 255 = 2
5691 254 * 0 = 0
5692 254 * 1 = 254
5693 254 * 2 = 252
5694 254 * 3 = 250
5695  
5696 255 * 253 = 3
5697 255 * 254 = 2
5698 255 * 255 = 1
5699 255 * 0 = 0
5700 255 * 1 = 255
5701 255 * 2 = 254
5702 255 * 3 = 253
5703  
5704 0 * 253 = 0
5705 0 * 254 = 0
5706 0 * 255 = 0
5707 0 * 0 = 0
5708 0 * 1 = 0
5709 0 * 2 = 0
5710 0 * 3 = 0
5711  
5712 1 * 253 = 253
5713 1 * 254 = 254
5714 1 * 255 = 255
5715 1 * 0 = 0
5716 1 * 1 = 1
5717 1 * 2 = 2
5718 1 * 3 = 3
5719  
5720 2 * 253 = 250
5721 2 * 254 = 252
5722 2 * 255 = 254
5723 2 * 0 = 0
5724 2 * 1 = 2
5725 2 * 2 = 4
5726 2 * 3 = 6
5727  
5728 3 * 253 = 247
5729 3 * 254 = 250
5730 3 * 255 = 253
5731 3 * 0 = 0
5732 3 * 1 = 3
5733 3 * 2 = 6
5734 3 * 3 = 9
5735  
5736 #
5737 negate 253 = 3
5738 negate 254 = 2
5739 negate 255 = 1
5740 negate 0 = 0
5741 negate 1 = 255
5742 negate 2 = 254
5743 negate 3 = 253
5744 #
5745 testReal
5746 toRational 253 = 253 % 1
5747 toRational 254 = 254 % 1
5748 toRational 255 = 255 % 1
5749 toRational 0 = 0 % 1
5750 toRational 1 = 1 % 1
5751 toRational 2 = 2 % 1
5752 toRational 3 = 3 % 1
5753 #
5754 testIntegral
5755 253 `divMod`  253 = (1,0)
5756 253 `divMod`  254 = (0,253)
5757 253 `divMod`  255 = (0,253)
5758 253 `divMod`  1 = (253,0)
5759 253 `divMod`  2 = (126,1)
5760 253 `divMod`  3 = (84,1)
5761  
5762 254 `divMod`  253 = (1,1)
5763 254 `divMod`  254 = (1,0)
5764 254 `divMod`  255 = (0,254)
5765 254 `divMod`  1 = (254,0)
5766 254 `divMod`  2 = (127,0)
5767 254 `divMod`  3 = (84,2)
5768  
5769 255 `divMod`  253 = (1,2)
5770 255 `divMod`  254 = (1,1)
5771 255 `divMod`  255 = (1,0)
5772 255 `divMod`  1 = (255,0)
5773 255 `divMod`  2 = (127,1)
5774 255 `divMod`  3 = (85,0)
5775  
5776 0 `divMod`  253 = (0,0)
5777 0 `divMod`  254 = (0,0)
5778 0 `divMod`  255 = (0,0)
5779 0 `divMod`  1 = (0,0)
5780 0 `divMod`  2 = (0,0)
5781 0 `divMod`  3 = (0,0)
5782  
5783 1 `divMod`  253 = (0,1)
5784 1 `divMod`  254 = (0,1)
5785 1 `divMod`  255 = (0,1)
5786 1 `divMod`  1 = (1,0)
5787 1 `divMod`  2 = (0,1)
5788 1 `divMod`  3 = (0,1)
5789  
5790 2 `divMod`  253 = (0,2)
5791 2 `divMod`  254 = (0,2)
5792 2 `divMod`  255 = (0,2)
5793 2 `divMod`  1 = (2,0)
5794 2 `divMod`  2 = (1,0)
5795 2 `divMod`  3 = (0,2)
5796  
5797 3 `divMod`  253 = (0,3)
5798 3 `divMod`  254 = (0,3)
5799 3 `divMod`  255 = (0,3)
5800 3 `divMod`  1 = (3,0)
5801 3 `divMod`  2 = (1,1)
5802 3 `divMod`  3 = (1,0)
5803  
5804 #
5805 253 `div`     253 = 1
5806 253 `div`     254 = 0
5807 253 `div`     255 = 0
5808 253 `div`     1 = 253
5809 253 `div`     2 = 126
5810 253 `div`     3 = 84
5811  
5812 254 `div`     253 = 1
5813 254 `div`     254 = 1
5814 254 `div`     255 = 0
5815 254 `div`     1 = 254
5816 254 `div`     2 = 127
5817 254 `div`     3 = 84
5818  
5819 255 `div`     253 = 1
5820 255 `div`     254 = 1
5821 255 `div`     255 = 1
5822 255 `div`     1 = 255
5823 255 `div`     2 = 127
5824 255 `div`     3 = 85
5825  
5826 0 `div`     253 = 0
5827 0 `div`     254 = 0
5828 0 `div`     255 = 0
5829 0 `div`     1 = 0
5830 0 `div`     2 = 0
5831 0 `div`     3 = 0
5832  
5833 1 `div`     253 = 0
5834 1 `div`     254 = 0
5835 1 `div`     255 = 0
5836 1 `div`     1 = 1
5837 1 `div`     2 = 0
5838 1 `div`     3 = 0
5839  
5840 2 `div`     253 = 0
5841 2 `div`     254 = 0
5842 2 `div`     255 = 0
5843 2 `div`     1 = 2
5844 2 `div`     2 = 1
5845 2 `div`     3 = 0
5846  
5847 3 `div`     253 = 0
5848 3 `div`     254 = 0
5849 3 `div`     255 = 0
5850 3 `div`     1 = 3
5851 3 `div`     2 = 1
5852 3 `div`     3 = 1
5853  
5854 #
5855 253 `mod`     253 = 0
5856 253 `mod`     254 = 253
5857 253 `mod`     255 = 253
5858 253 `mod`     1 = 0
5859 253 `mod`     2 = 1
5860 253 `mod`     3 = 1
5861  
5862 254 `mod`     253 = 1
5863 254 `mod`     254 = 0
5864 254 `mod`     255 = 254
5865 254 `mod`     1 = 0
5866 254 `mod`     2 = 0
5867 254 `mod`     3 = 2
5868  
5869 255 `mod`     253 = 2
5870 255 `mod`     254 = 1
5871 255 `mod`     255 = 0
5872 255 `mod`     1 = 0
5873 255 `mod`     2 = 1
5874 255 `mod`     3 = 0
5875  
5876 0 `mod`     253 = 0
5877 0 `mod`     254 = 0
5878 0 `mod`     255 = 0
5879 0 `mod`     1 = 0
5880 0 `mod`     2 = 0
5881 0 `mod`     3 = 0
5882  
5883 1 `mod`     253 = 1
5884 1 `mod`     254 = 1
5885 1 `mod`     255 = 1
5886 1 `mod`     1 = 0
5887 1 `mod`     2 = 1
5888 1 `mod`     3 = 1
5889  
5890 2 `mod`     253 = 2
5891 2 `mod`     254 = 2
5892 2 `mod`     255 = 2
5893 2 `mod`     1 = 0
5894 2 `mod`     2 = 0
5895 2 `mod`     3 = 2
5896  
5897 3 `mod`     253 = 3
5898 3 `mod`     254 = 3
5899 3 `mod`     255 = 3
5900 3 `mod`     1 = 0
5901 3 `mod`     2 = 1
5902 3 `mod`     3 = 0
5903  
5904 #
5905 253 `quotRem` 253 = (1,0)
5906 253 `quotRem` 254 = (0,253)
5907 253 `quotRem` 255 = (0,253)
5908 253 `quotRem` 1 = (253,0)
5909 253 `quotRem` 2 = (126,1)
5910 253 `quotRem` 3 = (84,1)
5911  
5912 254 `quotRem` 253 = (1,1)
5913 254 `quotRem` 254 = (1,0)
5914 254 `quotRem` 255 = (0,254)
5915 254 `quotRem` 1 = (254,0)
5916 254 `quotRem` 2 = (127,0)
5917 254 `quotRem` 3 = (84,2)
5918  
5919 255 `quotRem` 253 = (1,2)
5920 255 `quotRem` 254 = (1,1)
5921 255 `quotRem` 255 = (1,0)
5922 255 `quotRem` 1 = (255,0)
5923 255 `quotRem` 2 = (127,1)
5924 255 `quotRem` 3 = (85,0)
5925  
5926 0 `quotRem` 253 = (0,0)
5927 0 `quotRem` 254 = (0,0)
5928 0 `quotRem` 255 = (0,0)
5929 0 `quotRem` 1 = (0,0)
5930 0 `quotRem` 2 = (0,0)
5931 0 `quotRem` 3 = (0,0)
5932  
5933 1 `quotRem` 253 = (0,1)
5934 1 `quotRem` 254 = (0,1)
5935 1 `quotRem` 255 = (0,1)
5936 1 `quotRem` 1 = (1,0)
5937 1 `quotRem` 2 = (0,1)
5938 1 `quotRem` 3 = (0,1)
5939  
5940 2 `quotRem` 253 = (0,2)
5941 2 `quotRem` 254 = (0,2)
5942 2 `quotRem` 255 = (0,2)
5943 2 `quotRem` 1 = (2,0)
5944 2 `quotRem` 2 = (1,0)
5945 2 `quotRem` 3 = (0,2)
5946  
5947 3 `quotRem` 253 = (0,3)
5948 3 `quotRem` 254 = (0,3)
5949 3 `quotRem` 255 = (0,3)
5950 3 `quotRem` 1 = (3,0)
5951 3 `quotRem` 2 = (1,1)
5952 3 `quotRem` 3 = (1,0)
5953  
5954 #
5955 253 `quot`    253 = 1
5956 253 `quot`    254 = 0
5957 253 `quot`    255 = 0
5958 253 `quot`    1 = 253
5959 253 `quot`    2 = 126
5960 253 `quot`    3 = 84
5961  
5962 254 `quot`    253 = 1
5963 254 `quot`    254 = 1
5964 254 `quot`    255 = 0
5965 254 `quot`    1 = 254
5966 254 `quot`    2 = 127
5967 254 `quot`    3 = 84
5968  
5969 255 `quot`    253 = 1
5970 255 `quot`    254 = 1
5971 255 `quot`    255 = 1
5972 255 `quot`    1 = 255
5973 255 `quot`    2 = 127
5974 255 `quot`    3 = 85
5975  
5976 0 `quot`    253 = 0
5977 0 `quot`    254 = 0
5978 0 `quot`    255 = 0
5979 0 `quot`    1 = 0
5980 0 `quot`    2 = 0
5981 0 `quot`    3 = 0
5982  
5983 1 `quot`    253 = 0
5984 1 `quot`    254 = 0
5985 1 `quot`    255 = 0
5986 1 `quot`    1 = 1
5987 1 `quot`    2 = 0
5988 1 `quot`    3 = 0
5989  
5990 2 `quot`    253 = 0
5991 2 `quot`    254 = 0
5992 2 `quot`    255 = 0
5993 2 `quot`    1 = 2
5994 2 `quot`    2 = 1
5995 2 `quot`    3 = 0
5996  
5997 3 `quot`    253 = 0
5998 3 `quot`    254 = 0
5999 3 `quot`    255 = 0
6000 3 `quot`    1 = 3
6001 3 `quot`    2 = 1
6002 3 `quot`    3 = 1
6003  
6004 #
6005 253 `rem`     253 = 0
6006 253 `rem`     254 = 253
6007 253 `rem`     255 = 253
6008 253 `rem`     1 = 0
6009 253 `rem`     2 = 1
6010 253 `rem`     3 = 1
6011  
6012 254 `rem`     253 = 1
6013 254 `rem`     254 = 0
6014 254 `rem`     255 = 254
6015 254 `rem`     1 = 0
6016 254 `rem`     2 = 0
6017 254 `rem`     3 = 2
6018  
6019 255 `rem`     253 = 2
6020 255 `rem`     254 = 1
6021 255 `rem`     255 = 0
6022 255 `rem`     1 = 0
6023 255 `rem`     2 = 1
6024 255 `rem`     3 = 0
6025  
6026 0 `rem`     253 = 0
6027 0 `rem`     254 = 0
6028 0 `rem`     255 = 0
6029 0 `rem`     1 = 0
6030 0 `rem`     2 = 0
6031 0 `rem`     3 = 0
6032  
6033 1 `rem`     253 = 1
6034 1 `rem`     254 = 1
6035 1 `rem`     255 = 1
6036 1 `rem`     1 = 0
6037 1 `rem`     2 = 1
6038 1 `rem`     3 = 1
6039  
6040 2 `rem`     253 = 2
6041 2 `rem`     254 = 2
6042 2 `rem`     255 = 2
6043 2 `rem`     1 = 0
6044 2 `rem`     2 = 0
6045 2 `rem`     3 = 2
6046  
6047 3 `rem`     253 = 3
6048 3 `rem`     254 = 3
6049 3 `rem`     255 = 3
6050 3 `rem`     1 = 0
6051 3 `rem`     2 = 1
6052 3 `rem`     3 = 0
6053  
6054 #
6055 testConversions
6056 Integer : [0,0,255]
6057 Int     : [0,0,255]
6058 Int8    : [0,0,-1]
6059 Int16   : [0,0,255]
6060 Int32   : [0,0,255]
6061 Int64   : [0,0,255]
6062 Word8   : [0,0,255]
6063 Word16  : [0,0,255]
6064 Word32  : [0,0,255]
6065 Word64  : [0,0,255]
6066 testBits
6067 253 .&.   253 = 253
6068 253 .&.   254 = 252
6069 253 .&.   255 = 253
6070 253 .&.   1 = 1
6071 253 .&.   2 = 0
6072 253 .&.   3 = 1
6073  
6074 254 .&.   253 = 252
6075 254 .&.   254 = 254
6076 254 .&.   255 = 254
6077 254 .&.   1 = 0
6078 254 .&.   2 = 2
6079 254 .&.   3 = 2
6080  
6081 255 .&.   253 = 253
6082 255 .&.   254 = 254
6083 255 .&.   255 = 255
6084 255 .&.   1 = 1
6085 255 .&.   2 = 2
6086 255 .&.   3 = 3
6087  
6088 0 .&.   253 = 0
6089 0 .&.   254 = 0
6090 0 .&.   255 = 0
6091 0 .&.   1 = 0
6092 0 .&.   2 = 0
6093 0 .&.   3 = 0
6094  
6095 1 .&.   253 = 1
6096 1 .&.   254 = 0
6097 1 .&.   255 = 1
6098 1 .&.   1 = 1
6099 1 .&.   2 = 0
6100 1 .&.   3 = 1
6101  
6102 2 .&.   253 = 0
6103 2 .&.   254 = 2
6104 2 .&.   255 = 2
6105 2 .&.   1 = 0
6106 2 .&.   2 = 2
6107 2 .&.   3 = 2
6108  
6109 3 .&.   253 = 1
6110 3 .&.   254 = 2
6111 3 .&.   255 = 3
6112 3 .&.   1 = 1
6113 3 .&.   2 = 2
6114 3 .&.   3 = 3
6115  
6116 #
6117 253 .|.   253 = 253
6118 253 .|.   254 = 255
6119 253 .|.   255 = 255
6120 253 .|.   1 = 253
6121 253 .|.   2 = 255
6122 253 .|.   3 = 255
6123  
6124 254 .|.   253 = 255
6125 254 .|.   254 = 254
6126 254 .|.   255 = 255
6127 254 .|.   1 = 255
6128 254 .|.   2 = 254
6129 254 .|.   3 = 255
6130  
6131 255 .|.   253 = 255
6132 255 .|.   254 = 255
6133 255 .|.   255 = 255
6134 255 .|.   1 = 255
6135 255 .|.   2 = 255
6136 255 .|.   3 = 255
6137  
6138 0 .|.   253 = 253
6139 0 .|.   254 = 254
6140 0 .|.   255 = 255
6141 0 .|.   1 = 1
6142 0 .|.   2 = 2
6143 0 .|.   3 = 3
6144  
6145 1 .|.   253 = 253
6146 1 .|.   254 = 255
6147 1 .|.   255 = 255
6148 1 .|.   1 = 1
6149 1 .|.   2 = 3
6150 1 .|.   3 = 3
6151  
6152 2 .|.   253 = 255
6153 2 .|.   254 = 254
6154 2 .|.   255 = 255
6155 2 .|.   1 = 3
6156 2 .|.   2 = 2
6157 2 .|.   3 = 3
6158  
6159 3 .|.   253 = 255
6160 3 .|.   254 = 255
6161 3 .|.   255 = 255
6162 3 .|.   1 = 3
6163 3 .|.   2 = 3
6164 3 .|.   3 = 3
6165  
6166 #
6167 253 `xor` 253 = 0
6168 253 `xor` 254 = 3
6169 253 `xor` 255 = 2
6170 253 `xor` 1 = 252
6171 253 `xor` 2 = 255
6172 253 `xor` 3 = 254
6173  
6174 254 `xor` 253 = 3
6175 254 `xor` 254 = 0
6176 254 `xor` 255 = 1
6177 254 `xor` 1 = 255
6178 254 `xor` 2 = 252
6179 254 `xor` 3 = 253
6180  
6181 255 `xor` 253 = 2
6182 255 `xor` 254 = 1
6183 255 `xor` 255 = 0
6184 255 `xor` 1 = 254
6185 255 `xor` 2 = 253
6186 255 `xor` 3 = 252
6187  
6188 0 `xor` 253 = 253
6189 0 `xor` 254 = 254
6190 0 `xor` 255 = 255
6191 0 `xor` 1 = 1
6192 0 `xor` 2 = 2
6193 0 `xor` 3 = 3
6194  
6195 1 `xor` 253 = 252
6196 1 `xor` 254 = 255
6197 1 `xor` 255 = 254
6198 1 `xor` 1 = 0
6199 1 `xor` 2 = 3
6200 1 `xor` 3 = 2
6201  
6202 2 `xor` 253 = 255
6203 2 `xor` 254 = 252
6204 2 `xor` 255 = 253
6205 2 `xor` 1 = 3
6206 2 `xor` 2 = 0
6207 2 `xor` 3 = 1
6208  
6209 3 `xor` 253 = 254
6210 3 `xor` 254 = 253
6211 3 `xor` 255 = 252
6212 3 `xor` 1 = 2
6213 3 `xor` 2 = 1
6214 3 `xor` 3 = 0
6215  
6216 #
6217 complement 253 = 2
6218 complement 254 = 1
6219 complement 255 = 0
6220 complement 0 = 255
6221 complement 1 = 254
6222 complement 2 = 253
6223 complement 3 = 252
6224 #
6225 253 `shiftL` 0 = 253
6226 253 `shiftL` 1 = 250
6227 253 `shiftL` 2 = 244
6228 253 `shiftL` 3 = 232
6229 253 `shiftL` 32 = 0
6230  
6231 254 `shiftL` 0 = 254
6232 254 `shiftL` 1 = 252
6233 254 `shiftL` 2 = 248
6234 254 `shiftL` 3 = 240
6235 254 `shiftL` 32 = 0
6236  
6237 255 `shiftL` 0 = 255
6238 255 `shiftL` 1 = 254
6239 255 `shiftL` 2 = 252
6240 255 `shiftL` 3 = 248
6241 255 `shiftL` 32 = 0
6242  
6243 0 `shiftL` 0 = 0
6244 0 `shiftL` 1 = 0
6245 0 `shiftL` 2 = 0
6246 0 `shiftL` 3 = 0
6247 0 `shiftL` 32 = 0
6248  
6249 1 `shiftL` 0 = 1
6250 1 `shiftL` 1 = 2
6251 1 `shiftL` 2 = 4
6252 1 `shiftL` 3 = 8
6253 1 `shiftL` 32 = 0
6254  
6255 2 `shiftL` 0 = 2
6256 2 `shiftL` 1 = 4
6257 2 `shiftL` 2 = 8
6258 2 `shiftL` 3 = 16
6259 2 `shiftL` 32 = 0
6260  
6261 3 `shiftL` 0 = 3
6262 3 `shiftL` 1 = 6
6263 3 `shiftL` 2 = 12
6264 3 `shiftL` 3 = 24
6265 3 `shiftL` 32 = 0
6266  
6267 #
6268 253 `shiftR` 0 = 253
6269 253 `shiftR` 1 = 126
6270 253 `shiftR` 2 = 63
6271 253 `shiftR` 3 = 31
6272 253 `shiftR` 32 = 0
6273  
6274 254 `shiftR` 0 = 254
6275 254 `shiftR` 1 = 127
6276 254 `shiftR` 2 = 63
6277 254 `shiftR` 3 = 31
6278 254 `shiftR` 32 = 0
6279  
6280 255 `shiftR` 0 = 255
6281 255 `shiftR` 1 = 127
6282 255 `shiftR` 2 = 63
6283 255 `shiftR` 3 = 31
6284 255 `shiftR` 32 = 0
6285  
6286 0 `shiftR` 0 = 0
6287 0 `shiftR` 1 = 0
6288 0 `shiftR` 2 = 0
6289 0 `shiftR` 3 = 0
6290 0 `shiftR` 32 = 0
6291  
6292 1 `shiftR` 0 = 1
6293 1 `shiftR` 1 = 0
6294 1 `shiftR` 2 = 0
6295 1 `shiftR` 3 = 0
6296 1 `shiftR` 32 = 0
6297  
6298 2 `shiftR` 0 = 2
6299 2 `shiftR` 1 = 1
6300 2 `shiftR` 2 = 0
6301 2 `shiftR` 3 = 0
6302 2 `shiftR` 32 = 0
6303  
6304 3 `shiftR` 0 = 3
6305 3 `shiftR` 1 = 1
6306 3 `shiftR` 2 = 0
6307 3 `shiftR` 3 = 0
6308 3 `shiftR` 32 = 0
6309  
6310 #
6311 253 `rotate` -3 = 191
6312 253 `rotate` -2 = 127
6313 253 `rotate` -1 = 254
6314 253 `rotate` 0 = 253
6315 253 `rotate` 1 = 251
6316 253 `rotate` 2 = 247
6317 253 `rotate` 3 = 239
6318  
6319 254 `rotate` -3 = 223
6320 254 `rotate` -2 = 191
6321 254 `rotate` -1 = 127
6322 254 `rotate` 0 = 254
6323 254 `rotate` 1 = 253
6324 254 `rotate` 2 = 251
6325 254 `rotate` 3 = 247
6326  
6327 255 `rotate` -3 = 255
6328 255 `rotate` -2 = 255
6329 255 `rotate` -1 = 255
6330 255 `rotate` 0 = 255
6331 255 `rotate` 1 = 255
6332 255 `rotate` 2 = 255
6333 255 `rotate` 3 = 255
6334  
6335 0 `rotate` -3 = 0
6336 0 `rotate` -2 = 0
6337 0 `rotate` -1 = 0
6338 0 `rotate` 0 = 0
6339 0 `rotate` 1 = 0
6340 0 `rotate` 2 = 0
6341 0 `rotate` 3 = 0
6342  
6343 1 `rotate` -3 = 32
6344 1 `rotate` -2 = 64
6345 1 `rotate` -1 = 128
6346 1 `rotate` 0 = 1
6347 1 `rotate` 1 = 2
6348 1 `rotate` 2 = 4
6349 1 `rotate` 3 = 8
6350  
6351 2 `rotate` -3 = 64
6352 2 `rotate` -2 = 128
6353 2 `rotate` -1 = 1
6354 2 `rotate` 0 = 2
6355 2 `rotate` 1 = 4
6356 2 `rotate` 2 = 8
6357 2 `rotate` 3 = 16
6358  
6359 3 `rotate` -3 = 96
6360 3 `rotate` -2 = 192
6361 3 `rotate` -1 = 129
6362 3 `rotate` 0 = 3
6363 3 `rotate` 1 = 6
6364 3 `rotate` 2 = 12
6365 3 `rotate` 3 = 24
6366  
6367 #
6368 bit 0 = 1
6369 bit 1 = 2
6370 bit 2 = 4
6371 bit 3 = 8
6372 #
6373 253 `setBit` 0 = 253
6374 253 `setBit` 1 = 255
6375 253 `setBit` 2 = 253
6376 253 `setBit` 3 = 253
6377 253 `setBit` 32 = 253
6378  
6379 254 `setBit` 0 = 255
6380 254 `setBit` 1 = 254
6381 254 `setBit` 2 = 254
6382 254 `setBit` 3 = 254
6383 254 `setBit` 32 = 254
6384  
6385 255 `setBit` 0 = 255
6386 255 `setBit` 1 = 255
6387 255 `setBit` 2 = 255
6388 255 `setBit` 3 = 255
6389 255 `setBit` 32 = 255
6390  
6391 0 `setBit` 0 = 1
6392 0 `setBit` 1 = 2
6393 0 `setBit` 2 = 4
6394 0 `setBit` 3 = 8
6395 0 `setBit` 32 = 0
6396  
6397 1 `setBit` 0 = 1
6398 1 `setBit` 1 = 3
6399 1 `setBit` 2 = 5
6400 1 `setBit` 3 = 9
6401 1 `setBit` 32 = 1
6402  
6403 2 `setBit` 0 = 3
6404 2 `setBit` 1 = 2
6405 2 `setBit` 2 = 6
6406 2 `setBit` 3 = 10
6407 2 `setBit` 32 = 2
6408  
6409 3 `setBit` 0 = 3
6410 3 `setBit` 1 = 3
6411 3 `setBit` 2 = 7
6412 3 `setBit` 3 = 11
6413 3 `setBit` 32 = 3
6414  
6415 #
6416 253 `clearBit` 0 = 252
6417 253 `clearBit` 1 = 253
6418 253 `clearBit` 2 = 249
6419 253 `clearBit` 3 = 245
6420 253 `clearBit` 32 = 253
6421  
6422 254 `clearBit` 0 = 254
6423 254 `clearBit` 1 = 252
6424 254 `clearBit` 2 = 250
6425 254 `clearBit` 3 = 246
6426 254 `clearBit` 32 = 254
6427  
6428 255 `clearBit` 0 = 254
6429 255 `clearBit` 1 = 253
6430 255 `clearBit` 2 = 251
6431 255 `clearBit` 3 = 247
6432 255 `clearBit` 32 = 255
6433  
6434 0 `clearBit` 0 = 0
6435 0 `clearBit` 1 = 0
6436 0 `clearBit` 2 = 0
6437 0 `clearBit` 3 = 0
6438 0 `clearBit` 32 = 0
6439  
6440 1 `clearBit` 0 = 0
6441 1 `clearBit` 1 = 1
6442 1 `clearBit` 2 = 1
6443 1 `clearBit` 3 = 1
6444 1 `clearBit` 32 = 1
6445  
6446 2 `clearBit` 0 = 2
6447 2 `clearBit` 1 = 0
6448 2 `clearBit` 2 = 2
6449 2 `clearBit` 3 = 2
6450 2 `clearBit` 32 = 2
6451  
6452 3 `clearBit` 0 = 2
6453 3 `clearBit` 1 = 1
6454 3 `clearBit` 2 = 3
6455 3 `clearBit` 3 = 3
6456 3 `clearBit` 32 = 3
6457  
6458 #
6459 253 `complementBit` 0 = 252
6460 253 `complementBit` 1 = 255
6461 253 `complementBit` 2 = 249
6462 253 `complementBit` 3 = 245
6463 253 `complementBit` 32 = 253
6464  
6465 254 `complementBit` 0 = 255
6466 254 `complementBit` 1 = 252
6467 254 `complementBit` 2 = 250
6468 254 `complementBit` 3 = 246
6469 254 `complementBit` 32 = 254
6470  
6471 255 `complementBit` 0 = 254
6472 255 `complementBit` 1 = 253
6473 255 `complementBit` 2 = 251
6474 255 `complementBit` 3 = 247
6475 255 `complementBit` 32 = 255
6476  
6477 0 `complementBit` 0 = 1
6478 0 `complementBit` 1 = 2
6479 0 `complementBit` 2 = 4
6480 0 `complementBit` 3 = 8
6481 0 `complementBit` 32 = 0
6482  
6483 1 `complementBit` 0 = 0
6484 1 `complementBit` 1 = 3
6485 1 `complementBit` 2 = 5
6486 1 `complementBit` 3 = 9
6487 1 `complementBit` 32 = 1
6488  
6489 2 `complementBit` 0 = 3
6490 2 `complementBit` 1 = 0
6491 2 `complementBit` 2 = 6
6492 2 `complementBit` 3 = 10
6493 2 `complementBit` 32 = 2
6494  
6495 3 `complementBit` 0 = 2
6496 3 `complementBit` 1 = 1
6497 3 `complementBit` 2 = 7
6498 3 `complementBit` 3 = 11
6499 3 `complementBit` 32 = 3
6500  
6501 #
6502 253 `testBit` 0 = True
6503 253 `testBit` 1 = False
6504 253 `testBit` 2 = True
6505 253 `testBit` 3 = True
6506 253 `testBit` 32 = False
6507  
6508 254 `testBit` 0 = False
6509 254 `testBit` 1 = True
6510 254 `testBit` 2 = True
6511 254 `testBit` 3 = True
6512 254 `testBit` 32 = False
6513  
6514 255 `testBit` 0 = True
6515 255 `testBit` 1 = True
6516 255 `testBit` 2 = True
6517 255 `testBit` 3 = True
6518 255 `testBit` 32 = False
6519  
6520 0 `testBit` 0 = False
6521 0 `testBit` 1 = False
6522 0 `testBit` 2 = False
6523 0 `testBit` 3 = False
6524 0 `testBit` 32 = False
6525  
6526 1 `testBit` 0 = True
6527 1 `testBit` 1 = False
6528 1 `testBit` 2 = False
6529 1 `testBit` 3 = False
6530 1 `testBit` 32 = False
6531  
6532 2 `testBit` 0 = False
6533 2 `testBit` 1 = True
6534 2 `testBit` 2 = False
6535 2 `testBit` 3 = False
6536 2 `testBit` 32 = False
6537  
6538 3 `testBit` 0 = True
6539 3 `testBit` 1 = True
6540 3 `testBit` 2 = False
6541 3 `testBit` 3 = False
6542 3 `testBit` 32 = False
6543  
6544 #
6545 bitSize 253 = 8
6546 bitSize 254 = 8
6547 bitSize 255 = 8
6548 bitSize 0 = 8
6549 bitSize 1 = 8
6550 bitSize 2 = 8
6551 bitSize 3 = 8
6552 #
6553 isSigned 253 = False
6554 isSigned 254 = False
6555 isSigned 255 = False
6556 isSigned 0 = False
6557 isSigned 1 = False
6558 isSigned 2 = False
6559 isSigned 3 = False
6560 #
6561 --------------------------------
6562 --Testing Word16
6563 --------------------------------
6564 testBounded
6565 (65535,0,1)
6566 (65534,65535,0)
6567 testEnum
6568 [0,1,2,3,4,5,6,7,8,9]
6569 [0,2,4,6,8,10,12,14,16,18]
6570 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
6571 [0,2,4,6,8,10,12,14,16,18,20]
6572 testReadShow
6573 [65533,65534,65535,0,1,2,3]
6574 [65533,65534,65535,0,1,2,3]
6575 testEq
6576 65533 == 65533 = True
6577 65533 == 65534 = False
6578 65533 == 65535 = False
6579 65533 == 0 = False
6580 65533 == 1 = False
6581 65533 == 2 = False
6582 65533 == 3 = False
6583  
6584 65534 == 65533 = False
6585 65534 == 65534 = True
6586 65534 == 65535 = False
6587 65534 == 0 = False
6588 65534 == 1 = False
6589 65534 == 2 = False
6590 65534 == 3 = False
6591  
6592 65535 == 65533 = False
6593 65535 == 65534 = False
6594 65535 == 65535 = True
6595 65535 == 0 = False
6596 65535 == 1 = False
6597 65535 == 2 = False
6598 65535 == 3 = False
6599  
6600 0 == 65533 = False
6601 0 == 65534 = False
6602 0 == 65535 = False
6603 0 == 0 = True
6604 0 == 1 = False
6605 0 == 2 = False
6606 0 == 3 = False
6607  
6608 1 == 65533 = False
6609 1 == 65534 = False
6610 1 == 65535 = False
6611 1 == 0 = False
6612 1 == 1 = True
6613 1 == 2 = False
6614 1 == 3 = False
6615  
6616 2 == 65533 = False
6617 2 == 65534 = False
6618 2 == 65535 = False
6619 2 == 0 = False
6620 2 == 1 = False
6621 2 == 2 = True
6622 2 == 3 = False
6623  
6624 3 == 65533 = False
6625 3 == 65534 = False
6626 3 == 65535 = False
6627 3 == 0 = False
6628 3 == 1 = False
6629 3 == 2 = False
6630 3 == 3 = True
6631  
6632 #
6633 65533 /= 65533 = False
6634 65533 /= 65534 = True
6635 65533 /= 65535 = True
6636 65533 /= 0 = True
6637 65533 /= 1 = True
6638 65533 /= 2 = True
6639 65533 /= 3 = True
6640  
6641 65534 /= 65533 = True
6642 65534 /= 65534 = False
6643 65534 /= 65535 = True
6644 65534 /= 0 = True
6645 65534 /= 1 = True
6646 65534 /= 2 = True
6647 65534 /= 3 = True
6648  
6649 65535 /= 65533 = True
6650 65535 /= 65534 = True
6651 65535 /= 65535 = False
6652 65535 /= 0 = True
6653 65535 /= 1 = True
6654 65535 /= 2 = True
6655 65535 /= 3 = True
6656  
6657 0 /= 65533 = True
6658 0 /= 65534 = True
6659 0 /= 65535 = True
6660 0 /= 0 = False
6661 0 /= 1 = True
6662 0 /= 2 = True
6663 0 /= 3 = True
6664  
6665 1 /= 65533 = True
6666 1 /= 65534 = True
6667 1 /= 65535 = True
6668 1 /= 0 = True
6669 1 /= 1 = False
6670 1 /= 2 = True
6671 1 /= 3 = True
6672  
6673 2 /= 65533 = True
6674 2 /= 65534 = True
6675 2 /= 65535 = True
6676 2 /= 0 = True
6677 2 /= 1 = True
6678 2 /= 2 = False
6679 2 /= 3 = True
6680  
6681 3 /= 65533 = True
6682 3 /= 65534 = True
6683 3 /= 65535 = True
6684 3 /= 0 = True
6685 3 /= 1 = True
6686 3 /= 2 = True
6687 3 /= 3 = False
6688  
6689 #
6690 testOrd
6691 65533 <= 65533 = True
6692 65533 <= 65534 = True
6693 65533 <= 65535 = True
6694 65533 <= 0 = False
6695 65533 <= 1 = False
6696 65533 <= 2 = False
6697 65533 <= 3 = False
6698  
6699 65534 <= 65533 = False
6700 65534 <= 65534 = True
6701 65534 <= 65535 = True
6702 65534 <= 0 = False
6703 65534 <= 1 = False
6704 65534 <= 2 = False
6705 65534 <= 3 = False
6706  
6707 65535 <= 65533 = False
6708 65535 <= 65534 = False
6709 65535 <= 65535 = True
6710 65535 <= 0 = False
6711 65535 <= 1 = False
6712 65535 <= 2 = False
6713 65535 <= 3 = False
6714  
6715 0 <= 65533 = True
6716 0 <= 65534 = True
6717 0 <= 65535 = True
6718 0 <= 0 = True
6719 0 <= 1 = True
6720 0 <= 2 = True
6721 0 <= 3 = True
6722  
6723 1 <= 65533 = True
6724 1 <= 65534 = True
6725 1 <= 65535 = True
6726 1 <= 0 = False
6727 1 <= 1 = True
6728 1 <= 2 = True
6729 1 <= 3 = True
6730  
6731 2 <= 65533 = True
6732 2 <= 65534 = True
6733 2 <= 65535 = True
6734 2 <= 0 = False
6735 2 <= 1 = False
6736 2 <= 2 = True
6737 2 <= 3 = True
6738  
6739 3 <= 65533 = True
6740 3 <= 65534 = True
6741 3 <= 65535 = True
6742 3 <= 0 = False
6743 3 <= 1 = False
6744 3 <= 2 = False
6745 3 <= 3 = True
6746  
6747 #
6748 65533 <  65533 = False
6749 65533 <  65534 = True
6750 65533 <  65535 = True
6751 65533 <  0 = False
6752 65533 <  1 = False
6753 65533 <  2 = False
6754 65533 <  3 = False
6755  
6756 65534 <  65533 = False
6757 65534 <  65534 = False
6758 65534 <  65535 = True
6759 65534 <  0 = False
6760 65534 <  1 = False
6761 65534 <  2 = False
6762 65534 <  3 = False
6763  
6764 65535 <  65533 = False
6765 65535 <  65534 = False
6766 65535 <  65535 = False
6767 65535 <  0 = False
6768 65535 <  1 = False
6769 65535 <  2 = False
6770 65535 <  3 = False
6771  
6772 0 <  65533 = True
6773 0 <  65534 = True
6774 0 <  65535 = True
6775 0 <  0 = False
6776 0 <  1 = True
6777 0 <  2 = True
6778 0 <  3 = True
6779  
6780 1 <  65533 = True
6781 1 <  65534 = True
6782 1 <  65535 = True
6783 1 <  0 = False
6784 1 <  1 = False
6785 1 <  2 = True
6786 1 <  3 = True
6787  
6788 2 <  65533 = True
6789 2 <  65534 = True
6790 2 <  65535 = True
6791 2 <  0 = False
6792 2 <  1 = False
6793 2 <  2 = False
6794 2 <  3 = True
6795  
6796 3 <  65533 = True
6797 3 <  65534 = True
6798 3 <  65535 = True
6799 3 <  0 = False
6800 3 <  1 = False
6801 3 <  2 = False
6802 3 <  3 = False
6803  
6804 #
6805 65533 >  65533 = False
6806 65533 >  65534 = False
6807 65533 >  65535 = False
6808 65533 >  0 = True
6809 65533 >  1 = True
6810 65533 >  2 = True
6811 65533 >  3 = True
6812  
6813 65534 >  65533 = True
6814 65534 >  65534 = False
6815 65534 >  65535 = False
6816 65534 >  0 = True
6817 65534 >  1 = True
6818 65534 >  2 = True
6819 65534 >  3 = True
6820  
6821 65535 >  65533 = True
6822 65535 >  65534 = True
6823 65535 >  65535 = False
6824 65535 >  0 = True
6825 65535 >  1 = True
6826 65535 >  2 = True
6827 65535 >  3 = True
6828  
6829 0 >  65533 = False
6830 0 >  65534 = False
6831 0 >  65535 = False
6832 0 >  0 = False
6833 0 >  1 = False
6834 0 >  2 = False
6835 0 >  3 = False
6836  
6837 1 >  65533 = False
6838 1 >  65534 = False
6839 1 >  65535 = False
6840 1 >  0 = True
6841 1 >  1 = False
6842 1 >  2 = False
6843 1 >  3 = False
6844  
6845 2 >  65533 = False
6846 2 >  65534 = False
6847 2 >  65535 = False
6848 2 >  0 = True
6849 2 >  1 = True
6850 2 >  2 = False
6851 2 >  3 = False
6852  
6853 3 >  65533 = False
6854 3 >  65534 = False
6855 3 >  65535 = False
6856 3 >  0 = True
6857 3 >  1 = True
6858 3 >  2 = True
6859 3 >  3 = False
6860  
6861 #
6862 65533 >= 65533 = True
6863 65533 >= 65534 = False
6864 65533 >= 65535 = False
6865 65533 >= 0 = True
6866 65533 >= 1 = True
6867 65533 >= 2 = True
6868 65533 >= 3 = True
6869  
6870 65534 >= 65533 = True
6871 65534 >= 65534 = True
6872 65534 >= 65535 = False
6873 65534 >= 0 = True
6874 65534 >= 1 = True
6875 65534 >= 2 = True
6876 65534 >= 3 = True
6877  
6878 65535 >= 65533 = True
6879 65535 >= 65534 = True
6880 65535 >= 65535 = True
6881 65535 >= 0 = True
6882 65535 >= 1 = True
6883 65535 >= 2 = True
6884 65535 >= 3 = True
6885  
6886 0 >= 65533 = False
6887 0 >= 65534 = False
6888 0 >= 65535 = False
6889 0 >= 0 = True
6890 0 >= 1 = False
6891 0 >= 2 = False
6892 0 >= 3 = False
6893  
6894 1 >= 65533 = False
6895 1 >= 65534 = False
6896 1 >= 65535 = False
6897 1 >= 0 = True
6898 1 >= 1 = True
6899 1 >= 2 = False
6900 1 >= 3 = False
6901  
6902 2 >= 65533 = False
6903 2 >= 65534 = False
6904 2 >= 65535 = False
6905 2 >= 0 = True
6906 2 >= 1 = True
6907 2 >= 2 = True
6908 2 >= 3 = False
6909  
6910 3 >= 65533 = False
6911 3 >= 65534 = False
6912 3 >= 65535 = False
6913 3 >= 0 = True
6914 3 >= 1 = True
6915 3 >= 2 = True
6916 3 >= 3 = True
6917  
6918 #
6919 65533 `compare` 65533 = EQ
6920 65533 `compare` 65534 = LT
6921 65533 `compare` 65535 = LT
6922 65533 `compare` 0 = GT
6923 65533 `compare` 1 = GT
6924 65533 `compare` 2 = GT
6925 65533 `compare` 3 = GT
6926  
6927 65534 `compare` 65533 = GT
6928 65534 `compare` 65534 = EQ
6929 65534 `compare` 65535 = LT
6930 65534 `compare` 0 = GT
6931 65534 `compare` 1 = GT
6932 65534 `compare` 2 = GT
6933 65534 `compare` 3 = GT
6934  
6935 65535 `compare` 65533 = GT
6936 65535 `compare` 65534 = GT
6937 65535 `compare` 65535 = EQ
6938 65535 `compare` 0 = GT
6939 65535 `compare` 1 = GT
6940 65535 `compare` 2 = GT
6941 65535 `compare` 3 = GT
6942  
6943 0 `compare` 65533 = LT
6944 0 `compare` 65534 = LT
6945 0 `compare` 65535 = LT
6946 0 `compare` 0 = EQ
6947 0 `compare` 1 = LT
6948 0 `compare` 2 = LT
6949 0 `compare` 3 = LT
6950  
6951 1 `compare` 65533 = LT
6952 1 `compare` 65534 = LT
6953 1 `compare` 65535 = LT
6954 1 `compare` 0 = GT
6955 1 `compare` 1 = EQ
6956 1 `compare` 2 = LT
6957 1 `compare` 3 = LT
6958  
6959 2 `compare` 65533 = LT
6960 2 `compare` 65534 = LT
6961 2 `compare` 65535 = LT
6962 2 `compare` 0 = GT
6963 2 `compare` 1 = GT
6964 2 `compare` 2 = EQ
6965 2 `compare` 3 = LT
6966  
6967 3 `compare` 65533 = LT
6968 3 `compare` 65534 = LT
6969 3 `compare` 65535 = LT
6970 3 `compare` 0 = GT
6971 3 `compare` 1 = GT
6972 3 `compare` 2 = GT
6973 3 `compare` 3 = EQ
6974  
6975 #
6976 testNum
6977 65533 + 65533 = 65530
6978 65533 + 65534 = 65531
6979 65533 + 65535 = 65532
6980 65533 + 0 = 65533
6981 65533 + 1 = 65534
6982 65533 + 2 = 65535
6983 65533 + 3 = 0
6984  
6985 65534 + 65533 = 65531
6986 65534 + 65534 = 65532
6987 65534 + 65535 = 65533
6988 65534 + 0 = 65534
6989 65534 + 1 = 65535
6990 65534 + 2 = 0
6991 65534 + 3 = 1
6992  
6993 65535 + 65533 = 65532
6994 65535 + 65534 = 65533
6995 65535 + 65535 = 65534
6996 65535 + 0 = 65535
6997 65535 + 1 = 0
6998 65535 + 2 = 1
6999 65535 + 3 = 2
7000  
7001 0 + 65533 = 65533
7002 0 + 65534 = 65534
7003 0 + 65535 = 65535
7004 0 + 0 = 0
7005 0 + 1 = 1
7006 0 + 2 = 2
7007 0 + 3 = 3
7008  
7009 1 + 65533 = 65534
7010 1 + 65534 = 65535
7011 1 + 65535 = 0
7012 1 + 0 = 1
7013 1 + 1 = 2
7014 1 + 2 = 3
7015 1 + 3 = 4
7016  
7017 2 + 65533 = 65535
7018 2 + 65534 = 0
7019 2 + 65535 = 1
7020 2 + 0 = 2
7021 2 + 1 = 3
7022 2 + 2 = 4
7023 2 + 3 = 5
7024  
7025 3 + 65533 = 0
7026 3 + 65534 = 1
7027 3 + 65535 = 2
7028 3 + 0 = 3
7029 3 + 1 = 4
7030 3 + 2 = 5
7031 3 + 3 = 6
7032  
7033 #
7034 65533 - 65533 = 0
7035 65533 - 65534 = 65535
7036 65533 - 65535 = 65534
7037 65533 - 0 = 65533
7038 65533 - 1 = 65532
7039 65533 - 2 = 65531
7040 65533 - 3 = 65530
7041  
7042 65534 - 65533 = 1
7043 65534 - 65534 = 0
7044 65534 - 65535 = 65535
7045 65534 - 0 = 65534
7046 65534 - 1 = 65533
7047 65534 - 2 = 65532
7048 65534 - 3 = 65531
7049  
7050 65535 - 65533 = 2
7051 65535 - 65534 = 1
7052 65535 - 65535 = 0
7053 65535 - 0 = 65535
7054 65535 - 1 = 65534
7055 65535 - 2 = 65533
7056 65535 - 3 = 65532
7057  
7058 0 - 65533 = 3
7059 0 - 65534 = 2
7060 0 - 65535 = 1
7061 0 - 0 = 0
7062 0 - 1 = 65535
7063 0 - 2 = 65534
7064 0 - 3 = 65533
7065  
7066 1 - 65533 = 4
7067 1 - 65534 = 3
7068 1 - 65535 = 2
7069 1 - 0 = 1
7070 1 - 1 = 0
7071 1 - 2 = 65535
7072 1 - 3 = 65534
7073  
7074 2 - 65533 = 5
7075 2 - 65534 = 4
7076 2 - 65535 = 3
7077 2 - 0 = 2
7078 2 - 1 = 1
7079 2 - 2 = 0
7080 2 - 3 = 65535
7081  
7082 3 - 65533 = 6
7083 3 - 65534 = 5
7084 3 - 65535 = 4
7085 3 - 0 = 3
7086 3 - 1 = 2
7087 3 - 2 = 1
7088 3 - 3 = 0
7089  
7090 #
7091 65533 * 65533 = 9
7092 65533 * 65534 = 6
7093 65533 * 65535 = 3
7094 65533 * 0 = 0
7095 65533 * 1 = 65533
7096 65533 * 2 = 65530
7097 65533 * 3 = 65527
7098  
7099 65534 * 65533 = 6
7100 65534 * 65534 = 4
7101 65534 * 65535 = 2
7102 65534 * 0 = 0
7103 65534 * 1 = 65534
7104 65534 * 2 = 65532
7105 65534 * 3 = 65530
7106  
7107 65535 * 65533 = 3
7108 65535 * 65534 = 2
7109 65535 * 65535 = 1
7110 65535 * 0 = 0
7111 65535 * 1 = 65535
7112 65535 * 2 = 65534
7113 65535 * 3 = 65533
7114  
7115 0 * 65533 = 0
7116 0 * 65534 = 0
7117 0 * 65535 = 0
7118 0 * 0 = 0
7119 0 * 1 = 0
7120 0 * 2 = 0
7121 0 * 3 = 0
7122  
7123 1 * 65533 = 65533
7124 1 * 65534 = 65534
7125 1 * 65535 = 65535
7126 1 * 0 = 0
7127 1 * 1 = 1
7128 1 * 2 = 2
7129 1 * 3 = 3
7130  
7131 2 * 65533 = 65530
7132 2 * 65534 = 65532
7133 2 * 65535 = 65534
7134 2 * 0 = 0
7135 2 * 1 = 2
7136 2 * 2 = 4
7137 2 * 3 = 6
7138  
7139 3 * 65533 = 65527
7140 3 * 65534 = 65530
7141 3 * 65535 = 65533
7142 3 * 0 = 0
7143 3 * 1 = 3
7144 3 * 2 = 6
7145 3 * 3 = 9
7146  
7147 #
7148 negate 65533 = 3
7149 negate 65534 = 2
7150 negate 65535 = 1
7151 negate 0 = 0
7152 negate 1 = 65535
7153 negate 2 = 65534
7154 negate 3 = 65533
7155 #
7156 testReal
7157 toRational 65533 = 65533 % 1
7158 toRational 65534 = 65534 % 1
7159 toRational 65535 = 65535 % 1
7160 toRational 0 = 0 % 1
7161 toRational 1 = 1 % 1
7162 toRational 2 = 2 % 1
7163 toRational 3 = 3 % 1
7164 #
7165 testIntegral
7166 65533 `divMod`  65533 = (1,0)
7167 65533 `divMod`  65534 = (0,65533)
7168 65533 `divMod`  65535 = (0,65533)
7169 65533 `divMod`  1 = (65533,0)
7170 65533 `divMod`  2 = (32766,1)
7171 65533 `divMod`  3 = (21844,1)
7172  
7173 65534 `divMod`  65533 = (1,1)
7174 65534 `divMod`  65534 = (1,0)
7175 65534 `divMod`  65535 = (0,65534)
7176 65534 `divMod`  1 = (65534,0)
7177 65534 `divMod`  2 = (32767,0)
7178 65534 `divMod`  3 = (21844,2)
7179  
7180 65535 `divMod`  65533 = (1,2)
7181 65535 `divMod`  65534 = (1,1)
7182 65535 `divMod`  65535 = (1,0)
7183 65535 `divMod`  1 = (65535,0)
7184 65535 `divMod`  2 = (32767,1)
7185 65535 `divMod`  3 = (21845,0)
7186  
7187 0 `divMod`  65533 = (0,0)
7188 0 `divMod`  65534 = (0,0)
7189 0 `divMod`  65535 = (0,0)
7190 0 `divMod`  1 = (0,0)
7191 0 `divMod`  2 = (0,0)
7192 0 `divMod`  3 = (0,0)
7193  
7194 1 `divMod`  65533 = (0,1)
7195 1 `divMod`  65534 = (0,1)
7196 1 `divMod`  65535 = (0,1)
7197 1 `divMod`  1 = (1,0)
7198 1 `divMod`  2 = (0,1)
7199 1 `divMod`  3 = (0,1)
7200  
7201 2 `divMod`  65533 = (0,2)
7202 2 `divMod`  65534 = (0,2)
7203 2 `divMod`  65535 = (0,2)
7204 2 `divMod`  1 = (2,0)
7205 2 `divMod`  2 = (1,0)
7206 2 `divMod`  3 = (0,2)
7207  
7208 3 `divMod`  65533 = (0,3)
7209 3 `divMod`  65534 = (0,3)
7210 3 `divMod`  65535 = (0,3)
7211 3 `divMod`  1 = (3,0)
7212 3 `divMod`  2 = (1,1)
7213 3 `divMod`  3 = (1,0)
7214  
7215 #
7216 65533 `div`     65533 = 1
7217 65533 `div`     65534 = 0
7218 65533 `div`     65535 = 0
7219 65533 `div`     1 = 65533
7220 65533 `div`     2 = 32766
7221 65533 `div`     3 = 21844
7222  
7223 65534 `div`     65533 = 1
7224 65534 `div`     65534 = 1
7225 65534 `div`     65535 = 0
7226 65534 `div`     1 = 65534
7227 65534 `div`     2 = 32767
7228 65534 `div`     3 = 21844
7229  
7230 65535 `div`     65533 = 1
7231 65535 `div`     65534 = 1
7232 65535 `div`     65535 = 1
7233 65535 `div`     1 = 65535
7234 65535 `div`     2 = 32767
7235 65535 `div`     3 = 21845
7236  
7237 0 `div`     65533 = 0
7238 0 `div`     65534 = 0
7239 0 `div`     65535 = 0
7240 0 `div`     1 = 0
7241 0 `div`     2 = 0
7242 0 `div`     3 = 0
7243  
7244 1 `div`     65533 = 0
7245 1 `div`     65534 = 0
7246 1 `div`     65535 = 0
7247 1 `div`     1 = 1
7248 1 `div`     2 = 0
7249 1 `div`     3 = 0
7250  
7251 2 `div`     65533 = 0
7252 2 `div`     65534 = 0
7253 2 `div`     65535 = 0
7254 2 `div`     1 = 2
7255 2 `div`     2 = 1
7256 2 `div`     3 = 0
7257  
7258 3 `div`     65533 = 0
7259 3 `div`     65534 = 0
7260 3 `div`     65535 = 0
7261 3 `div`     1 = 3
7262 3 `div`     2 = 1
7263 3 `div`     3 = 1
7264  
7265 #
7266 65533 `mod`     65533 = 0
7267 65533 `mod`     65534 = 65533
7268 65533 `mod`     65535 = 65533
7269 65533 `mod`     1 = 0
7270 65533 `mod`     2 = 1
7271 65533 `mod`     3 = 1
7272  
7273 65534 `mod`     65533 = 1
7274 65534 `mod`     65534 = 0
7275 65534 `mod`     65535 = 65534
7276 65534 `mod`     1 = 0
7277 65534 `mod`     2 = 0
7278 65534 `mod`     3 = 2
7279  
7280 65535 `mod`     65533 = 2
7281 65535 `mod`     65534 = 1
7282 65535 `mod`     65535 = 0
7283 65535 `mod`     1 = 0
7284 65535 `mod`     2 = 1
7285 65535 `mod`     3 = 0
7286  
7287 0 `mod`     65533 = 0
7288 0 `mod`     65534 = 0
7289 0 `mod`     65535 = 0
7290 0 `mod`     1 = 0
7291 0 `mod`     2 = 0
7292 0 `mod`     3 = 0
7293  
7294 1 `mod`     65533 = 1
7295 1 `mod`     65534 = 1
7296 1 `mod`     65535 = 1
7297 1 `mod`     1 = 0
7298 1 `mod`     2 = 1
7299 1 `mod`     3 = 1
7300  
7301 2 `mod`     65533 = 2
7302 2 `mod`     65534 = 2
7303 2 `mod`     65535 = 2
7304 2 `mod`     1 = 0
7305 2 `mod`     2 = 0
7306 2 `mod`     3 = 2
7307  
7308 3 `mod`     65533 = 3
7309 3 `mod`     65534 = 3
7310 3 `mod`     65535 = 3
7311 3 `mod`     1 = 0
7312 3 `mod`     2 = 1
7313 3 `mod`     3 = 0
7314  
7315 #
7316 65533 `quotRem` 65533 = (1,0)
7317 65533 `quotRem` 65534 = (0,65533)
7318 65533 `quotRem` 65535 = (0,65533)
7319 65533 `quotRem` 1 = (65533,0)
7320 65533 `quotRem` 2 = (32766,1)
7321 65533 `quotRem` 3 = (21844,1)
7322  
7323 65534 `quotRem` 65533 = (1,1)
7324 65534 `quotRem` 65534 = (1,0)
7325 65534 `quotRem` 65535 = (0,65534)
7326 65534 `quotRem` 1 = (65534,0)
7327 65534 `quotRem` 2 = (32767,0)
7328 65534 `quotRem` 3 = (21844,2)
7329  
7330 65535 `quotRem` 65533 = (1,2)
7331 65535 `quotRem` 65534 = (1,1)
7332 65535 `quotRem` 65535 = (1,0)
7333 65535 `quotRem` 1 = (65535,0)
7334 65535 `quotRem` 2 = (32767,1)
7335 65535 `quotRem` 3 = (21845,0)
7336  
7337 0 `quotRem` 65533 = (0,0)
7338 0 `quotRem` 65534 = (0,0)
7339 0 `quotRem` 65535 = (0,0)
7340 0 `quotRem` 1 = (0,0)
7341 0 `quotRem` 2 = (0,0)
7342 0 `quotRem` 3 = (0,0)
7343  
7344 1 `quotRem` 65533 = (0,1)
7345 1 `quotRem` 65534 = (0,1)
7346 1 `quotRem` 65535 = (0,1)
7347 1 `quotRem` 1 = (1,0)
7348 1 `quotRem` 2 = (0,1)
7349 1 `quotRem` 3 = (0,1)
7350  
7351 2 `quotRem` 65533 = (0,2)
7352 2 `quotRem` 65534 = (0,2)
7353 2 `quotRem` 65535 = (0,2)
7354 2 `quotRem` 1 = (2,0)
7355 2 `quotRem` 2 = (1,0)
7356 2 `quotRem` 3 = (0,2)
7357  
7358 3 `quotRem` 65533 = (0,3)
7359 3 `quotRem` 65534 = (0,3)
7360 3 `quotRem` 65535 = (0,3)
7361 3 `quotRem` 1 = (3,0)
7362 3 `quotRem` 2 = (1,1)
7363 3 `quotRem` 3 = (1,0)
7364  
7365 #
7366 65533 `quot`    65533 = 1
7367 65533 `quot`    65534 = 0
7368 65533 `quot`    65535 = 0
7369 65533 `quot`    1 = 65533
7370 65533 `quot`    2 = 32766
7371 65533 `quot`    3 = 21844
7372  
7373 65534 `quot`    65533 = 1
7374 65534 `quot`    65534 = 1
7375 65534 `quot`    65535 = 0
7376 65534 `quot`    1 = 65534
7377 65534 `quot`    2 = 32767
7378 65534 `quot`    3 = 21844
7379  
7380 65535 `quot`    65533 = 1
7381 65535 `quot`    65534 = 1
7382 65535 `quot`    65535 = 1
7383 65535 `quot`    1 = 65535
7384 65535 `quot`    2 = 32767
7385 65535 `quot`    3 = 21845
7386  
7387 0 `quot`    65533 = 0
7388 0 `quot`    65534 = 0
7389 0 `quot`    65535 = 0
7390 0 `quot`    1 = 0
7391 0 `quot`    2 = 0
7392 0 `quot`    3 = 0
7393  
7394 1 `quot`    65533 = 0
7395 1 `quot`    65534 = 0
7396 1 `quot`    65535 = 0
7397 1 `quot`    1 = 1
7398 1 `quot`    2 = 0
7399 1 `quot`    3 = 0
7400  
7401 2 `quot`    65533 = 0
7402 2 `quot`    65534 = 0
7403 2 `quot`    65535 = 0
7404 2 `quot`    1 = 2
7405 2 `quot`    2 = 1
7406 2 `quot`    3 = 0
7407  
7408 3 `quot`    65533 = 0
7409 3 `quot`    65534 = 0
7410 3 `quot`    65535 = 0
7411 3 `quot`    1 = 3
7412 3 `quot`    2 = 1
7413 3 `quot`    3 = 1
7414  
7415 #
7416 65533 `rem`     65533 = 0
7417 65533 `rem`     65534 = 65533
7418 65533 `rem`     65535 = 65533
7419 65533 `rem`     1 = 0
7420 65533 `rem`     2 = 1
7421 65533 `rem`     3 = 1
7422  
7423 65534 `rem`     65533 = 1
7424 65534 `rem`     65534 = 0
7425 65534 `rem`     65535 = 65534
7426 65534 `rem`     1 = 0
7427 65534 `rem`     2 = 0
7428 65534 `rem`     3 = 2
7429  
7430 65535 `rem`     65533 = 2
7431 65535 `rem`     65534 = 1
7432 65535 `rem`     65535 = 0
7433 65535 `rem`     1 = 0
7434 65535 `rem`     2 = 1
7435 65535 `rem`     3 = 0
7436  
7437 0 `rem`     65533 = 0
7438 0 `rem`     65534 = 0
7439 0 `rem`     65535 = 0
7440 0 `rem`     1 = 0
7441 0 `rem`     2 = 0
7442 0 `rem`     3 = 0
7443  
7444 1 `rem`     65533 = 1
7445 1 `rem`     65534 = 1
7446 1 `rem`     65535 = 1
7447 1 `rem`     1 = 0
7448 1 `rem`     2 = 1
7449 1 `rem`     3 = 1
7450  
7451 2 `rem`     65533 = 2
7452 2 `rem`     65534 = 2
7453 2 `rem`     65535 = 2
7454 2 `rem`     1 = 0
7455 2 `rem`     2 = 0
7456 2 `rem`     3 = 2
7457  
7458 3 `rem`     65533 = 3
7459 3 `rem`     65534 = 3
7460 3 `rem`     65535 = 3
7461 3 `rem`     1 = 0
7462 3 `rem`     2 = 1
7463 3 `rem`     3 = 0
7464  
7465 #
7466 testConversions
7467 Integer : [0,0,65535]
7468 Int     : [0,0,65535]
7469 Int8    : [0,0,-1]
7470 Int16   : [0,0,-1]
7471 Int32   : [0,0,65535]
7472 Int64   : [0,0,65535]
7473 Word8   : [0,0,255]
7474 Word16  : [0,0,65535]
7475 Word32  : [0,0,65535]
7476 Word64  : [0,0,65535]
7477 testBits
7478 65533 .&.   65533 = 65533
7479 65533 .&.   65534 = 65532
7480 65533 .&.   65535 = 65533
7481 65533 .&.   1 = 1
7482 65533 .&.   2 = 0
7483 65533 .&.   3 = 1
7484  
7485 65534 .&.   65533 = 65532
7486 65534 .&.   65534 = 65534
7487 65534 .&.   65535 = 65534
7488 65534 .&.   1 = 0
7489 65534 .&.   2 = 2
7490 65534 .&.   3 = 2
7491  
7492 65535 .&.   65533 = 65533
7493 65535 .&.   65534 = 65534
7494 65535 .&.   65535 = 65535
7495 65535 .&.   1 = 1
7496 65535 .&.   2 = 2
7497 65535 .&.   3 = 3
7498  
7499 0 .&.   65533 = 0
7500 0 .&.   65534 = 0
7501 0 .&.   65535 = 0
7502 0 .&.   1 = 0
7503 0 .&.   2 = 0
7504 0 .&.   3 = 0
7505  
7506 1 .&.   65533 = 1
7507 1 .&.   65534 = 0
7508 1 .&.   65535 = 1
7509 1 .&.   1 = 1
7510 1 .&.   2 = 0
7511 1 .&.   3 = 1
7512  
7513 2 .&.   65533 = 0
7514 2 .&.   65534 = 2
7515 2 .&.   65535 = 2
7516 2 .&.   1 = 0
7517 2 .&.   2 = 2
7518 2 .&.   3 = 2
7519  
7520 3 .&.   65533 = 1
7521 3 .&.   65534 = 2
7522 3 .&.   65535 = 3
7523 3 .&.   1 = 1
7524 3 .&.   2 = 2
7525 3 .&.   3 = 3
7526  
7527 #
7528 65533 .|.   65533 = 65533
7529 65533 .|.   65534 = 65535
7530 65533 .|.   65535 = 65535
7531 65533 .|.   1 = 65533
7532 65533 .|.   2 = 65535
7533 65533 .|.   3 = 65535
7534  
7535 65534 .|.   65533 = 65535
7536 65534 .|.   65534 = 65534
7537 65534 .|.   65535 = 65535
7538 65534 .|.   1 = 65535
7539 65534 .|.   2 = 65534
7540 65534 .|.   3 = 65535
7541  
7542 65535 .|.   65533 = 65535
7543 65535 .|.   65534 = 65535
7544 65535 .|.   65535 = 65535
7545 65535 .|.   1 = 65535
7546 65535 .|.   2 = 65535
7547 65535 .|.   3 = 65535
7548  
7549 0 .|.   65533 = 65533
7550 0 .|.   65534 = 65534
7551 0 .|.   65535 = 65535
7552 0 .|.   1 = 1
7553 0 .|.   2 = 2
7554 0 .|.   3 = 3
7555  
7556 1 .|.   65533 = 65533
7557 1 .|.   65534 = 65535
7558 1 .|.   65535 = 65535
7559 1 .|.   1 = 1
7560 1 .|.   2 = 3
7561 1 .|.   3 = 3
7562  
7563 2 .|.   65533 = 65535
7564 2 .|.   65534 = 65534
7565 2 .|.   65535 = 65535
7566 2 .|.   1 = 3
7567 2 .|.   2 = 2
7568 2 .|.   3 = 3
7569  
7570 3 .|.   65533 = 65535
7571 3 .|.   65534 = 65535
7572 3 .|.   65535 = 65535
7573 3 .|.   1 = 3
7574 3 .|.   2 = 3
7575 3 .|.   3 = 3
7576  
7577 #
7578 65533 `xor` 65533 = 0
7579 65533 `xor` 65534 = 3
7580 65533 `xor` 65535 = 2
7581 65533 `xor` 1 = 65532
7582 65533 `xor` 2 = 65535
7583 65533 `xor` 3 = 65534
7584  
7585 65534 `xor` 65533 = 3
7586 65534 `xor` 65534 = 0
7587 65534 `xor` 65535 = 1
7588 65534 `xor` 1 = 65535
7589 65534 `xor` 2 = 65532
7590 65534 `xor` 3 = 65533
7591  
7592 65535 `xor` 65533 = 2
7593 65535 `xor` 65534 = 1
7594 65535 `xor` 65535 = 0
7595 65535 `xor` 1 = 65534
7596 65535 `xor` 2 = 65533
7597 65535 `xor` 3 = 65532
7598  
7599 0 `xor` 65533 = 65533
7600 0 `xor` 65534 = 65534
7601 0 `xor` 65535 = 65535
7602 0 `xor` 1 = 1
7603 0 `xor` 2 = 2
7604 0 `xor` 3 = 3
7605  
7606 1 `xor` 65533 = 65532
7607 1 `xor` 65534 = 65535
7608 1 `xor` 65535 = 65534
7609 1 `xor` 1 = 0
7610 1 `xor` 2 = 3
7611 1 `xor` 3 = 2
7612  
7613 2 `xor` 65533 = 65535
7614 2 `xor` 65534 = 65532
7615 2 `xor` 65535 = 65533
7616 2 `xor` 1 = 3
7617 2 `xor` 2 = 0
7618 2 `xor` 3 = 1
7619  
7620 3 `xor` 65533 = 65534
7621 3 `xor` 65534 = 65533
7622 3 `xor` 65535 = 65532
7623 3 `xor` 1 = 2
7624 3 `xor` 2 = 1
7625 3 `xor` 3 = 0
7626  
7627 #
7628 complement 65533 = 2
7629 complement 65534 = 1
7630 complement 65535 = 0
7631 complement 0 = 65535
7632 complement 1 = 65534
7633 complement 2 = 65533
7634 complement 3 = 65532
7635 #
7636 65533 `shiftL` 0 = 65533
7637 65533 `shiftL` 1 = 65530
7638 65533 `shiftL` 2 = 65524
7639 65533 `shiftL` 3 = 65512
7640 65533 `shiftL` 32 = 0
7641  
7642 65534 `shiftL` 0 = 65534
7643 65534 `shiftL` 1 = 65532
7644 65534 `shiftL` 2 = 65528
7645 65534 `shiftL` 3 = 65520
7646 65534 `shiftL` 32 = 0
7647  
7648 65535 `shiftL` 0 = 65535
7649 65535 `shiftL` 1 = 65534
7650 65535 `shiftL` 2 = 65532
7651 65535 `shiftL` 3 = 65528
7652 65535 `shiftL` 32 = 0
7653  
7654 0 `shiftL` 0 = 0
7655 0 `shiftL` 1 = 0
7656 0 `shiftL` 2 = 0
7657 0 `shiftL` 3 = 0
7658 0 `shiftL` 32 = 0
7659  
7660 1 `shiftL` 0 = 1
7661 1 `shiftL` 1 = 2
7662 1 `shiftL` 2 = 4
7663 1 `shiftL` 3 = 8
7664 1 `shiftL` 32 = 0
7665  
7666 2 `shiftL` 0 = 2
7667 2 `shiftL` 1 = 4
7668 2 `shiftL` 2 = 8
7669 2 `shiftL` 3 = 16
7670 2 `shiftL` 32 = 0
7671  
7672 3 `shiftL` 0 = 3
7673 3 `shiftL` 1 = 6
7674 3 `shiftL` 2 = 12
7675 3 `shiftL` 3 = 24
7676 3 `shiftL` 32 = 0
7677  
7678 #
7679 65533 `shiftR` 0 = 65533
7680 65533 `shiftR` 1 = 32766
7681 65533 `shiftR` 2 = 16383
7682 65533 `shiftR` 3 = 8191
7683 65533 `shiftR` 32 = 0
7684  
7685 65534 `shiftR` 0 = 65534
7686 65534 `shiftR` 1 = 32767
7687 65534 `shiftR` 2 = 16383
7688 65534 `shiftR` 3 = 8191
7689 65534 `shiftR` 32 = 0
7690  
7691 65535 `shiftR` 0 = 65535
7692 65535 `shiftR` 1 = 32767
7693 65535 `shiftR` 2 = 16383
7694 65535 `shiftR` 3 = 8191
7695 65535 `shiftR` 32 = 0
7696  
7697 0 `shiftR` 0 = 0
7698 0 `shiftR` 1 = 0
7699 0 `shiftR` 2 = 0
7700 0 `shiftR` 3 = 0
7701 0 `shiftR` 32 = 0
7702  
7703 1 `shiftR` 0 = 1
7704 1 `shiftR` 1 = 0
7705 1 `shiftR` 2 = 0
7706 1 `shiftR` 3 = 0
7707 1 `shiftR` 32 = 0
7708  
7709 2 `shiftR` 0 = 2
7710 2 `shiftR` 1 = 1
7711 2 `shiftR` 2 = 0
7712 2 `shiftR` 3 = 0
7713 2 `shiftR` 32 = 0
7714  
7715 3 `shiftR` 0 = 3
7716 3 `shiftR` 1 = 1
7717 3 `shiftR` 2 = 0
7718 3 `shiftR` 3 = 0
7719 3 `shiftR` 32 = 0
7720  
7721 #
7722 65533 `rotate` -3 = 49151
7723 65533 `rotate` -2 = 32767
7724 65533 `rotate` -1 = 65534
7725 65533 `rotate` 0 = 65533
7726 65533 `rotate` 1 = 65531
7727 65533 `rotate` 2 = 65527
7728 65533 `rotate` 3 = 65519
7729  
7730 65534 `rotate` -3 = 57343
7731 65534 `rotate` -2 = 49151
7732 65534 `rotate` -1 = 32767
7733 65534 `rotate` 0 = 65534
7734 65534 `rotate` 1 = 65533
7735 65534 `rotate` 2 = 65531
7736 65534 `rotate` 3 = 65527
7737  
7738 65535 `rotate` -3 = 65535
7739 65535 `rotate` -2 = 65535
7740 65535 `rotate` -1 = 65535
7741 65535 `rotate` 0 = 65535
7742 65535 `rotate` 1 = 65535
7743 65535 `rotate` 2 = 65535
7744 65535 `rotate` 3 = 65535
7745  
7746 0 `rotate` -3 = 0
7747 0 `rotate` -2 = 0
7748 0 `rotate` -1 = 0
7749 0 `rotate` 0 = 0
7750 0 `rotate` 1 = 0
7751 0 `rotate` 2 = 0
7752 0 `rotate` 3 = 0
7753  
7754 1 `rotate` -3 = 8192
7755 1 `rotate` -2 = 16384
7756 1 `rotate` -1 = 32768
7757 1 `rotate` 0 = 1
7758 1 `rotate` 1 = 2
7759 1 `rotate` 2 = 4
7760 1 `rotate` 3 = 8
7761  
7762 2 `rotate` -3 = 16384
7763 2 `rotate` -2 = 32768
7764 2 `rotate` -1 = 1
7765 2 `rotate` 0 = 2
7766 2 `rotate` 1 = 4
7767 2 `rotate` 2 = 8
7768 2 `rotate` 3 = 16
7769  
7770 3 `rotate` -3 = 24576
7771 3 `rotate` -2 = 49152
7772 3 `rotate` -1 = 32769
7773 3 `rotate` 0 = 3
7774 3 `rotate` 1 = 6
7775 3 `rotate` 2 = 12
7776 3 `rotate` 3 = 24
7777  
7778 #
7779 bit 0 = 1
7780 bit 1 = 2
7781 bit 2 = 4
7782 bit 3 = 8
7783 #
7784 65533 `setBit` 0 = 65533
7785 65533 `setBit` 1 = 65535
7786 65533 `setBit` 2 = 65533
7787 65533 `setBit` 3 = 65533
7788 65533 `setBit` 32 = 65533
7789  
7790 65534 `setBit` 0 = 65535
7791 65534 `setBit` 1 = 65534
7792 65534 `setBit` 2 = 65534
7793 65534 `setBit` 3 = 65534
7794 65534 `setBit` 32 = 65534
7795  
7796 65535 `setBit` 0 = 65535
7797 65535 `setBit` 1 = 65535
7798 65535 `setBit` 2 = 65535
7799 65535 `setBit` 3 = 65535
7800 65535 `setBit` 32 = 65535
7801  
7802 0 `setBit` 0 = 1
7803 0 `setBit` 1 = 2
7804 0 `setBit` 2 = 4
7805 0 `setBit` 3 = 8
7806 0 `setBit` 32 = 0
7807  
7808 1 `setBit` 0 = 1
7809 1 `setBit` 1 = 3
7810 1 `setBit` 2 = 5
7811 1 `setBit` 3 = 9
7812 1 `setBit` 32 = 1
7813  
7814 2 `setBit` 0 = 3
7815 2 `setBit` 1 = 2
7816 2 `setBit` 2 = 6
7817 2 `setBit` 3 = 10
7818 2 `setBit` 32 = 2
7819  
7820 3 `setBit` 0 = 3
7821 3 `setBit` 1 = 3
7822 3 `setBit` 2 = 7
7823 3 `setBit` 3 = 11
7824 3 `setBit` 32 = 3
7825  
7826 #
7827 65533 `clearBit` 0 = 65532
7828 65533 `clearBit` 1 = 65533
7829 65533 `clearBit` 2 = 65529
7830 65533 `clearBit` 3 = 65525
7831 65533 `clearBit` 32 = 65533
7832  
7833 65534 `clearBit` 0 = 65534
7834 65534 `clearBit` 1 = 65532
7835 65534 `clearBit` 2 = 65530
7836 65534 `clearBit` 3 = 65526
7837 65534 `clearBit` 32 = 65534
7838  
7839 65535 `clearBit` 0 = 65534
7840 65535 `clearBit` 1 = 65533
7841 65535 `clearBit` 2 = 65531
7842 65535 `clearBit` 3 = 65527
7843 65535 `clearBit` 32 = 65535
7844  
7845 0 `clearBit` 0 = 0
7846 0 `clearBit` 1 = 0
7847 0 `clearBit` 2 = 0
7848 0 `clearBit` 3 = 0
7849 0 `clearBit` 32 = 0
7850  
7851 1 `clearBit` 0 = 0
7852 1 `clearBit` 1 = 1
7853 1 `clearBit` 2 = 1
7854 1 `clearBit` 3 = 1
7855 1 `clearBit` 32 = 1
7856  
7857 2 `clearBit` 0 = 2
7858 2 `clearBit` 1 = 0
7859 2 `clearBit` 2 = 2
7860 2 `clearBit` 3 = 2
7861 2 `clearBit` 32 = 2
7862  
7863 3 `clearBit` 0 = 2
7864 3 `clearBit` 1 = 1
7865 3 `clearBit` 2 = 3
7866 3 `clearBit` 3 = 3
7867 3 `clearBit` 32 = 3
7868  
7869 #
7870 65533 `complementBit` 0 = 65532
7871 65533 `complementBit` 1 = 65535
7872 65533 `complementBit` 2 = 65529
7873 65533 `complementBit` 3 = 65525
7874 65533 `complementBit` 32 = 65533
7875  
7876 65534 `complementBit` 0 = 65535
7877 65534 `complementBit` 1 = 65532
7878 65534 `complementBit` 2 = 65530
7879 65534 `complementBit` 3 = 65526
7880 65534 `complementBit` 32 = 65534
7881  
7882 65535 `complementBit` 0 = 65534
7883 65535 `complementBit` 1 = 65533
7884 65535 `complementBit` 2 = 65531
7885 65535 `complementBit` 3 = 65527
7886 65535 `complementBit` 32 = 65535
7887  
7888 0 `complementBit` 0 = 1
7889 0 `complementBit` 1 = 2
7890 0 `complementBit` 2 = 4
7891 0 `complementBit` 3 = 8
7892 0 `complementBit` 32 = 0
7893  
7894 1 `complementBit` 0 = 0
7895 1 `complementBit` 1 = 3
7896 1 `complementBit` 2 = 5
7897 1 `complementBit` 3 = 9
7898 1 `complementBit` 32 = 1
7899  
7900 2 `complementBit` 0 = 3
7901 2 `complementBit` 1 = 0
7902 2 `complementBit` 2 = 6
7903 2 `complementBit` 3 = 10
7904 2 `complementBit` 32 = 2
7905  
7906 3 `complementBit` 0 = 2
7907 3 `complementBit` 1 = 1
7908 3 `complementBit` 2 = 7
7909 3 `complementBit` 3 = 11
7910 3 `complementBit` 32 = 3
7911  
7912 #
7913 65533 `testBit` 0 = True
7914 65533 `testBit` 1 = False
7915 65533 `testBit` 2 = True
7916 65533 `testBit` 3 = True
7917 65533 `testBit` 32 = False
7918  
7919 65534 `testBit` 0 = False
7920 65534 `testBit` 1 = True
7921 65534 `testBit` 2 = True
7922 65534 `testBit` 3 = True
7923 65534 `testBit` 32 = False
7924  
7925 65535 `testBit` 0 = True
7926 65535 `testBit` 1 = True
7927 65535 `testBit` 2 = True
7928 65535 `testBit` 3 = True
7929 65535 `testBit` 32 = False
7930  
7931 0 `testBit` 0 = False
7932 0 `testBit` 1 = False
7933 0 `testBit` 2 = False
7934 0 `testBit` 3 = False
7935 0 `testBit` 32 = False
7936  
7937 1 `testBit` 0 = True
7938 1 `testBit` 1 = False
7939 1 `testBit` 2 = False
7940 1 `testBit` 3 = False
7941 1 `testBit` 32 = False
7942  
7943 2 `testBit` 0 = False
7944 2 `testBit` 1 = True
7945 2 `testBit` 2 = False
7946 2 `testBit` 3 = False
7947 2 `testBit` 32 = False
7948  
7949 3 `testBit` 0 = True
7950 3 `testBit` 1 = True
7951 3 `testBit` 2 = False
7952 3 `testBit` 3 = False
7953 3 `testBit` 32 = False
7954  
7955 #
7956 bitSize 65533 = 16
7957 bitSize 65534 = 16
7958 bitSize 65535 = 16
7959 bitSize 0 = 16
7960 bitSize 1 = 16
7961 bitSize 2 = 16
7962 bitSize 3 = 16
7963 #
7964 isSigned 65533 = False
7965 isSigned 65534 = False
7966 isSigned 65535 = False
7967 isSigned 0 = False
7968 isSigned 1 = False
7969 isSigned 2 = False
7970 isSigned 3 = False
7971 #
7972 --------------------------------
7973 --Testing Word32
7974 --------------------------------
7975 testBounded
7976 (4294967295,0,1)
7977 (4294967294,4294967295,0)
7978 testEnum
7979 [0,1,2,3,4,5,6,7,8,9]
7980 [0,2,4,6,8,10,12,14,16,18]
7981 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
7982 [0,2,4,6,8,10,12,14,16,18,20]
7983 testReadShow
7984 [4294967293,4294967294,4294967295,0,1,2,3]
7985 [4294967293,4294967294,4294967295,0,1,2,3]
7986 testEq
7987 4294967293 == 4294967293 = True
7988 4294967293 == 4294967294 = False
7989 4294967293 == 4294967295 = False
7990 4294967293 == 0 = False
7991 4294967293 == 1 = False
7992 4294967293 == 2 = False
7993 4294967293 == 3 = False
7994  
7995 4294967294 == 4294967293 = False
7996 4294967294 == 4294967294 = True
7997 4294967294 == 4294967295 = False
7998 4294967294 == 0 = False
7999 4294967294 == 1 = False
8000 4294967294 == 2 = False
8001 4294967294 == 3 = False
8002  
8003 4294967295 == 4294967293 = False
8004 4294967295 == 4294967294 = False
8005 4294967295 == 4294967295 = True
8006 4294967295 == 0 = False
8007 4294967295 == 1 = False
8008 4294967295 == 2 = False
8009 4294967295 == 3 = False
8010  
8011 0 == 4294967293 = False
8012 0 == 4294967294 = False
8013 0 == 4294967295 = False
8014 0 == 0 = True
8015 0 == 1 = False
8016 0 == 2 = False
8017 0 == 3 = False
8018  
8019 1 == 4294967293 = False
8020 1 == 4294967294 = False
8021 1 == 4294967295 = False
8022 1 == 0 = False
8023 1 == 1 = True
8024 1 == 2 = False
8025 1 == 3 = False
8026  
8027 2 == 4294967293 = False
8028 2 == 4294967294 = False
8029 2 == 4294967295 = False
8030 2 == 0 = False
8031 2 == 1 = False
8032 2 == 2 = True
8033 2 == 3 = False
8034  
8035 3 == 4294967293 = False
8036 3 == 4294967294 = False
8037 3 == 4294967295 = False
8038 3 == 0 = False
8039 3 == 1 = False
8040 3 == 2 = False
8041 3 == 3 = True
8042  
8043 #
8044 4294967293 /= 4294967293 = False
8045 4294967293 /= 4294967294 = True
8046 4294967293 /= 4294967295 = True
8047 4294967293 /= 0 = True
8048 4294967293 /= 1 = True
8049 4294967293 /= 2 = True
8050 4294967293 /= 3 = True
8051  
8052 4294967294 /= 4294967293 = True
8053 4294967294 /= 4294967294 = False
8054 4294967294 /= 4294967295 = True
8055 4294967294 /= 0 = True
8056 4294967294 /= 1 = True
8057 4294967294 /= 2 = True
8058 4294967294 /= 3 = True
8059  
8060 4294967295 /= 4294967293 = True
8061 4294967295 /= 4294967294 = True
8062 4294967295 /= 4294967295 = False
8063 4294967295 /= 0 = True
8064 4294967295 /= 1 = True
8065 4294967295 /= 2 = True
8066 4294967295 /= 3 = True
8067  
8068 0 /= 4294967293 = True
8069 0 /= 4294967294 = True
8070 0 /= 4294967295 = True
8071 0 /= 0 = False
8072 0 /= 1 = True
8073 0 /= 2 = True
8074 0 /= 3 = True
8075  
8076 1 /= 4294967293 = True
8077 1 /= 4294967294 = True
8078 1 /= 4294967295 = True
8079 1 /= 0 = True
8080 1 /= 1 = False
8081 1 /= 2 = True
8082 1 /= 3 = True
8083  
8084 2 /= 4294967293 = True
8085 2 /= 4294967294 = True
8086 2 /= 4294967295 = True
8087 2 /= 0 = True
8088 2 /= 1 = True
8089 2 /= 2 = False
8090 2 /= 3 = True
8091  
8092 3 /= 4294967293 = True
8093 3 /= 4294967294 = True
8094 3 /= 4294967295 = True
8095 3 /= 0 = True
8096 3 /= 1 = True
8097 3 /= 2 = True
8098 3 /= 3 = False
8099  
8100 #
8101 testOrd
8102 4294967293 <= 4294967293 = True
8103 4294967293 <= 4294967294 = True
8104 4294967293 <= 4294967295 = True
8105 4294967293 <= 0 = False
8106 4294967293 <= 1 = False
8107 4294967293 <= 2 = False
8108 4294967293 <= 3 = False
8109  
8110 4294967294 <= 4294967293 = False
8111 4294967294 <= 4294967294 = True
8112 4294967294 <= 4294967295 = True
8113 4294967294 <= 0 = False
8114 4294967294 <= 1 = False
8115 4294967294 <= 2 = False
8116 4294967294 <= 3 = False
8117  
8118 4294967295 <= 4294967293 = False
8119 4294967295 <= 4294967294 = False
8120 4294967295 <= 4294967295 = True
8121 4294967295 <= 0 = False
8122 4294967295 <= 1 = False
8123 4294967295 <= 2 = False
8124 4294967295 <= 3 = False
8125  
8126 0 <= 4294967293 = True
8127 0 <= 4294967294 = True
8128 0 <= 4294967295 = True
8129 0 <= 0 = True
8130 0 <= 1 = True
8131 0 <= 2 = True
8132 0 <= 3 = True
8133  
8134 1 <= 4294967293 = True
8135 1 <= 4294967294 = True
8136 1 <= 4294967295 = True
8137 1 <= 0 = False
8138 1 <= 1 = True
8139 1 <= 2 = True
8140 1 <= 3 = True
8141  
8142 2 <= 4294967293 = True
8143 2 <= 4294967294 = True
8144 2 <= 4294967295 = True
8145 2 <= 0 = False
8146 2 <= 1 = False
8147 2 <= 2 = True
8148 2 <= 3 = True
8149  
8150 3 <= 4294967293 = True
8151 3 <= 4294967294 = True
8152 3 <= 4294967295 = True
8153 3 <= 0 = False
8154 3 <= 1 = False
8155 3 <= 2 = False
8156 3 <= 3 = True
8157  
8158 #
8159 4294967293 <  4294967293 = False
8160 4294967293 <  4294967294 = True
8161 4294967293 <  4294967295 = True
8162 4294967293 <  0 = False
8163 4294967293 <  1 = False
8164 4294967293 <  2 = False
8165 4294967293 <  3 = False
8166  
8167 4294967294 <  4294967293 = False
8168 4294967294 <  4294967294 = False
8169 4294967294 <  4294967295 = True
8170 4294967294 <  0 = False
8171 4294967294 <  1 = False
8172 4294967294 <  2 = False
8173 4294967294 <  3 = False
8174  
8175 4294967295 <  4294967293 = False
8176 4294967295 <  4294967294 = False
8177 4294967295 <  4294967295 = False
8178 4294967295 <  0 = False
8179 4294967295 <  1 = False
8180 4294967295 <  2 = False
8181 4294967295 <  3 = False
8182  
8183 0 <  4294967293 = True
8184 0 <  4294967294 = True
8185 0 <  4294967295 = True
8186 0 <  0 = False
8187 0 <  1 = True
8188 0 <  2 = True
8189 0 <  3 = True
8190  
8191 1 <  4294967293 = True
8192 1 <  4294967294 = True
8193 1 <  4294967295 = True
8194 1 <  0 = False
8195 1 <  1 = False
8196 1 <  2 = True
8197 1 <  3 = True
8198  
8199 2 <  4294967293 = True
8200 2 <  4294967294 = True
8201 2 <  4294967295 = True
8202 2 <  0 = False
8203 2 <  1 = False
8204 2 <  2 = False
8205 2 <  3 = True
8206  
8207 3 <  4294967293 = True
8208 3 <  4294967294 = True
8209 3 <  4294967295 = True
8210 3 <  0 = False
8211 3 <  1 = False
8212 3 <  2 = False
8213 3 <  3 = False
8214  
8215 #
8216 4294967293 >  4294967293 = False
8217 4294967293 >  4294967294 = False
8218 4294967293 >  4294967295 = False
8219 4294967293 >  0 = True
8220 4294967293 >  1 = True
8221 4294967293 >  2 = True
8222 4294967293 >  3 = True
8223  
8224 4294967294 >  4294967293 = True
8225 4294967294 >  4294967294 = False
8226 4294967294 >  4294967295 = False
8227 4294967294 >  0 = True
8228 4294967294 >  1 = True
8229 4294967294 >  2 = True
8230 4294967294 >  3 = True
8231  
8232 4294967295 >  4294967293 = True
8233 4294967295 >  4294967294 = True
8234 4294967295 >  4294967295 = False
8235 4294967295 >  0 = True
8236 4294967295 >  1 = True
8237 4294967295 >  2 = True
8238 4294967295 >  3 = True
8239  
8240 0 >  4294967293 = False
8241 0 >  4294967294 = False
8242 0 >  4294967295 = False
8243 0 >  0 = False
8244 0 >  1 = False
8245 0 >  2 = False
8246 0 >  3 = False
8247  
8248 1 >  4294967293 = False
8249 1 >  4294967294 = False
8250 1 >  4294967295 = False
8251 1 >  0 = True
8252 1 >  1 = False
8253 1 >  2 = False
8254 1 >  3 = False
8255  
8256 2 >  4294967293 = False
8257 2 >  4294967294 = False
8258 2 >  4294967295 = False
8259 2 >  0 = True
8260 2 >  1 = True
8261 2 >  2 = False
8262 2 >  3 = False
8263  
8264 3 >  4294967293 = False
8265 3 >  4294967294 = False
8266 3 >  4294967295 = False
8267 3 >  0 = True
8268 3 >  1 = True
8269 3 >  2 = True
8270 3 >  3 = False
8271  
8272 #
8273 4294967293 >= 4294967293 = True
8274 4294967293 >= 4294967294 = False
8275 4294967293 >= 4294967295 = False
8276 4294967293 >= 0 = True
8277 4294967293 >= 1 = True
8278 4294967293 >= 2 = True
8279 4294967293 >= 3 = True
8280  
8281 4294967294 >= 4294967293 = True
8282 4294967294 >= 4294967294 = True
8283 4294967294 >= 4294967295 = False
8284 4294967294 >= 0 = True
8285 4294967294 >= 1 = True
8286 4294967294 >= 2 = True
8287 4294967294 >= 3 = True
8288  
8289 4294967295 >= 4294967293 = True
8290 4294967295 >= 4294967294 = True
8291 4294967295 >= 4294967295 = True
8292 4294967295 >= 0 = True
8293 4294967295 >= 1 = True
8294 4294967295 >= 2 = True
8295 4294967295 >= 3 = True
8296  
8297 0 >= 4294967293 = False
8298 0 >= 4294967294 = False
8299 0 >= 4294967295 = False
8300 0 >= 0 = True
8301 0 >= 1 = False
8302 0 >= 2 = False
8303 0 >= 3 = False
8304  
8305 1 >= 4294967293 = False
8306 1 >= 4294967294 = False
8307 1 >= 4294967295 = False
8308 1 >= 0 = True
8309 1 >= 1 = True
8310 1 >= 2 = False
8311 1 >= 3 = False
8312  
8313 2 >= 4294967293 = False
8314 2 >= 4294967294 = False
8315 2 >= 4294967295 = False
8316 2 >= 0 = True
8317 2 >= 1 = True
8318 2 >= 2 = True
8319 2 >= 3 = False
8320  
8321 3 >= 4294967293 = False
8322 3 >= 4294967294 = False
8323 3 >= 4294967295 = False
8324 3 >= 0 = True
8325 3 >= 1 = True
8326 3 >= 2 = True
8327 3 >= 3 = True
8328  
8329 #
8330 4294967293 `compare` 4294967293 = EQ
8331 4294967293 `compare` 4294967294 = LT
8332 4294967293 `compare` 4294967295 = LT
8333 4294967293 `compare` 0 = GT
8334 4294967293 `compare` 1 = GT
8335 4294967293 `compare` 2 = GT
8336 4294967293 `compare` 3 = GT
8337  
8338 4294967294 `compare` 4294967293 = GT
8339 4294967294 `compare` 4294967294 = EQ
8340 4294967294 `compare` 4294967295 = LT
8341 4294967294 `compare` 0 = GT
8342 4294967294 `compare` 1 = GT
8343 4294967294 `compare` 2 = GT
8344 4294967294 `compare` 3 = GT
8345  
8346 4294967295 `compare` 4294967293 = GT
8347 4294967295 `compare` 4294967294 = GT
8348 4294967295 `compare` 4294967295 = EQ
8349 4294967295 `compare` 0 = GT
8350 4294967295 `compare` 1 = GT
8351 4294967295 `compare` 2 = GT
8352 4294967295 `compare` 3 = GT
8353  
8354 0 `compare` 4294967293 = LT
8355 0 `compare` 4294967294 = LT
8356 0 `compare` 4294967295 = LT
8357 0 `compare` 0 = EQ
8358 0 `compare` 1 = LT
8359 0 `compare` 2 = LT
8360 0 `compare` 3 = LT
8361  
8362 1 `compare` 4294967293 = LT
8363 1 `compare` 4294967294 = LT
8364 1 `compare` 4294967295 = LT
8365 1 `compare` 0 = GT
8366 1 `compare` 1 = EQ
8367 1 `compare` 2 = LT
8368 1 `compare` 3 = LT
8369  
8370 2 `compare` 4294967293 = LT
8371 2 `compare` 4294967294 = LT
8372 2 `compare` 4294967295 = LT
8373 2 `compare` 0 = GT
8374 2 `compare` 1 = GT
8375 2 `compare` 2 = EQ
8376 2 `compare` 3 = LT
8377  
8378 3 `compare` 4294967293 = LT
8379 3 `compare` 4294967294 = LT
8380 3 `compare` 4294967295 = LT
8381 3 `compare` 0 = GT
8382 3 `compare` 1 = GT
8383 3 `compare` 2 = GT
8384 3 `compare` 3 = EQ
8385  
8386 #
8387 testNum
8388 4294967293 + 4294967293 = 4294967290
8389 4294967293 + 4294967294 = 4294967291
8390 4294967293 + 4294967295 = 4294967292
8391 4294967293 + 0 = 4294967293
8392 4294967293 + 1 = 4294967294
8393 4294967293 + 2 = 4294967295
8394 4294967293 + 3 = 0
8395  
8396 4294967294 + 4294967293 = 4294967291
8397 4294967294 + 4294967294 = 4294967292
8398 4294967294 + 4294967295 = 4294967293
8399 4294967294 + 0 = 4294967294
8400 4294967294 + 1 = 4294967295
8401 4294967294 + 2 = 0
8402 4294967294 + 3 = 1
8403  
8404 4294967295 + 4294967293 = 4294967292
8405 4294967295 + 4294967294 = 4294967293
8406 4294967295 + 4294967295 = 4294967294
8407 4294967295 + 0 = 4294967295
8408 4294967295 + 1 = 0
8409 4294967295 + 2 = 1
8410 4294967295 + 3 = 2
8411  
8412 0 + 4294967293 = 4294967293
8413 0 + 4294967294 = 4294967294
8414 0 + 4294967295 = 4294967295
8415 0 + 0 = 0
8416 0 + 1 = 1
8417 0 + 2 = 2
8418 0 + 3 = 3
8419  
8420 1 + 4294967293 = 4294967294
8421 1 + 4294967294 = 4294967295
8422 1 + 4294967295 = 0
8423 1 + 0 = 1
8424 1 + 1 = 2
8425 1 + 2 = 3
8426 1 + 3 = 4
8427  
8428 2 + 4294967293 = 4294967295
8429 2 + 4294967294 = 0
8430 2 + 4294967295 = 1
8431 2 + 0 = 2
8432 2 + 1 = 3
8433 2 + 2 = 4
8434 2 + 3 = 5
8435  
8436 3 + 4294967293 = 0
8437 3 + 4294967294 = 1
8438 3 + 4294967295 = 2
8439 3 + 0 = 3
8440 3 + 1 = 4
8441 3 + 2 = 5
8442 3 + 3 = 6
8443  
8444 #
8445 4294967293 - 4294967293 = 0
8446 4294967293 - 4294967294 = 4294967295
8447 4294967293 - 4294967295 = 4294967294
8448 4294967293 - 0 = 4294967293
8449 4294967293 - 1 = 4294967292
8450 4294967293 - 2 = 4294967291
8451 4294967293 - 3 = 4294967290
8452  
8453 4294967294 - 4294967293 = 1
8454 4294967294 - 4294967294 = 0
8455 4294967294 - 4294967295 = 4294967295
8456 4294967294 - 0 = 4294967294
8457 4294967294 - 1 = 4294967293
8458 4294967294 - 2 = 4294967292
8459 4294967294 - 3 = 4294967291
8460  
8461 4294967295 - 4294967293 = 2
8462 4294967295 - 4294967294 = 1
8463 4294967295 - 4294967295 = 0
8464 4294967295 - 0 = 4294967295
8465 4294967295 - 1 = 4294967294
8466 4294967295 - 2 = 4294967293
8467 4294967295 - 3 = 4294967292
8468  
8469 0 - 4294967293 = 3
8470 0 - 4294967294 = 2
8471 0 - 4294967295 = 1
8472 0 - 0 = 0
8473 0 - 1 = 4294967295
8474 0 - 2 = 4294967294
8475 0 - 3 = 4294967293
8476  
8477 1 - 4294967293 = 4
8478 1 - 4294967294 = 3
8479 1 - 4294967295 = 2
8480 1 - 0 = 1
8481 1 - 1 = 0
8482 1 - 2 = 4294967295
8483 1 - 3 = 4294967294
8484  
8485 2 - 4294967293 = 5
8486 2 - 4294967294 = 4
8487 2 - 4294967295 = 3
8488 2 - 0 = 2
8489 2 - 1 = 1
8490 2 - 2 = 0
8491 2 - 3 = 4294967295
8492  
8493 3 - 4294967293 = 6
8494 3 - 4294967294 = 5
8495 3 - 4294967295 = 4
8496 3 - 0 = 3
8497 3 - 1 = 2
8498 3 - 2 = 1
8499 3 - 3 = 0
8500  
8501 #
8502 4294967293 * 4294967293 = 9
8503 4294967293 * 4294967294 = 6
8504 4294967293 * 4294967295 = 3
8505 4294967293 * 0 = 0
8506 4294967293 * 1 = 4294967293
8507 4294967293 * 2 = 4294967290
8508 4294967293 * 3 = 4294967287
8509  
8510 4294967294 * 4294967293 = 6
8511 4294967294 * 4294967294 = 4
8512 4294967294 * 4294967295 = 2
8513 4294967294 * 0 = 0
8514 4294967294 * 1 = 4294967294
8515 4294967294 * 2 = 4294967292
8516 4294967294 * 3 = 4294967290
8517  
8518 4294967295 * 4294967293 = 3
8519 4294967295 * 4294967294 = 2
8520 4294967295 * 4294967295 = 1
8521 4294967295 * 0 = 0
8522 4294967295 * 1 = 4294967295
8523 4294967295 * 2 = 4294967294
8524 4294967295 * 3 = 4294967293
8525  
8526 0 * 4294967293 = 0
8527 0 * 4294967294 = 0
8528 0 * 4294967295 = 0
8529 0 * 0 = 0
8530 0 * 1 = 0
8531 0 * 2 = 0
8532 0 * 3 = 0
8533  
8534 1 * 4294967293 = 4294967293
8535 1 * 4294967294 = 4294967294
8536 1 * 4294967295 = 4294967295
8537 1 * 0 = 0
8538 1 * 1 = 1
8539 1 * 2 = 2
8540 1 * 3 = 3
8541  
8542 2 * 4294967293 = 4294967290
8543 2 * 4294967294 = 4294967292
8544 2 * 4294967295 = 4294967294
8545 2 * 0 = 0
8546 2 * 1 = 2
8547 2 * 2 = 4
8548 2 * 3 = 6
8549  
8550 3 * 4294967293 = 4294967287
8551 3 * 4294967294 = 4294967290
8552 3 * 4294967295 = 4294967293
8553 3 * 0 = 0
8554 3 * 1 = 3
8555 3 * 2 = 6
8556 3 * 3 = 9
8557  
8558 #
8559 negate 4294967293 = 3
8560 negate 4294967294 = 2
8561 negate 4294967295 = 1
8562 negate 0 = 0
8563 negate 1 = 4294967295
8564 negate 2 = 4294967294
8565 negate 3 = 4294967293
8566 #
8567 testReal
8568 toRational 4294967293 = 4294967293 % 1
8569 toRational 4294967294 = 4294967294 % 1
8570 toRational 4294967295 = 4294967295 % 1
8571 toRational 0 = 0 % 1
8572 toRational 1 = 1 % 1
8573 toRational 2 = 2 % 1
8574 toRational 3 = 3 % 1
8575 #
8576 testIntegral
8577 4294967293 `divMod`  4294967293 = (1,0)
8578 4294967293 `divMod`  4294967294 = (0,4294967293)
8579 4294967293 `divMod`  4294967295 = (0,4294967293)
8580 4294967293 `divMod`  1 = (4294967293,0)
8581 4294967293 `divMod`  2 = (2147483646,1)
8582 4294967293 `divMod`  3 = (1431655764,1)
8583  
8584 4294967294 `divMod`  4294967293 = (1,1)
8585 4294967294 `divMod`  4294967294 = (1,0)
8586 4294967294 `divMod`  4294967295 = (0,4294967294)
8587 4294967294 `divMod`  1 = (4294967294,0)
8588 4294967294 `divMod`  2 = (2147483647,0)
8589 4294967294 `divMod`  3 = (1431655764,2)
8590  
8591 4294967295 `divMod`  4294967293 = (1,2)
8592 4294967295 `divMod`  4294967294 = (1,1)
8593 4294967295 `divMod`  4294967295 = (1,0)
8594 4294967295 `divMod`  1 = (4294967295,0)
8595 4294967295 `divMod`  2 = (2147483647,1)
8596 4294967295 `divMod`  3 = (1431655765,0)
8597  
8598 0 `divMod`  4294967293 = (0,0)
8599 0 `divMod`  4294967294 = (0,0)
8600 0 `divMod`  4294967295 = (0,0)
8601 0 `divMod`  1 = (0,0)
8602 0 `divMod`  2 = (0,0)
8603 0 `divMod`  3 = (0,0)
8604  
8605 1 `divMod`  4294967293 = (0,1)
8606 1 `divMod`  4294967294 = (0,1)
8607 1 `divMod`  4294967295 = (0,1)
8608 1 `divMod`  1 = (1,0)
8609 1 `divMod`  2 = (0,1)
8610 1 `divMod`  3 = (0,1)
8611  
8612 2 `divMod`  4294967293 = (0,2)
8613 2 `divMod`  4294967294 = (0,2)
8614 2 `divMod`  4294967295 = (0,2)
8615 2 `divMod`  1 = (2,0)
8616 2 `divMod`  2 = (1,0)
8617 2 `divMod`  3 = (0,2)
8618  
8619 3 `divMod`  4294967293 = (0,3)
8620 3 `divMod`  4294967294 = (0,3)
8621 3 `divMod`  4294967295 = (0,3)
8622 3 `divMod`  1 = (3,0)
8623 3 `divMod`  2 = (1,1)
8624 3 `divMod`  3 = (1,0)
8625  
8626 #
8627 4294967293 `div`     4294967293 = 1
8628 4294967293 `div`     4294967294 = 0
8629 4294967293 `div`     4294967295 = 0
8630 4294967293 `div`     1 = 4294967293
8631 4294967293 `div`     2 = 2147483646
8632 4294967293 `div`     3 = 1431655764
8633  
8634 4294967294 `div`     4294967293 = 1
8635 4294967294 `div`     4294967294 = 1
8636 4294967294 `div`     4294967295 = 0
8637 4294967294 `div`     1 = 4294967294
8638 4294967294 `div`     2 = 2147483647
8639 4294967294 `div`     3 = 1431655764
8640  
8641 4294967295 `div`     4294967293 = 1
8642 4294967295 `div`     4294967294 = 1
8643 4294967295 `div`     4294967295 = 1
8644 4294967295 `div`     1 = 4294967295
8645 4294967295 `div`     2 = 2147483647
8646 4294967295 `div`     3 = 1431655765
8647  
8648 0 `div`     4294967293 = 0
8649 0 `div`     4294967294 = 0
8650 0 `div`     4294967295 = 0
8651 0 `div`     1 = 0
8652 0 `div`     2 = 0
8653 0 `div`     3 = 0
8654  
8655 1 `div`     4294967293 = 0
8656 1 `div`     4294967294 = 0
8657 1 `div`     4294967295 = 0
8658 1 `div`     1 = 1
8659 1 `div`     2 = 0
8660 1 `div`     3 = 0
8661  
8662 2 `div`     4294967293 = 0
8663 2 `div`     4294967294 = 0
8664 2 `div`     4294967295 = 0
8665 2 `div`     1 = 2
8666 2 `div`     2 = 1
8667 2 `div`     3 = 0
8668  
8669 3 `div`     4294967293 = 0
8670 3 `div`     4294967294 = 0
8671 3 `div`     4294967295 = 0
8672 3 `div`     1 = 3
8673 3 `div`     2 = 1
8674 3 `div`     3 = 1
8675  
8676 #
8677 4294967293 `mod`     4294967293 = 0
8678 4294967293 `mod`     4294967294 = 4294967293
8679 4294967293 `mod`     4294967295 = 4294967293
8680 4294967293 `mod`     1 = 0
8681 4294967293 `mod`     2 = 1
8682 4294967293 `mod`     3 = 1
8683  
8684 4294967294 `mod`     4294967293 = 1
8685 4294967294 `mod`     4294967294 = 0
8686 4294967294 `mod`     4294967295 = 4294967294
8687 4294967294 `mod`     1 = 0
8688 4294967294 `mod`     2 = 0
8689 4294967294 `mod`     3 = 2
8690  
8691 4294967295 `mod`     4294967293 = 2
8692 4294967295 `mod`     4294967294 = 1
8693 4294967295 `mod`     4294967295 = 0
8694 4294967295 `mod`     1 = 0
8695 4294967295 `mod`     2 = 1
8696 4294967295 `mod`     3 = 0
8697  
8698 0 `mod`     4294967293 = 0
8699 0 `mod`     4294967294 = 0
8700 0 `mod`     4294967295 = 0
8701 0 `mod`     1 = 0
8702 0 `mod`     2 = 0
8703 0 `mod`     3 = 0
8704  
8705 1 `mod`     4294967293 = 1
8706 1 `mod`     4294967294 = 1
8707 1 `mod`     4294967295 = 1
8708 1 `mod`     1 = 0
8709 1 `mod`     2 = 1
8710 1 `mod`     3 = 1
8711  
8712 2 `mod`     4294967293 = 2
8713 2 `mod`     4294967294 = 2
8714 2 `mod`     4294967295 = 2
8715 2 `mod`     1 = 0
8716 2 `mod`     2 = 0
8717 2 `mod`     3 = 2
8718  
8719 3 `mod`     4294967293 = 3
8720 3 `mod`     4294967294 = 3
8721 3 `mod`     4294967295 = 3
8722 3 `mod`     1 = 0
8723 3 `mod`     2 = 1
8724 3 `mod`     3 = 0
8725  
8726 #
8727 4294967293 `quotRem` 4294967293 = (1,0)
8728 4294967293 `quotRem` 4294967294 = (0,4294967293)
8729 4294967293 `quotRem` 4294967295 = (0,4294967293)
8730 4294967293 `quotRem` 1 = (4294967293,0)
8731 4294967293 `quotRem` 2 = (2147483646,1)
8732 4294967293 `quotRem` 3 = (1431655764,1)
8733  
8734 4294967294 `quotRem` 4294967293 = (1,1)
8735 4294967294 `quotRem` 4294967294 = (1,0)
8736 4294967294 `quotRem` 4294967295 = (0,4294967294)
8737 4294967294 `quotRem` 1 = (4294967294,0)
8738 4294967294 `quotRem` 2 = (2147483647,0)
8739 4294967294 `quotRem` 3 = (1431655764,2)
8740  
8741 4294967295 `quotRem` 4294967293 = (1,2)
8742 4294967295 `quotRem` 4294967294 = (1,1)
8743 4294967295 `quotRem` 4294967295 = (1,0)
8744 4294967295 `quotRem` 1 = (4294967295,0)
8745 4294967295 `quotRem` 2 = (2147483647,1)
8746 4294967295 `quotRem` 3 = (1431655765,0)
8747  
8748 0 `quotRem` 4294967293 = (0,0)
8749 0 `quotRem` 4294967294 = (0,0)
8750 0 `quotRem` 4294967295 = (0,0)
8751 0 `quotRem` 1 = (0,0)
8752 0 `quotRem` 2 = (0,0)
8753 0 `quotRem` 3 = (0,0)
8754  
8755 1 `quotRem` 4294967293 = (0,1)
8756 1 `quotRem` 4294967294 = (0,1)
8757 1 `quotRem` 4294967295 = (0,1)
8758 1 `quotRem` 1 = (1,0)
8759 1 `quotRem` 2 = (0,1)
8760 1 `quotRem` 3 = (0,1)
8761  
8762 2 `quotRem` 4294967293 = (0,2)
8763 2 `quotRem` 4294967294 = (0,2)
8764 2 `quotRem` 4294967295 = (0,2)
8765 2 `quotRem` 1 = (2,0)
8766 2 `quotRem` 2 = (1,0)
8767 2 `quotRem` 3 = (0,2)
8768  
8769 3 `quotRem` 4294967293 = (0,3)
8770 3 `quotRem` 4294967294 = (0,3)
8771 3 `quotRem` 4294967295 = (0,3)
8772 3 `quotRem` 1 = (3,0)
8773 3 `quotRem` 2 = (1,1)
8774 3 `quotRem` 3 = (1,0)
8775  
8776 #
8777 4294967293 `quot`    4294967293 = 1
8778 4294967293 `quot`    4294967294 = 0
8779 4294967293 `quot`    4294967295 = 0
8780 4294967293 `quot`    1 = 4294967293
8781 4294967293 `quot`    2 = 2147483646
8782 4294967293 `quot`    3 = 1431655764
8783  
8784 4294967294 `quot`    4294967293 = 1
8785 4294967294 `quot`    4294967294 = 1
8786 4294967294 `quot`    4294967295 = 0
8787 4294967294 `quot`    1 = 4294967294
8788 4294967294 `quot`    2 = 2147483647
8789 4294967294 `quot`    3 = 1431655764
8790  
8791 4294967295 `quot`    4294967293 = 1
8792 4294967295 `quot`    4294967294 = 1
8793 4294967295 `quot`    4294967295 = 1
8794 4294967295 `quot`    1 = 4294967295
8795 4294967295 `quot`    2 = 2147483647
8796 4294967295 `quot`    3 = 1431655765
8797  
8798 0 `quot`    4294967293 = 0
8799 0 `quot`    4294967294 = 0
8800 0 `quot`    4294967295 = 0
8801 0 `quot`    1 = 0
8802 0 `quot`    2 = 0
8803 0 `quot`    3 = 0
8804  
8805 1 `quot`    4294967293 = 0
8806 1 `quot`    4294967294 = 0
8807 1 `quot`    4294967295 = 0
8808 1 `quot`    1 = 1
8809 1 `quot`    2 = 0
8810 1 `quot`    3 = 0
8811  
8812 2 `quot`    4294967293 = 0
8813 2 `quot`    4294967294 = 0
8814 2 `quot`    4294967295 = 0
8815 2 `quot`    1 = 2
8816 2 `quot`    2 = 1
8817 2 `quot`    3 = 0
8818  
8819 3 `quot`    4294967293 = 0
8820 3 `quot`    4294967294 = 0
8821 3 `quot`    4294967295 = 0
8822 3 `quot`    1 = 3
8823 3 `quot`    2 = 1
8824 3 `quot`    3 = 1
8825  
8826 #
8827 4294967293 `rem`     4294967293 = 0
8828 4294967293 `rem`     4294967294 = 4294967293
8829 4294967293 `rem`     4294967295 = 4294967293
8830 4294967293 `rem`     1 = 0
8831 4294967293 `rem`     2 = 1
8832 4294967293 `rem`     3 = 1
8833  
8834 4294967294 `rem`     4294967293 = 1
8835 4294967294 `rem`     4294967294 = 0
8836 4294967294 `rem`     4294967295 = 4294967294
8837 4294967294 `rem`     1 = 0
8838 4294967294 `rem`     2 = 0
8839 4294967294 `rem`     3 = 2
8840  
8841 4294967295 `rem`     4294967293 = 2
8842 4294967295 `rem`     4294967294 = 1
8843 4294967295 `rem`     4294967295 = 0
8844 4294967295 `rem`     1 = 0
8845 4294967295 `rem`     2 = 1
8846 4294967295 `rem`     3 = 0
8847  
8848 0 `rem`     4294967293 = 0
8849 0 `rem`     4294967294 = 0
8850 0 `rem`     4294967295 = 0
8851 0 `rem`     1 = 0
8852 0 `rem`     2 = 0
8853 0 `rem`     3 = 0
8854  
8855 1 `rem`     4294967293 = 1
8856 1 `rem`     4294967294 = 1
8857 1 `rem`     4294967295 = 1
8858 1 `rem`     1 = 0
8859 1 `rem`     2 = 1
8860 1 `rem`     3 = 1
8861  
8862 2 `rem`     4294967293 = 2
8863 2 `rem`     4294967294 = 2
8864 2 `rem`     4294967295 = 2
8865 2 `rem`     1 = 0
8866 2 `rem`     2 = 0
8867 2 `rem`     3 = 2
8868  
8869 3 `rem`     4294967293 = 3
8870 3 `rem`     4294967294 = 3
8871 3 `rem`     4294967295 = 3
8872 3 `rem`     1 = 0
8873 3 `rem`     2 = 1
8874 3 `rem`     3 = 0
8875  
8876 #
8877 testConversions
8878 Integer : [0,0,4294967295]
8879 Int     : [0,0,-1]
8880 Int8    : [0,0,-1]
8881 Int16   : [0,0,-1]
8882 Int32   : [0,0,-1]
8883 Int64   : [0,0,4294967295]
8884 Word8   : [0,0,255]
8885 Word16  : [0,0,65535]
8886 Word32  : [0,0,4294967295]
8887 Word64  : [0,0,4294967295]
8888 testBits
8889 4294967293 .&.   4294967293 = 4294967293
8890 4294967293 .&.   4294967294 = 4294967292
8891 4294967293 .&.   4294967295 = 4294967293
8892 4294967293 .&.   1 = 1
8893 4294967293 .&.   2 = 0
8894 4294967293 .&.   3 = 1
8895  
8896 4294967294 .&.   4294967293 = 4294967292
8897 4294967294 .&.   4294967294 = 4294967294
8898 4294967294 .&.   4294967295 = 4294967294
8899 4294967294 .&.   1 = 0
8900 4294967294 .&.   2 = 2
8901 4294967294 .&.   3 = 2
8902  
8903 4294967295 .&.   4294967293 = 4294967293
8904 4294967295 .&.   4294967294 = 4294967294
8905 4294967295 .&.   4294967295 = 4294967295
8906 4294967295 .&.   1 = 1
8907 4294967295 .&.   2 = 2
8908 4294967295 .&.   3 = 3
8909  
8910 0 .&.   4294967293 = 0
8911 0 .&.   4294967294 = 0
8912 0 .&.   4294967295 = 0
8913 0 .&.   1 = 0
8914 0 .&.   2 = 0
8915 0 .&.   3 = 0
8916  
8917 1 .&.   4294967293 = 1
8918 1 .&.   4294967294 = 0
8919 1 .&.   4294967295 = 1
8920 1 .&.   1 = 1
8921 1 .&.   2 = 0
8922 1 .&.   3 = 1
8923  
8924 2 .&.   4294967293 = 0
8925 2 .&.   4294967294 = 2
8926 2 .&.   4294967295 = 2
8927 2 .&.   1 = 0
8928 2 .&.   2 = 2
8929 2 .&.   3 = 2
8930  
8931 3 .&.   4294967293 = 1
8932 3 .&.   4294967294 = 2
8933 3 .&.   4294967295 = 3
8934 3 .&.   1 = 1
8935 3 .&.   2 = 2
8936 3 .&.   3 = 3
8937  
8938 #
8939 4294967293 .|.   4294967293 = 4294967293
8940 4294967293 .|.   4294967294 = 4294967295
8941 4294967293 .|.   4294967295 = 4294967295
8942 4294967293 .|.   1 = 4294967293
8943 4294967293 .|.   2 = 4294967295
8944 4294967293 .|.   3 = 4294967295
8945  
8946 4294967294 .|.   4294967293 = 4294967295
8947 4294967294 .|.   4294967294 = 4294967294
8948 4294967294 .|.   4294967295 = 4294967295
8949 4294967294 .|.   1 = 4294967295
8950 4294967294 .|.   2 = 4294967294
8951 4294967294 .|.   3 = 4294967295
8952  
8953 4294967295 .|.   4294967293 = 4294967295
8954 4294967295 .|.   4294967294 = 4294967295
8955 4294967295 .|.   4294967295 = 4294967295
8956 4294967295 .|.   1 = 4294967295
8957 4294967295 .|.   2 = 4294967295
8958 4294967295 .|.   3 = 4294967295
8959  
8960 0 .|.   4294967293 = 4294967293
8961 0 .|.   4294967294 = 4294967294
8962 0 .|.   4294967295 = 4294967295
8963 0 .|.   1 = 1
8964 0 .|.   2 = 2
8965 0 .|.   3 = 3
8966  
8967 1 .|.   4294967293 = 4294967293
8968 1 .|.   4294967294 = 4294967295
8969 1 .|.   4294967295 = 4294967295
8970 1 .|.   1 = 1
8971 1 .|.   2 = 3
8972 1 .|.   3 = 3
8973  
8974 2 .|.   4294967293 = 4294967295
8975 2 .|.   4294967294 = 4294967294
8976 2 .|.   4294967295 = 4294967295
8977 2 .|.   1 = 3
8978 2 .|.   2 = 2
8979 2 .|.   3 = 3
8980  
8981 3 .|.   4294967293 = 4294967295
8982 3 .|.   4294967294 = 4294967295
8983 3 .|.   4294967295 = 4294967295
8984 3 .|.   1 = 3
8985 3 .|.   2 = 3
8986 3 .|.   3 = 3
8987  
8988 #
8989 4294967293 `xor` 4294967293 = 0
8990 4294967293 `xor` 4294967294 = 3
8991 4294967293 `xor` 4294967295 = 2
8992 4294967293 `xor` 1 = 4294967292
8993 4294967293 `xor` 2 = 4294967295
8994 4294967293 `xor` 3 = 4294967294
8995  
8996 4294967294 `xor` 4294967293 = 3
8997 4294967294 `xor` 4294967294 = 0
8998 4294967294 `xor` 4294967295 = 1
8999 4294967294 `xor` 1 = 4294967295
9000 4294967294 `xor` 2 = 4294967292
9001 4294967294 `xor` 3 = 4294967293
9002  
9003 4294967295 `xor` 4294967293 = 2
9004 4294967295 `xor` 4294967294 = 1
9005 4294967295 `xor` 4294967295 = 0
9006 4294967295 `xor` 1 = 4294967294
9007 4294967295 `xor` 2 = 4294967293
9008 4294967295 `xor` 3 = 4294967292
9009  
9010 0 `xor` 4294967293 = 4294967293
9011 0 `xor` 4294967294 = 4294967294
9012 0 `xor` 4294967295 = 4294967295
9013 0 `xor` 1 = 1
9014 0 `xor` 2 = 2
9015 0 `xor` 3 = 3
9016  
9017 1 `xor` 4294967293 = 4294967292
9018 1 `xor` 4294967294 = 4294967295
9019 1 `xor` 4294967295 = 4294967294
9020 1 `xor` 1 = 0
9021 1 `xor` 2 = 3
9022 1 `xor` 3 = 2
9023  
9024 2 `xor` 4294967293 = 4294967295
9025 2 `xor` 4294967294 = 4294967292
9026 2 `xor` 4294967295 = 4294967293
9027 2 `xor` 1 = 3
9028 2 `xor` 2 = 0
9029 2 `xor` 3 = 1
9030  
9031 3 `xor` 4294967293 = 4294967294
9032 3 `xor` 4294967294 = 4294967293
9033 3 `xor` 4294967295 = 4294967292
9034 3 `xor` 1 = 2
9035 3 `xor` 2 = 1
9036 3 `xor` 3 = 0
9037  
9038 #
9039 complement 4294967293 = 2
9040 complement 4294967294 = 1
9041 complement 4294967295 = 0
9042 complement 0 = 4294967295
9043 complement 1 = 4294967294
9044 complement 2 = 4294967293
9045 complement 3 = 4294967292
9046 #
9047 4294967293 `shiftL` 0 = 4294967293
9048 4294967293 `shiftL` 1 = 4294967290
9049 4294967293 `shiftL` 2 = 4294967284
9050 4294967293 `shiftL` 3 = 4294967272
9051 4294967293 `shiftL` 32 = 0
9052  
9053 4294967294 `shiftL` 0 = 4294967294
9054 4294967294 `shiftL` 1 = 4294967292
9055 4294967294 `shiftL` 2 = 4294967288
9056 4294967294 `shiftL` 3 = 4294967280
9057 4294967294 `shiftL` 32 = 0
9058  
9059 4294967295 `shiftL` 0 = 4294967295
9060 4294967295 `shiftL` 1 = 4294967294
9061 4294967295 `shiftL` 2 = 4294967292
9062 4294967295 `shiftL` 3 = 4294967288
9063 4294967295 `shiftL` 32 = 0
9064  
9065 0 `shiftL` 0 = 0
9066 0 `shiftL` 1 = 0
9067 0 `shiftL` 2 = 0
9068 0 `shiftL` 3 = 0
9069 0 `shiftL` 32 = 0
9070  
9071 1 `shiftL` 0 = 1
9072 1 `shiftL` 1 = 2
9073 1 `shiftL` 2 = 4
9074 1 `shiftL` 3 = 8
9075 1 `shiftL` 32 = 0
9076  
9077 2 `shiftL` 0 = 2
9078 2 `shiftL` 1 = 4
9079 2 `shiftL` 2 = 8
9080 2 `shiftL` 3 = 16
9081 2 `shiftL` 32 = 0
9082  
9083 3 `shiftL` 0 = 3
9084 3 `shiftL` 1 = 6
9085 3 `shiftL` 2 = 12
9086 3 `shiftL` 3 = 24
9087 3 `shiftL` 32 = 0
9088  
9089 #
9090 4294967293 `shiftR` 0 = 4294967293
9091 4294967293 `shiftR` 1 = 2147483646
9092 4294967293 `shiftR` 2 = 1073741823
9093 4294967293 `shiftR` 3 = 536870911
9094 4294967293 `shiftR` 32 = 0
9095  
9096 4294967294 `shiftR` 0 = 4294967294
9097 4294967294 `shiftR` 1 = 2147483647
9098 4294967294 `shiftR` 2 = 1073741823
9099 4294967294 `shiftR` 3 = 536870911
9100 4294967294 `shiftR` 32 = 0
9101  
9102 4294967295 `shiftR` 0 = 4294967295
9103 4294967295 `shiftR` 1 = 2147483647
9104 4294967295 `shiftR` 2 = 1073741823
9105 4294967295 `shiftR` 3 = 536870911
9106 4294967295 `shiftR` 32 = 0
9107  
9108 0 `shiftR` 0 = 0
9109 0 `shiftR` 1 = 0
9110 0 `shiftR` 2 = 0
9111 0 `shiftR` 3 = 0
9112 0 `shiftR` 32 = 0
9113  
9114 1 `shiftR` 0 = 1
9115 1 `shiftR` 1 = 0
9116 1 `shiftR` 2 = 0
9117 1 `shiftR` 3 = 0
9118 1 `shiftR` 32 = 0
9119  
9120 2 `shiftR` 0 = 2
9121 2 `shiftR` 1 = 1
9122 2 `shiftR` 2 = 0
9123 2 `shiftR` 3 = 0
9124 2 `shiftR` 32 = 0
9125  
9126 3 `shiftR` 0 = 3
9127 3 `shiftR` 1 = 1
9128 3 `shiftR` 2 = 0
9129 3 `shiftR` 3 = 0
9130 3 `shiftR` 32 = 0
9131  
9132 #
9133 4294967293 `rotate` -3 = 3221225471
9134 4294967293 `rotate` -2 = 2147483647
9135 4294967293 `rotate` -1 = 4294967294
9136 4294967293 `rotate` 0 = 4294967293
9137 4294967293 `rotate` 1 = 4294967291
9138 4294967293 `rotate` 2 = 4294967287
9139 4294967293 `rotate` 3 = 4294967279
9140  
9141 4294967294 `rotate` -3 = 3758096383
9142 4294967294 `rotate` -2 = 3221225471
9143 4294967294 `rotate` -1 = 2147483647
9144 4294967294 `rotate` 0 = 4294967294
9145 4294967294 `rotate` 1 = 4294967293
9146 4294967294 `rotate` 2 = 4294967291
9147 4294967294 `rotate` 3 = 4294967287
9148  
9149 4294967295 `rotate` -3 = 4294967295
9150 4294967295 `rotate` -2 = 4294967295
9151 4294967295 `rotate` -1 = 4294967295
9152 4294967295 `rotate` 0 = 4294967295
9153 4294967295 `rotate` 1 = 4294967295
9154 4294967295 `rotate` 2 = 4294967295
9155 4294967295 `rotate` 3 = 4294967295
9156  
9157 0 `rotate` -3 = 0
9158 0 `rotate` -2 = 0
9159 0 `rotate` -1 = 0
9160 0 `rotate` 0 = 0
9161 0 `rotate` 1 = 0
9162 0 `rotate` 2 = 0
9163 0 `rotate` 3 = 0
9164  
9165 1 `rotate` -3 = 536870912
9166 1 `rotate` -2 = 1073741824
9167 1 `rotate` -1 = 2147483648
9168 1 `rotate` 0 = 1
9169 1 `rotate` 1 = 2
9170 1 `rotate` 2 = 4
9171 1 `rotate` 3 = 8
9172  
9173 2 `rotate` -3 = 1073741824
9174 2 `rotate` -2 = 2147483648
9175 2 `rotate` -1 = 1
9176 2 `rotate` 0 = 2
9177 2 `rotate` 1 = 4
9178 2 `rotate` 2 = 8
9179 2 `rotate` 3 = 16
9180  
9181 3 `rotate` -3 = 1610612736
9182 3 `rotate` -2 = 3221225472
9183 3 `rotate` -1 = 2147483649
9184 3 `rotate` 0 = 3
9185 3 `rotate` 1 = 6
9186 3 `rotate` 2 = 12
9187 3 `rotate` 3 = 24
9188  
9189 #
9190 bit 0 = 1
9191 bit 1 = 2
9192 bit 2 = 4
9193 bit 3 = 8
9194 #
9195 4294967293 `setBit` 0 = 4294967293
9196 4294967293 `setBit` 1 = 4294967295
9197 4294967293 `setBit` 2 = 4294967293
9198 4294967293 `setBit` 3 = 4294967293
9199 4294967293 `setBit` 32 = 4294967293
9200  
9201 4294967294 `setBit` 0 = 4294967295
9202 4294967294 `setBit` 1 = 4294967294
9203 4294967294 `setBit` 2 = 4294967294
9204 4294967294 `setBit` 3 = 4294967294
9205 4294967294 `setBit` 32 = 4294967294
9206  
9207 4294967295 `setBit` 0 = 4294967295
9208 4294967295 `setBit` 1 = 4294967295
9209 4294967295 `setBit` 2 = 4294967295
9210 4294967295 `setBit` 3 = 4294967295
9211 4294967295 `setBit` 32 = 4294967295
9212  
9213 0 `setBit` 0 = 1
9214 0 `setBit` 1 = 2
9215 0 `setBit` 2 = 4
9216 0 `setBit` 3 = 8
9217 0 `setBit` 32 = 0
9218  
9219 1 `setBit` 0 = 1
9220 1 `setBit` 1 = 3
9221 1 `setBit` 2 = 5
9222 1 `setBit` 3 = 9
9223 1 `setBit` 32 = 1
9224  
9225 2 `setBit` 0 = 3
9226 2 `setBit` 1 = 2
9227 2 `setBit` 2 = 6
9228 2 `setBit` 3 = 10
9229 2 `setBit` 32 = 2
9230  
9231 3 `setBit` 0 = 3
9232 3 `setBit` 1 = 3
9233 3 `setBit` 2 = 7
9234 3 `setBit` 3 = 11
9235 3 `setBit` 32 = 3
9236  
9237 #
9238 4294967293 `clearBit` 0 = 4294967292
9239 4294967293 `clearBit` 1 = 4294967293
9240 4294967293 `clearBit` 2 = 4294967289
9241 4294967293 `clearBit` 3 = 4294967285
9242 4294967293 `clearBit` 32 = 4294967293
9243  
9244 4294967294 `clearBit` 0 = 4294967294
9245 4294967294 `clearBit` 1 = 4294967292
9246 4294967294 `clearBit` 2 = 4294967290
9247 4294967294 `clearBit` 3 = 4294967286
9248 4294967294 `clearBit` 32 = 4294967294
9249  
9250 4294967295 `clearBit` 0 = 4294967294
9251 4294967295 `clearBit` 1 = 4294967293
9252 4294967295 `clearBit` 2 = 4294967291
9253 4294967295 `clearBit` 3 = 4294967287
9254 4294967295 `clearBit` 32 = 4294967295
9255  
9256 0 `clearBit` 0 = 0
9257 0 `clearBit` 1 = 0
9258 0 `clearBit` 2 = 0
9259 0 `clearBit` 3 = 0
9260 0 `clearBit` 32 = 0
9261  
9262 1 `clearBit` 0 = 0
9263 1 `clearBit` 1 = 1
9264 1 `clearBit` 2 = 1
9265 1 `clearBit` 3 = 1
9266 1 `clearBit` 32 = 1
9267  
9268 2 `clearBit` 0 = 2
9269 2 `clearBit` 1 = 0
9270 2 `clearBit` 2 = 2
9271 2 `clearBit` 3 = 2
9272 2 `clearBit` 32 = 2
9273  
9274 3 `clearBit` 0 = 2
9275 3 `clearBit` 1 = 1
9276 3 `clearBit` 2 = 3
9277 3 `clearBit` 3 = 3
9278 3 `clearBit` 32 = 3
9279  
9280 #
9281 4294967293 `complementBit` 0 = 4294967292
9282 4294967293 `complementBit` 1 = 4294967295
9283 4294967293 `complementBit` 2 = 4294967289
9284 4294967293 `complementBit` 3 = 4294967285
9285 4294967293 `complementBit` 32 = 4294967293
9286  
9287 4294967294 `complementBit` 0 = 4294967295
9288 4294967294 `complementBit` 1 = 4294967292
9289 4294967294 `complementBit` 2 = 4294967290
9290 4294967294 `complementBit` 3 = 4294967286
9291 4294967294 `complementBit` 32 = 4294967294
9292  
9293 4294967295 `complementBit` 0 = 4294967294
9294 4294967295 `complementBit` 1 = 4294967293
9295 4294967295 `complementBit` 2 = 4294967291
9296 4294967295 `complementBit` 3 = 4294967287
9297 4294967295 `complementBit` 32 = 4294967295
9298  
9299 0 `complementBit` 0 = 1
9300 0 `complementBit` 1 = 2
9301 0 `complementBit` 2 = 4
9302 0 `complementBit` 3 = 8
9303 0 `complementBit` 32 = 0
9304  
9305 1 `complementBit` 0 = 0
9306 1 `complementBit` 1 = 3
9307 1 `complementBit` 2 = 5
9308 1 `complementBit` 3 = 9
9309 1 `complementBit` 32 = 1
9310  
9311 2 `complementBit` 0 = 3
9312 2 `complementBit` 1 = 0
9313 2 `complementBit` 2 = 6
9314 2 `complementBit` 3 = 10
9315 2 `complementBit` 32 = 2
9316  
9317 3 `complementBit` 0 = 2
9318 3 `complementBit` 1 = 1
9319 3 `complementBit` 2 = 7
9320 3 `complementBit` 3 = 11
9321 3 `complementBit` 32 = 3
9322  
9323 #
9324 4294967293 `testBit` 0 = True
9325 4294967293 `testBit` 1 = False
9326 4294967293 `testBit` 2 = True
9327 4294967293 `testBit` 3 = True
9328 4294967293 `testBit` 32 = False
9329  
9330 4294967294 `testBit` 0 = False
9331 4294967294 `testBit` 1 = True
9332 4294967294 `testBit` 2 = True
9333 4294967294 `testBit` 3 = True
9334 4294967294 `testBit` 32 = False
9335  
9336 4294967295 `testBit` 0 = True
9337 4294967295 `testBit` 1 = True
9338 4294967295 `testBit` 2 = True
9339 4294967295 `testBit` 3 = True
9340 4294967295 `testBit` 32 = False
9341  
9342 0 `testBit` 0 = False
9343 0 `testBit` 1 = False
9344 0 `testBit` 2 = False
9345 0 `testBit` 3 = False
9346 0 `testBit` 32 = False
9347  
9348 1 `testBit` 0 = True
9349 1 `testBit` 1 = False
9350 1 `testBit` 2 = False
9351 1 `testBit` 3 = False
9352 1 `testBit` 32 = False
9353  
9354 2 `testBit` 0 = False
9355 2 `testBit` 1 = True
9356 2 `testBit` 2 = False
9357 2 `testBit` 3 = False
9358 2 `testBit` 32 = False
9359  
9360 3 `testBit` 0 = True
9361 3 `testBit` 1 = True
9362 3 `testBit` 2 = False
9363 3 `testBit` 3 = False
9364 3 `testBit` 32 = False
9365  
9366 #
9367 bitSize 4294967293 = 32
9368 bitSize 4294967294 = 32
9369 bitSize 4294967295 = 32
9370 bitSize 0 = 32
9371 bitSize 1 = 32
9372 bitSize 2 = 32
9373 bitSize 3 = 32
9374 #
9375 isSigned 4294967293 = False
9376 isSigned 4294967294 = False
9377 isSigned 4294967295 = False
9378 isSigned 0 = False
9379 isSigned 1 = False
9380 isSigned 2 = False
9381 isSigned 3 = False
9382 #
9383 --------------------------------
9384 --Testing Integer
9385   putStrLn $ 
9386 testEnum
9387 [0,1,2,3,4,5,6,7,8,9]
9388 [0,2,4,6,8,10,12,14,16,18]
9389 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
9390 [0,2,4,6,8,10,12,14,16,18,20]
9391 testReadShow
9392 [-3,-2,-1,0,1,2,3]
9393 [-3,-2,-1,0,1,2,3]
9394 testEq
9395 -3 == -3 = True
9396 -3 == -2 = False
9397 -3 == -1 = False
9398 -3 == 0 = False
9399 -3 == 1 = False
9400 -3 == 2 = False
9401 -3 == 3 = False
9402  
9403 -2 == -3 = False
9404 -2 == -2 = True
9405 -2 == -1 = False
9406 -2 == 0 = False
9407 -2 == 1 = False
9408 -2 == 2 = False
9409 -2 == 3 = False
9410  
9411 -1 == -3 = False
9412 -1 == -2 = False
9413 -1 == -1 = True
9414 -1 == 0 = False
9415 -1 == 1 = False
9416 -1 == 2 = False
9417 -1 == 3 = False
9418  
9419 0 == -3 = False
9420 0 == -2 = False
9421 0 == -1 = False
9422 0 == 0 = True
9423 0 == 1 = False
9424 0 == 2 = False
9425 0 == 3 = False
9426  
9427 1 == -3 = False
9428 1 == -2 = False
9429 1 == -1 = False
9430 1 == 0 = False
9431 1 == 1 = True
9432 1 == 2 = False
9433 1 == 3 = False
9434  
9435 2 == -3 = False
9436 2 == -2 = False
9437 2 == -1 = False
9438 2 == 0 = False
9439 2 == 1 = False
9440 2 == 2 = True
9441 2 == 3 = False
9442  
9443 3 == -3 = False
9444 3 == -2 = False
9445 3 == -1 = False
9446 3 == 0 = False
9447 3 == 1 = False
9448 3 == 2 = False
9449 3 == 3 = True
9450  
9451 #
9452 -3 /= -3 = False
9453 -3 /= -2 = True
9454 -3 /= -1 = True
9455 -3 /= 0 = True
9456 -3 /= 1 = True
9457 -3 /= 2 = True
9458 -3 /= 3 = True
9459  
9460 -2 /= -3 = True
9461 -2 /= -2 = False
9462 -2 /= -1 = True
9463 -2 /= 0 = True
9464 -2 /= 1 = True
9465 -2 /= 2 = True
9466 -2 /= 3 = True
9467  
9468 -1 /= -3 = True
9469 -1 /= -2 = True
9470 -1 /= -1 = False
9471 -1 /= 0 = True
9472 -1 /= 1 = True
9473 -1 /= 2 = True
9474 -1 /= 3 = True
9475  
9476 0 /= -3 = True
9477 0 /= -2 = True
9478 0 /= -1 = True
9479 0 /= 0 = False
9480 0 /= 1 = True
9481 0 /= 2 = True
9482 0 /= 3 = True
9483  
9484 1 /= -3 = True
9485 1 /= -2 = True
9486 1 /= -1 = True
9487 1 /= 0 = True
9488 1 /= 1 = False
9489 1 /= 2 = True
9490 1 /= 3 = True
9491  
9492 2 /= -3 = True
9493 2 /= -2 = True
9494 2 /= -1 = True
9495 2 /= 0 = True
9496 2 /= 1 = True
9497 2 /= 2 = False
9498 2 /= 3 = True
9499  
9500 3 /= -3 = True
9501 3 /= -2 = True
9502 3 /= -1 = True
9503 3 /= 0 = True
9504 3 /= 1 = True
9505 3 /= 2 = True
9506 3 /= 3 = False
9507  
9508 #
9509 testOrd
9510 -3 <= -3 = True
9511 -3 <= -2 = True
9512 -3 <= -1 = True
9513 -3 <= 0 = True
9514 -3 <= 1 = True
9515 -3 <= 2 = True
9516 -3 <= 3 = True
9517  
9518 -2 <= -3 = False
9519 -2 <= -2 = True
9520 -2 <= -1 = True
9521 -2 <= 0 = True
9522 -2 <= 1 = True
9523 -2 <= 2 = True
9524 -2 <= 3 = True
9525  
9526 -1 <= -3 = False
9527 -1 <= -2 = False
9528 -1 <= -1 = True
9529 -1 <= 0 = True
9530 -1 <= 1 = True
9531 -1 <= 2 = True
9532 -1 <= 3 = True
9533  
9534 0 <= -3 = False
9535 0 <= -2 = False
9536 0 <= -1 = False
9537 0 <= 0 = True
9538 0 <= 1 = True
9539 0 <= 2 = True
9540 0 <= 3 = True
9541  
9542 1 <= -3 = False
9543 1 <= -2 = False
9544 1 <= -1 = False
9545 1 <= 0 = False
9546 1 <= 1 = True
9547 1 <= 2 = True
9548 1 <= 3 = True
9549  
9550 2 <= -3 = False
9551 2 <= -2 = False
9552 2 <= -1 = False
9553 2 <= 0 = False
9554 2 <= 1 = False
9555 2 <= 2 = True
9556 2 <= 3 = True
9557  
9558 3 <= -3 = False
9559 3 <= -2 = False
9560 3 <= -1 = False
9561 3 <= 0 = False
9562 3 <= 1 = False
9563 3 <= 2 = False
9564 3 <= 3 = True
9565  
9566 #
9567 -3 <  -3 = False
9568 -3 <  -2 = True
9569 -3 <  -1 = True
9570 -3 <  0 = True
9571 -3 <  1 = True
9572 -3 <  2 = True
9573 -3 <  3 = True
9574  
9575 -2 <  -3 = False
9576 -2 <  -2 = False
9577 -2 <  -1 = True
9578 -2 <  0 = True
9579 -2 <  1 = True
9580 -2 <  2 = True
9581 -2 <  3 = True
9582  
9583 -1 <  -3 = False
9584 -1 <  -2 = False
9585 -1 <  -1 = False
9586 -1 <  0 = True
9587 -1 <  1 = True
9588 -1 <  2 = True
9589 -1 <  3 = True
9590  
9591 0 <  -3 = False
9592 0 <  -2 = False
9593 0 <  -1 = False
9594 0 <  0 = False
9595 0 <  1 = True
9596 0 <  2 = True
9597 0 <  3 = True
9598  
9599 1 <  -3 = False
9600 1 <  -2 = False
9601 1 <  -1 = False
9602 1 <  0 = False
9603 1 <  1 = False
9604 1 <  2 = True
9605 1 <  3 = True
9606  
9607 2 <  -3 = False
9608 2 <  -2 = False
9609 2 <  -1 = False
9610 2 <  0 = False
9611 2 <  1 = False
9612 2 <  2 = False
9613 2 <  3 = True
9614  
9615 3 <  -3 = False
9616 3 <  -2 = False
9617 3 <  -1 = False
9618 3 <  0 = False
9619 3 <  1 = False
9620 3 <  2 = False
9621 3 <  3 = False
9622  
9623 #
9624 -3 >  -3 = False
9625 -3 >  -2 = False
9626 -3 >  -1 = False
9627 -3 >  0 = False
9628 -3 >  1 = False
9629 -3 >  2 = False
9630 -3 >  3 = False
9631  
9632 -2 >  -3 = True
9633 -2 >  -2 = False
9634 -2 >  -1 = False
9635 -2 >  0 = False
9636 -2 >  1 = False
9637 -2 >  2 = False
9638 -2 >  3 = False
9639  
9640 -1 >  -3 = True
9641 -1 >  -2 = True
9642 -1 >  -1 = False
9643 -1 >  0 = False
9644 -1 >  1 = False
9645 -1 >  2 = False
9646 -1 >  3 = False
9647  
9648 0 >  -3 = True
9649 0 >  -2 = True
9650 0 >  -1 = True
9651 0 >  0 = False
9652 0 >  1 = False
9653 0 >  2 = False
9654 0 >  3 = False
9655  
9656 1 >  -3 = True
9657 1 >  -2 = True
9658 1 >  -1 = True
9659 1 >  0 = True
9660 1 >  1 = False
9661 1 >  2 = False
9662 1 >  3 = False
9663  
9664 2 >  -3 = True
9665 2 >  -2 = True
9666 2 >  -1 = True
9667 2 >  0 = True
9668 2 >  1 = True
9669 2 >  2 = False
9670 2 >  3 = False
9671  
9672 3 >  -3 = True
9673 3 >  -2 = True
9674 3 >  -1 = True
9675 3 >  0 = True
9676 3 >  1 = True
9677 3 >  2 = True
9678 3 >  3 = False
9679  
9680 #
9681 -3 >= -3 = True
9682 -3 >= -2 = False
9683 -3 >= -1 = False
9684 -3 >= 0 = False
9685 -3 >= 1 = False
9686 -3 >= 2 = False
9687 -3 >= 3 = False
9688  
9689 -2 >= -3 = True
9690 -2 >= -2 = True
9691 -2 >= -1 = False
9692 -2 >= 0 = False
9693 -2 >= 1 = False
9694 -2 >= 2 = False
9695 -2 >= 3 = False
9696  
9697 -1 >= -3 = True
9698 -1 >= -2 = True
9699 -1 >= -1 = True
9700 -1 >= 0 = False
9701 -1 >= 1 = False
9702 -1 >= 2 = False
9703 -1 >= 3 = False
9704  
9705 0 >= -3 = True
9706 0 >= -2 = True
9707 0 >= -1 = True
9708 0 >= 0 = True
9709 0 >= 1 = False
9710 0 >= 2 = False
9711 0 >= 3 = False
9712  
9713 1 >= -3 = True
9714 1 >= -2 = True
9715 1 >= -1 = True
9716 1 >= 0 = True
9717 1 >= 1 = True
9718 1 >= 2 = False
9719 1 >= 3 = False
9720  
9721 2 >= -3 = True
9722 2 >= -2 = True
9723 2 >= -1 = True
9724 2 >= 0 = True
9725 2 >= 1 = True
9726 2 >= 2 = True
9727 2 >= 3 = False
9728  
9729 3 >= -3 = True
9730 3 >= -2 = True
9731 3 >= -1 = True
9732 3 >= 0 = True
9733 3 >= 1 = True
9734 3 >= 2 = True
9735 3 >= 3 = True
9736  
9737 #
9738 -3 `compare` -3 = EQ
9739 -3 `compare` -2 = LT
9740 -3 `compare` -1 = LT
9741 -3 `compare` 0 = LT
9742 -3 `compare` 1 = LT
9743 -3 `compare` 2 = LT
9744 -3 `compare` 3 = LT
9745  
9746 -2 `compare` -3 = GT
9747 -2 `compare` -2 = EQ
9748 -2 `compare` -1 = LT
9749 -2 `compare` 0 = LT
9750 -2 `compare` 1 = LT
9751 -2 `compare` 2 = LT
9752 -2 `compare` 3 = LT
9753  
9754 -1 `compare` -3 = GT
9755 -1 `compare` -2 = GT
9756 -1 `compare` -1 = EQ
9757 -1 `compare` 0 = LT
9758 -1 `compare` 1 = LT
9759 -1 `compare` 2 = LT
9760 -1 `compare` 3 = LT
9761  
9762 0 `compare` -3 = GT
9763 0 `compare` -2 = GT
9764 0 `compare` -1 = GT
9765 0 `compare` 0 = EQ
9766 0 `compare` 1 = LT
9767 0 `compare` 2 = LT
9768 0 `compare` 3 = LT
9769  
9770 1 `compare` -3 = GT
9771 1 `compare` -2 = GT
9772 1 `compare` -1 = GT
9773 1 `compare` 0 = GT
9774 1 `compare` 1 = EQ
9775 1 `compare` 2 = LT
9776 1 `compare` 3 = LT
9777  
9778 2 `compare` -3 = GT
9779 2 `compare` -2 = GT
9780 2 `compare` -1 = GT
9781 2 `compare` 0 = GT
9782 2 `compare` 1 = GT
9783 2 `compare` 2 = EQ
9784 2 `compare` 3 = LT
9785  
9786 3 `compare` -3 = GT
9787 3 `compare` -2 = GT
9788 3 `compare` -1 = GT
9789 3 `compare` 0 = GT
9790 3 `compare` 1 = GT
9791 3 `compare` 2 = GT
9792 3 `compare` 3 = EQ
9793  
9794 #
9795 testNum
9796 -3 + -3 = -6
9797 -3 + -2 = -5
9798 -3 + -1 = -4
9799 -3 + 0 = -3
9800 -3 + 1 = -2
9801 -3 + 2 = -1
9802 -3 + 3 = 0
9803  
9804 -2 + -3 = -5
9805 -2 + -2 = -4
9806 -2 + -1 = -3
9807 -2 + 0 = -2
9808 -2 + 1 = -1
9809 -2 + 2 = 0
9810 -2 + 3 = 1
9811  
9812 -1 + -3 = -4
9813 -1 + -2 = -3
9814 -1 + -1 = -2
9815 -1 + 0 = -1
9816 -1 + 1 = 0
9817 -1 + 2 = 1
9818 -1 + 3 = 2
9819  
9820 0 + -3 = -3
9821 0 + -2 = -2
9822 0 + -1 = -1
9823 0 + 0 = 0
9824 0 + 1 = 1
9825 0 + 2 = 2
9826 0 + 3 = 3
9827  
9828 1 + -3 = -2
9829 1 + -2 = -1
9830 1 + -1 = 0
9831 1 + 0 = 1
9832 1 + 1 = 2
9833 1 + 2 = 3
9834 1 + 3 = 4
9835  
9836 2 + -3 = -1
9837 2 + -2 = 0
9838 2 + -1 = 1
9839 2 + 0 = 2
9840 2 + 1 = 3
9841 2 + 2 = 4
9842 2 + 3 = 5
9843  
9844 3 + -3 = 0
9845 3 + -2 = 1
9846 3 + -1 = 2
9847 3 + 0 = 3
9848 3 + 1 = 4
9849 3 + 2 = 5
9850 3 + 3 = 6
9851  
9852 #
9853 -3 - -3 = 0
9854 -3 - -2 = -1
9855 -3 - -1 = -2
9856 -3 - 0 = -3
9857 -3 - 1 = -4
9858 -3 - 2 = -5
9859 -3 - 3 = -6
9860  
9861 -2 - -3 = 1
9862 -2 - -2 = 0
9863 -2 - -1 = -1
9864 -2 - 0 = -2
9865 -2 - 1 = -3
9866 -2 - 2 = -4
9867 -2 - 3 = -5
9868  
9869 -1 - -3 = 2
9870 -1 - -2 = 1
9871 -1 - -1 = 0
9872 -1 - 0 = -1
9873 -1 - 1 = -2
9874 -1 - 2 = -3
9875 -1 - 3 = -4
9876  
9877 0 - -3 = 3
9878 0 - -2 = 2
9879 0 - -1 = 1
9880 0 - 0 = 0
9881 0 - 1 = -1
9882 0 - 2 = -2
9883 0 - 3 = -3
9884  
9885 1 - -3 = 4
9886 1 - -2 = 3
9887 1 - -1 = 2
9888 1 - 0 = 1
9889 1 - 1 = 0
9890 1 - 2 = -1
9891 1 - 3 = -2
9892  
9893 2 - -3 = 5
9894 2 - -2 = 4
9895 2 - -1 = 3
9896 2 - 0 = 2
9897 2 - 1 = 1
9898 2 - 2 = 0
9899 2 - 3 = -1
9900  
9901 3 - -3 = 6
9902 3 - -2 = 5
9903 3 - -1 = 4
9904 3 - 0 = 3
9905 3 - 1 = 2
9906 3 - 2 = 1
9907 3 - 3 = 0
9908  
9909 #
9910 -3 * -3 = 9
9911 -3 * -2 = 6
9912 -3 * -1 = 3
9913 -3 * 0 = 0
9914 -3 * 1 = -3
9915 -3 * 2 = -6
9916 -3 * 3 = -9
9917  
9918 -2 * -3 = 6
9919 -2 * -2 = 4
9920 -2 * -1 = 2
9921 -2 * 0 = 0
9922 -2 * 1 = -2
9923 -2 * 2 = -4
9924 -2 * 3 = -6
9925  
9926 -1 * -3 = 3
9927 -1 * -2 = 2
9928 -1 * -1 = 1
9929 -1 * 0 = 0
9930 -1 * 1 = -1
9931 -1 * 2 = -2
9932 -1 * 3 = -3
9933  
9934 0 * -3 = 0
9935 0 * -2 = 0
9936 0 * -1 = 0
9937 0 * 0 = 0
9938 0 * 1 = 0
9939 0 * 2 = 0
9940 0 * 3 = 0
9941  
9942 1 * -3 = -3
9943 1 * -2 = -2
9944 1 * -1 = -1
9945 1 * 0 = 0
9946 1 * 1 = 1
9947 1 * 2 = 2
9948 1 * 3 = 3
9949  
9950 2 * -3 = -6
9951 2 * -2 = -4
9952 2 * -1 = -2
9953 2 * 0 = 0
9954 2 * 1 = 2
9955 2 * 2 = 4
9956 2 * 3 = 6
9957  
9958 3 * -3 = -9
9959 3 * -2 = -6
9960 3 * -1 = -3
9961 3 * 0 = 0
9962 3 * 1 = 3
9963 3 * 2 = 6
9964 3 * 3 = 9
9965  
9966 #
9967 negate -3 = 3
9968 negate -2 = 2
9969 negate -1 = 1
9970 negate 0 = 0
9971 negate 1 = -1
9972 negate 2 = -2
9973 negate 3 = -3
9974 #
9975 testReal
9976 toRational -3 = -3 % 1
9977 toRational -2 = -2 % 1
9978 toRational -1 = -1 % 1
9979 toRational 0 = 0 % 1
9980 toRational 1 = 1 % 1
9981 toRational 2 = 2 % 1
9982 toRational 3 = 3 % 1
9983 #
9984 testIntegral
9985 -3 `divMod`  -3 = (1,0)
9986 -3 `divMod`  -2 = (1,-1)
9987 -3 `divMod`  -1 = (3,0)
9988 -3 `divMod`  1 = (-3,0)
9989 -3 `divMod`  2 = (-2,1)
9990 -3 `divMod`  3 = (-1,0)
9991  
9992 -2 `divMod`  -3 = (0,-2)
9993 -2 `divMod`  -2 = (1,0)
9994 -2 `divMod`  -1 = (2,0)
9995 -2 `divMod`  1 = (-2,0)
9996 -2 `divMod`  2 = (-1,0)
9997 -2 `divMod`  3 = (-1,1)
9998  
9999 -1 `divMod`  -3 = (0,-1)
10000 -1 `divMod`  -2 = (0,-1)
10001 -1 `divMod`  -1 = (1,0)
10002 -1 `divMod`  1 = (-1,0)
10003 -1 `divMod`  2 = (-1,1)
10004 -1 `divMod`  3 = (-1,2)
10005  
10006 0 `divMod`  -3 = (0,0)
10007 0 `divMod`  -2 = (0,0)
10008 0 `divMod`  -1 = (0,0)
10009 0 `divMod`  1 = (0,0)
10010 0 `divMod`  2 = (0,0)
10011 0 `divMod`  3 = (0,0)
10012  
10013 1 `divMod`  -3 = (-1,-2)
10014 1 `divMod`  -2 = (-1,-1)
10015 1 `divMod`  -1 = (-1,0)
10016 1 `divMod`  1 = (1,0)
10017 1 `divMod`  2 = (0,1)
10018 1 `divMod`  3 = (0,1)
10019  
10020 2 `divMod`  -3 = (-1,-1)
10021 2 `divMod`  -2 = (-1,0)
10022 2 `divMod`  -1 = (-2,0)
10023 2 `divMod`  1 = (2,0)
10024 2 `divMod`  2 = (1,0)
10025 2 `divMod`  3 = (0,2)
10026  
10027 3 `divMod`  -3 = (-1,0)
10028 3 `divMod`  -2 = (-2,-1)
10029 3 `divMod`  -1 = (-3,0)
10030 3 `divMod`  1 = (3,0)
10031 3 `divMod`  2 = (1,1)
10032 3 `divMod`  3 = (1,0)
10033  
10034 #
10035 -3 `div`     -3 = 1
10036 -3 `div`     -2 = 1
10037 -3 `div`     -1 = 3
10038 -3 `div`     1 = -3
10039 -3 `div`     2 = -2
10040 -3 `div`     3 = -1
10041  
10042 -2 `div`     -3 = 0
10043 -2 `div`     -2 = 1
10044 -2 `div`     -1 = 2
10045 -2 `div`     1 = -2
10046 -2 `div`     2 = -1
10047 -2 `div`     3 = -1
10048  
10049 -1 `div`     -3 = 0
10050 -1 `div`     -2 = 0
10051 -1 `div`     -1 = 1
10052 -1 `div`     1 = -1
10053 -1 `div`     2 = -1
10054 -1 `div`     3 = -1
10055  
10056 0 `div`     -3 = 0
10057 0 `div`     -2 = 0
10058 0 `div`     -1 = 0
10059 0 `div`     1 = 0
10060 0 `div`     2 = 0
10061 0 `div`     3 = 0
10062  
10063 1 `div`     -3 = -1
10064 1 `div`     -2 = -1
10065 1 `div`     -1 = -1
10066 1 `div`     1 = 1
10067 1 `div`     2 = 0
10068 1 `div`     3 = 0
10069  
10070 2 `div`     -3 = -1
10071 2 `div`     -2 = -1
10072 2 `div`     -1 = -2
10073 2 `div`     1 = 2
10074 2 `div`     2 = 1
10075 2 `div`     3 = 0
10076  
10077 3 `div`     -3 = -1
10078 3 `div`     -2 = -2
10079 3 `div`     -1 = -3
10080 3 `div`     1 = 3
10081 3 `div`     2 = 1
10082 3 `div`     3 = 1
10083  
10084 #
10085 -3 `mod`     -3 = 0
10086 -3 `mod`     -2 = -1
10087 -3 `mod`     -1 = 0
10088 -3 `mod`     1 = 0
10089 -3 `mod`     2 = 1
10090 -3 `mod`     3 = 0
10091  
10092 -2 `mod`     -3 = -2
10093 -2 `mod`     -2 = 0
10094 -2 `mod`     -1 = 0
10095 -2 `mod`     1 = 0
10096 -2 `mod`     2 = 0
10097 -2 `mod`     3 = 1
10098  
10099 -1 `mod`     -3 = -1
10100 -1 `mod`     -2 = -1
10101 -1 `mod`     -1 = 0
10102 -1 `mod`     1 = 0
10103 -1 `mod`     2 = 1
10104 -1 `mod`     3 = 2
10105  
10106 0 `mod`     -3 = 0
10107 0 `mod`     -2 = 0
10108 0 `mod`     -1 = 0
10109 0 `mod`     1 = 0
10110 0 `mod`     2 = 0
10111 0 `mod`     3 = 0
10112  
10113 1 `mod`     -3 = -2
10114 1 `mod`     -2 = -1
10115 1 `mod`     -1 = 0
10116 1 `mod`     1 = 0
10117 1 `mod`     2 = 1
10118 1 `mod`     3 = 1
10119  
10120 2 `mod`     -3 = -1
10121 2 `mod`     -2 = 0
10122 2 `mod`     -1 = 0
10123 2 `mod`     1 = 0
10124 2 `mod`     2 = 0
10125 2 `mod`     3 = 2
10126  
10127 3 `mod`     -3 = 0
10128 3 `mod`     -2 = -1
10129 3 `mod`     -1 = 0
10130 3 `mod`     1 = 0
10131 3 `mod`     2 = 1
10132 3 `mod`     3 = 0
10133  
10134 #
10135 -3 `quotRem` -3 = (1,0)
10136 -3 `quotRem` -2 = (1,-1)
10137 -3 `quotRem` -1 = (3,0)
10138 -3 `quotRem` 1 = (-3,0)
10139 -3 `quotRem` 2 = (-1,-1)
10140 -3 `quotRem` 3 = (-1,0)
10141  
10142 -2 `quotRem` -3 = (0,-2)
10143 -2 `quotRem` -2 = (1,0)
10144 -2 `quotRem` -1 = (2,0)
10145 -2 `quotRem` 1 = (-2,0)
10146 -2 `quotRem` 2 = (-1,0)
10147 -2 `quotRem` 3 = (0,-2)
10148  
10149 -1 `quotRem` -3 = (0,-1)
10150 -1 `quotRem` -2 = (0,-1)
10151 -1 `quotRem` -1 = (1,0)
10152 -1 `quotRem` 1 = (-1,0)
10153 -1 `quotRem` 2 = (0,-1)
10154 -1 `quotRem` 3 = (0,-1)
10155  
10156 0 `quotRem` -3 = (0,0)
10157 0 `quotRem` -2 = (0,0)
10158 0 `quotRem` -1 = (0,0)
10159 0 `quotRem` 1 = (0,0)
10160 0 `quotRem` 2 = (0,0)
10161 0 `quotRem` 3 = (0,0)
10162  
10163 1 `quotRem` -3 = (0,1)
10164 1 `quotRem` -2 = (0,1)
10165 1 `quotRem` -1 = (-1,0)
10166 1 `quotRem` 1 = (1,0)
10167 1 `quotRem` 2 = (0,1)
10168 1 `quotRem` 3 = (0,1)
10169  
10170 2 `quotRem` -3 = (0,2)
10171 2 `quotRem` -2 = (-1,0)
10172 2 `quotRem` -1 = (-2,0)
10173 2 `quotRem` 1 = (2,0)
10174 2 `quotRem` 2 = (1,0)
10175 2 `quotRem` 3 = (0,2)
10176  
10177 3 `quotRem` -3 = (-1,0)
10178 3 `quotRem` -2 = (-1,1)
10179 3 `quotRem` -1 = (-3,0)
10180 3 `quotRem` 1 = (3,0)
10181 3 `quotRem` 2 = (1,1)
10182 3 `quotRem` 3 = (1,0)
10183  
10184 #
10185 -3 `quot`    -3 = 1
10186 -3 `quot`    -2 = 1
10187 -3 `quot`    -1 = 3
10188 -3 `quot`    1 = -3
10189 -3 `quot`    2 = -1
10190 -3 `quot`    3 = -1
10191  
10192 -2 `quot`    -3 = 0
10193 -2 `quot`    -2 = 1
10194 -2 `quot`    -1 = 2
10195 -2 `quot`    1 = -2
10196 -2 `quot`    2 = -1
10197 -2 `quot`    3 = 0
10198  
10199 -1 `quot`    -3 = 0
10200 -1 `quot`    -2 = 0
10201 -1 `quot`    -1 = 1
10202 -1 `quot`    1 = -1
10203 -1 `quot`    2 = 0
10204 -1 `quot`    3 = 0
10205  
10206 0 `quot`    -3 = 0
10207 0 `quot`    -2 = 0
10208 0 `quot`    -1 = 0
10209 0 `quot`    1 = 0
10210 0 `quot`    2 = 0
10211 0 `quot`    3 = 0
10212  
10213 1 `quot`    -3 = 0
10214 1 `quot`    -2 = 0
10215 1 `quot`    -1 = -1
10216 1 `quot`    1 = 1
10217 1 `quot`    2 = 0
10218 1 `quot`    3 = 0
10219  
10220 2 `quot`    -3 = 0
10221 2 `quot`    -2 = -1
10222 2 `quot`    -1 = -2
10223 2 `quot`    1 = 2
10224 2 `quot`    2 = 1
10225 2 `quot`    3 = 0
10226  
10227 3 `quot`    -3 = -1
10228 3 `quot`    -2 = -1
10229 3 `quot`    -1 = -3
10230 3 `quot`    1 = 3
10231 3 `quot`    2 = 1
10232 3 `quot`    3 = 1
10233  
10234 #
10235 -3 `rem`     -3 = 0
10236 -3 `rem`     -2 = -1
10237 -3 `rem`     -1 = 0
10238 -3 `rem`     1 = 0
10239 -3 `rem`     2 = -1
10240 -3 `rem`     3 = 0
10241  
10242 -2 `rem`     -3 = -2
10243 -2 `rem`     -2 = 0
10244 -2 `rem`     -1 = 0
10245 -2 `rem`     1 = 0
10246 -2 `rem`     2 = 0
10247 -2 `rem`     3 = -2
10248  
10249 -1 `rem`     -3 = -1
10250 -1 `rem`     -2 = -1
10251 -1 `rem`     -1 = 0
10252 -1 `rem`     1 = 0
10253 -1 `rem`     2 = -1
10254 -1 `rem`     3 = -1
10255  
10256 0 `rem`     -3 = 0
10257 0 `rem`     -2 = 0
10258 0 `rem`     -1 = 0
10259 0 `rem`     1 = 0
10260 0 `rem`     2 = 0
10261 0 `rem`     3 = 0
10262  
10263 1 `rem`     -3 = 1
10264 1 `rem`     -2 = 1
10265 1 `rem`     -1 = 0
10266 1 `rem`     1 = 0
10267 1 `rem`     2 = 1
10268 1 `rem`     3 = 1
10269  
10270 2 `rem`     -3 = 2
10271 2 `rem`     -2 = 0
10272 2 `rem`     -1 = 0
10273 2 `rem`     1 = 0
10274 2 `rem`     2 = 0
10275 2 `rem`     3 = 2
10276  
10277 3 `rem`     -3 = 0
10278 3 `rem`     -2 = 1
10279 3 `rem`     -1 = 0
10280 3 `rem`     1 = 0
10281 3 `rem`     2 = 1
10282 3 `rem`     3 = 0
10283  
10284 #
10285 testBits
10286 -3 .&.   -3 = -3
10287 -3 .&.   -2 = -4
10288 -3 .&.   -1 = -3
10289 -3 .&.   1 = 1
10290 -3 .&.   2 = 0
10291 -3 .&.   3 = 1
10292  
10293 -2 .&.   -3 = -4
10294 -2 .&.   -2 = -2
10295 -2 .&.   -1 = -2
10296 -2 .&.   1 = 0
10297 -2 .&.   2 = 2
10298 -2 .&.   3 = 2
10299  
10300 -1 .&.   -3 = -3
10301 -1 .&.   -2 = -2
10302 -1 .&.   -1 = -1
10303 -1 .&.   1 = 1
10304 -1 .&.   2 = 2
10305 -1 .&.   3 = 3
10306  
10307 0 .&.   -3 = 0
10308 0 .&.   -2 = 0
10309 0 .&.   -1 = 0
10310 0 .&.   1 = 0
10311 0 .&.   2 = 0
10312 0 .&.   3 = 0
10313  
10314 1 .&.   -3 = 1
10315 1 .&.   -2 = 0
10316 1 .&.   -1 = 1
10317 1 .&.   1 = 1
10318 1 .&.   2 = 0
10319 1 .&.   3 = 1
10320  
10321 2 .&.   -3 = 0
10322 2 .&.   -2 = 2
10323 2 .&.   -1 = 2
10324 2 .&.   1 = 0
10325 2 .&.   2 = 2
10326 2 .&.   3 = 2
10327  
10328 3 .&.   -3 = 1
10329 3 .&.   -2 = 2
10330 3 .&.   -1 = 3
10331 3 .&.   1 = 1
10332 3 .&.   2 = 2
10333 3 .&.   3 = 3
10334  
10335 #
10336 -3 .|.   -3 = -3
10337 -3 .|.   -2 = -1
10338 -3 .|.   -1 = -1
10339 -3 .|.   1 = -3
10340 -3 .|.   2 = -1
10341 -3 .|.   3 = -1
10342  
10343 -2 .|.   -3 = -1
10344 -2 .|.   -2 = -2
10345 -2 .|.   -1 = -1
10346 -2 .|.   1 = -1
10347 -2 .|.   2 = -2
10348 -2 .|.   3 = -1
10349  
10350 -1 .|.   -3 = -1
10351 -1 .|.   -2 = -1
10352 -1 .|.   -1 = -1
10353 -1 .|.   1 = -1
10354 -1 .|.   2 = -1
10355 -1 .|.   3 = -1
10356  
10357 0 .|.   -3 = -3
10358 0 .|.   -2 = -2
10359 0 .|.   -1 = -1
10360 0 .|.   1 = 1
10361 0 .|.   2 = 2
10362 0 .|.   3 = 3
10363  
10364 1 .|.   -3 = -3
10365 1 .|.   -2 = -1
10366 1 .|.   -1 = -1
10367 1 .|.   1 = 1
10368 1 .|.   2 = 3
10369 1 .|.   3 = 3
10370  
10371 2 .|.   -3 = -1
10372 2 .|.   -2 = -2
10373 2 .|.   -1 = -1
10374 2 .|.   1 = 3
10375 2 .|.   2 = 2
10376 2 .|.   3 = 3
10377  
10378 3 .|.   -3 = -1
10379 3 .|.   -2 = -1
10380 3 .|.   -1 = -1
10381 3 .|.   1 = 3
10382 3 .|.   2 = 3
10383 3 .|.   3 = 3
10384  
10385 #
10386 -3 `xor` -3 = 0
10387 -3 `xor` -2 = 3
10388 -3 `xor` -1 = 2
10389 -3 `xor` 1 = -4
10390 -3 `xor` 2 = -1
10391 -3 `xor` 3 = -2
10392  
10393 -2 `xor` -3 = 3
10394 -2 `xor` -2 = 0
10395 -2 `xor` -1 = 1
10396 -2 `xor` 1 = -1
10397 -2 `xor` 2 = -4
10398 -2 `xor` 3 = -3
10399  
10400 -1 `xor` -3 = 2
10401 -1 `xor` -2 = 1
10402 -1 `xor` -1 = 0
10403 -1 `xor` 1 = -2
10404 -1 `xor` 2 = -3
10405 -1 `xor` 3 = -4
10406  
10407 0 `xor` -3 = -3
10408 0 `xor` -2 = -2
10409 0 `xor` -1 = -1
10410 0 `xor` 1 = 1
10411 0 `xor` 2 = 2
10412 0 `xor` 3 = 3
10413  
10414 1 `xor` -3 = -4
10415 1 `xor` -2 = -1
10416 1 `xor` -1 = -2
10417 1 `xor` 1 = 0
10418 1 `xor` 2 = 3
10419 1 `xor` 3 = 2
10420  
10421 2 `xor` -3 = -1
10422 2 `xor` -2 = -4
10423 2 `xor` -1 = -3
10424 2 `xor` 1 = 3
10425 2 `xor` 2 = 0
10426 2 `xor` 3 = 1
10427  
10428 3 `xor` -3 = -2
10429 3 `xor` -2 = -3
10430 3 `xor` -1 = -4
10431 3 `xor` 1 = 2
10432 3 `xor` 2 = 1
10433 3 `xor` 3 = 0
10434  
10435 #
10436 complement -3 = 2
10437 complement -2 = 1
10438 complement -1 = 0
10439 complement 0 = -1
10440 complement 1 = -2
10441 complement 2 = -3
10442 complement 3 = -4
10443 #
10444 -3 `shiftL` 0 = -3
10445 -3 `shiftL` 1 = -6
10446 -3 `shiftL` 2 = -12
10447 -3 `shiftL` 3 = -24
10448 -3 `shiftL` 32 = -12884901888
10449  
10450 -2 `shiftL` 0 = -2
10451 -2 `shiftL` 1 = -4
10452 -2 `shiftL` 2 = -8
10453 -2 `shiftL` 3 = -16
10454 -2 `shiftL` 32 = -8589934592
10455  
10456 -1 `shiftL` 0 = -1
10457 -1 `shiftL` 1 = -2
10458 -1 `shiftL` 2 = -4
10459 -1 `shiftL` 3 = -8
10460 -1 `shiftL` 32 = -4294967296
10461  
10462 0 `shiftL` 0 = 0
10463 0 `shiftL` 1 = 0
10464 0 `shiftL` 2 = 0
10465 0 `shiftL` 3 = 0
10466 0 `shiftL` 32 = 0
10467  
10468 1 `shiftL` 0 = 1
10469 1 `shiftL` 1 = 2
10470 1 `shiftL` 2 = 4
10471 1 `shiftL` 3 = 8
10472 1 `shiftL` 32 = 4294967296
10473  
10474 2 `shiftL` 0 = 2
10475 2 `shiftL` 1 = 4
10476 2 `shiftL` 2 = 8
10477 2 `shiftL` 3 = 16
10478 2 `shiftL` 32 = 8589934592
10479  
10480 3 `shiftL` 0 = 3
10481 3 `shiftL` 1 = 6
10482 3 `shiftL` 2 = 12
10483 3 `shiftL` 3 = 24
10484 3 `shiftL` 32 = 12884901888
10485  
10486 #
10487 -3 `shiftR` 0 = -3
10488 -3 `shiftR` 1 = -2
10489 -3 `shiftR` 2 = -1
10490 -3 `shiftR` 3 = -1
10491 -3 `shiftR` 32 = -1
10492  
10493 -2 `shiftR` 0 = -2
10494 -2 `shiftR` 1 = -1
10495 -2 `shiftR` 2 = -1
10496 -2 `shiftR` 3 = -1
10497 -2 `shiftR` 32 = -1
10498  
10499 -1 `shiftR` 0 = -1
10500 -1 `shiftR` 1 = -1
10501 -1 `shiftR` 2 = -1
10502 -1 `shiftR` 3 = -1
10503 -1 `shiftR` 32 = -1
10504  
10505 0 `shiftR` 0 = 0
10506 0 `shiftR` 1 = 0
10507 0 `shiftR` 2 = 0
10508 0 `shiftR` 3 = 0
10509 0 `shiftR` 32 = 0
10510  
10511 1 `shiftR` 0 = 1
10512 1 `shiftR` 1 = 0
10513 1 `shiftR` 2 = 0
10514 1 `shiftR` 3 = 0
10515 1 `shiftR` 32 = 0
10516  
10517 2 `shiftR` 0 = 2
10518 2 `shiftR` 1 = 1
10519 2 `shiftR` 2 = 0
10520 2 `shiftR` 3 = 0
10521 2 `shiftR` 32 = 0
10522  
10523 3 `shiftR` 0 = 3
10524 3 `shiftR` 1 = 1
10525 3 `shiftR` 2 = 0
10526 3 `shiftR` 3 = 0
10527 3 `shiftR` 32 = 0
10528  
10529 #
10530 -3 `rotate` -3 = -1
10531 -3 `rotate` -2 = -1
10532 -3 `rotate` -1 = -2
10533 -3 `rotate` 0 = -3
10534 -3 `rotate` 1 = -6
10535 -3 `rotate` 2 = -12
10536 -3 `rotate` 3 = -24
10537  
10538 -2 `rotate` -3 = -1
10539 -2 `rotate` -2 = -1
10540 -2 `rotate` -1 = -1
10541 -2 `rotate` 0 = -2
10542 -2 `rotate` 1 = -4
10543 -2 `rotate` 2 = -8
10544 -2 `rotate` 3 = -16
10545  
10546 -1 `rotate` -3 = -1
10547 -1 `rotate` -2 = -1
10548 -1 `rotate` -1 = -1
10549 -1 `rotate` 0 = -1
10550 -1 `rotate` 1 = -2
10551 -1 `rotate` 2 = -4
10552 -1 `rotate` 3 = -8
10553  
10554 0 `rotate` -3 = 0
10555 0 `rotate` -2 = 0
10556 0 `rotate` -1 = 0
10557 0 `rotate` 0 = 0
10558 0 `rotate` 1 = 0
10559 0 `rotate` 2 = 0
10560 0 `rotate` 3 = 0
10561  
10562 1 `rotate` -3 = 0
10563 1 `rotate` -2 = 0
10564 1 `rotate` -1 = 0
10565 1 `rotate` 0 = 1
10566 1 `rotate` 1 = 2
10567 1 `rotate` 2 = 4
10568 1 `rotate` 3 = 8
10569  
10570 2 `rotate` -3 = 0
10571 2 `rotate` -2 = 0
10572 2 `rotate` -1 = 1
10573 2 `rotate` 0 = 2
10574 2 `rotate` 1 = 4
10575 2 `rotate` 2 = 8
10576 2 `rotate` 3 = 16
10577  
10578 3 `rotate` -3 = 0
10579 3 `rotate` -2 = 0
10580 3 `rotate` -1 = 1
10581 3 `rotate` 0 = 3
10582 3 `rotate` 1 = 6
10583 3 `rotate` 2 = 12
10584 3 `rotate` 3 = 24
10585  
10586 #
10587 bit 0 = 1
10588 bit 1 = 2
10589 bit 2 = 4
10590 bit 3 = 8
10591 #
10592 -3 `setBit` 0 = -3
10593 -3 `setBit` 1 = -1
10594 -3 `setBit` 2 = -3
10595 -3 `setBit` 3 = -3
10596 -3 `setBit` 32 = -3
10597  
10598 -2 `setBit` 0 = -1
10599 -2 `setBit` 1 = -2
10600 -2 `setBit` 2 = -2
10601 -2 `setBit` 3 = -2
10602 -2 `setBit` 32 = -2
10603  
10604 -1 `setBit` 0 = -1
10605 -1 `setBit` 1 = -1
10606 -1 `setBit` 2 = -1
10607 -1 `setBit` 3 = -1
10608 -1 `setBit` 32 = -1
10609  
10610 0 `setBit` 0 = 1
10611 0 `setBit` 1 = 2
10612 0 `setBit` 2 = 4
10613 0 `setBit` 3 = 8
10614 0 `setBit` 32 = 4294967296
10615  
10616 1 `setBit` 0 = 1
10617 1 `setBit` 1 = 3
10618 1 `setBit` 2 = 5
10619 1 `setBit` 3 = 9
10620 1 `setBit` 32 = 4294967297
10621  
10622 2 `setBit` 0 = 3
10623 2 `setBit` 1 = 2
10624 2 `setBit` 2 = 6
10625 2 `setBit` 3 = 10
10626 2 `setBit` 32 = 4294967298
10627  
10628 3 `setBit` 0 = 3
10629 3 `setBit` 1 = 3
10630 3 `setBit` 2 = 7
10631 3 `setBit` 3 = 11
10632 3 `setBit` 32 = 4294967299
10633  
10634 #
10635 -3 `clearBit` 0 = -4
10636 -3 `clearBit` 1 = -3
10637 -3 `clearBit` 2 = -7
10638 -3 `clearBit` 3 = -11
10639 -3 `clearBit` 32 = -4294967299
10640  
10641 -2 `clearBit` 0 = -2
10642 -2 `clearBit` 1 = -4
10643 -2 `clearBit` 2 = -6
10644 -2 `clearBit` 3 = -10
10645 -2 `clearBit` 32 = -4294967298
10646  
10647 -1 `clearBit` 0 = -2
10648 -1 `clearBit` 1 = -3
10649 -1 `clearBit` 2 = -5
10650 -1 `clearBit` 3 = -9
10651 -1 `clearBit` 32 = -4294967297
10652  
10653 0 `clearBit` 0 = 0
10654 0 `clearBit` 1 = 0
10655 0 `clearBit` 2 = 0
10656 0 `clearBit` 3 = 0
10657 0 `clearBit` 32 = 0
10658  
10659 1 `clearBit` 0 = 0
10660 1 `clearBit` 1 = 1
10661 1 `clearBit` 2 = 1
10662 1 `clearBit` 3 = 1
10663 1 `clearBit` 32 = 1
10664  
10665 2 `clearBit` 0 = 2
10666 2 `clearBit` 1 = 0
10667 2 `clearBit` 2 = 2
10668 2 `clearBit` 3 = 2
10669 2 `clearBit` 32 = 2
10670  
10671 3 `clearBit` 0 = 2
10672 3 `clearBit` 1 = 1
10673 3 `clearBit` 2 = 3
10674 3 `clearBit` 3 = 3
10675 3 `clearBit` 32 = 3
10676  
10677 #
10678 -3 `complementBit` 0 = -4
10679 -3 `complementBit` 1 = -1
10680 -3 `complementBit` 2 = -7
10681 -3 `complementBit` 3 = -11
10682 -3 `complementBit` 32 = -4294967299
10683  
10684 -2 `complementBit` 0 = -1
10685 -2 `complementBit` 1 = -4
10686 -2 `complementBit` 2 = -6
10687 -2 `complementBit` 3 = -10
10688 -2 `complementBit` 32 = -4294967298
10689  
10690 -1 `complementBit` 0 = -2
10691 -1 `complementBit` 1 = -3
10692 -1 `complementBit` 2 = -5
10693 -1 `complementBit` 3 = -9
10694 -1 `complementBit` 32 = -4294967297
10695  
10696 0 `complementBit` 0 = 1
10697 0 `complementBit` 1 = 2
10698 0 `complementBit` 2 = 4
10699 0 `complementBit` 3 = 8
10700 0 `complementBit` 32 = 4294967296
10701  
10702 1 `complementBit` 0 = 0
10703 1 `complementBit` 1 = 3
10704 1 `complementBit` 2 = 5
10705 1 `complementBit` 3 = 9
10706 1 `complementBit` 32 = 4294967297
10707  
10708 2 `complementBit` 0 = 3
10709 2 `complementBit` 1 = 0
10710 2 `complementBit` 2 = 6
10711 2 `complementBit` 3 = 10
10712 2 `complementBit` 32 = 4294967298
10713  
10714 3 `complementBit` 0 = 2
10715 3 `complementBit` 1 = 1
10716 3 `complementBit` 2 = 7
10717 3 `complementBit` 3 = 11
10718 3 `complementBit` 32 = 4294967299
10719  
10720 #
10721 -3 `testBit` 0 = True
10722 -3 `testBit` 1 = False
10723 -3 `testBit` 2 = True
10724 -3 `testBit` 3 = True
10725 -3 `testBit` 32 = True
10726  
10727 -2 `testBit` 0 = False
10728 -2 `testBit` 1 = True
10729 -2 `testBit` 2 = True
10730 -2 `testBit` 3 = True
10731 -2 `testBit` 32 = True
10732  
10733 -1 `testBit` 0 = True
10734 -1 `testBit` 1 = True
10735 -1 `testBit` 2 = True
10736 -1 `testBit` 3 = True
10737 -1 `testBit` 32 = True
10738  
10739 0 `testBit` 0 = False
10740 0 `testBit` 1 = False
10741 0 `testBit` 2 = False
10742 0 `testBit` 3 = False
10743 0 `testBit` 32 = False
10744  
10745 1 `testBit` 0 = True
10746 1 `testBit` 1 = False
10747 1 `testBit` 2 = False
10748 1 `testBit` 3 = False
10749 1 `testBit` 32 = False
10750  
10751 2 `testBit` 0 = False
10752 2 `testBit` 1 = True
10753 2 `testBit` 2 = False
10754 2 `testBit` 3 = False
10755 2 `testBit` 32 = False
10756  
10757 3 `testBit` 0 = True
10758 3 `testBit` 1 = True
10759 3 `testBit` 2 = False
10760 3 `testBit` 3 = False
10761 3 `testBit` 32 = False
10762  
10763 #
10764 isSigned -3 = True
10765 isSigned -2 = True
10766 isSigned -1 = True
10767 isSigned 0 = True
10768 isSigned 1 = True
10769 isSigned 2 = True
10770 isSigned 3 = True
10771 #