[project @ 1998-04-30 20:38:38 by sof]
[ghc-hetmet.git] / ghc / tests / numeric / should_run / arith011.stdout
1 --------------------------------
2 --Testing Int8
3 --------------------------------
4 testBounded
5 (127,-128,-127)
6 (126,127,-128)
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 testBits
907 -3 .&.   -3 = -3
908 -3 .&.   -2 = -4
909 -3 .&.   -1 = -3
910 -3 .&.   1 = 1
911 -3 .&.   2 = 0
912 -3 .&.   3 = 1
913  
914 -2 .&.   -3 = -4
915 -2 .&.   -2 = -2
916 -2 .&.   -1 = -2
917 -2 .&.   1 = 0
918 -2 .&.   2 = 2
919 -2 .&.   3 = 2
920  
921 -1 .&.   -3 = -3
922 -1 .&.   -2 = -2
923 -1 .&.   -1 = -1
924 -1 .&.   1 = 1
925 -1 .&.   2 = 2
926 -1 .&.   3 = 3
927  
928 0 .&.   -3 = 0
929 0 .&.   -2 = 0
930 0 .&.   -1 = 0
931 0 .&.   1 = 0
932 0 .&.   2 = 0
933 0 .&.   3 = 0
934  
935 1 .&.   -3 = 1
936 1 .&.   -2 = 0
937 1 .&.   -1 = 1
938 1 .&.   1 = 1
939 1 .&.   2 = 0
940 1 .&.   3 = 1
941  
942 2 .&.   -3 = 0
943 2 .&.   -2 = 2
944 2 .&.   -1 = 2
945 2 .&.   1 = 0
946 2 .&.   2 = 2
947 2 .&.   3 = 2
948  
949 3 .&.   -3 = 1
950 3 .&.   -2 = 2
951 3 .&.   -1 = 3
952 3 .&.   1 = 1
953 3 .&.   2 = 2
954 3 .&.   3 = 3
955  
956 #
957 -3 .|.   -3 = -3
958 -3 .|.   -2 = -1
959 -3 .|.   -1 = -1
960 -3 .|.   1 = -3
961 -3 .|.   2 = -1
962 -3 .|.   3 = -1
963  
964 -2 .|.   -3 = -1
965 -2 .|.   -2 = -2
966 -2 .|.   -1 = -1
967 -2 .|.   1 = -1
968 -2 .|.   2 = -2
969 -2 .|.   3 = -1
970  
971 -1 .|.   -3 = -1
972 -1 .|.   -2 = -1
973 -1 .|.   -1 = -1
974 -1 .|.   1 = -1
975 -1 .|.   2 = -1
976 -1 .|.   3 = -1
977  
978 0 .|.   -3 = -3
979 0 .|.   -2 = -2
980 0 .|.   -1 = -1
981 0 .|.   1 = 1
982 0 .|.   2 = 2
983 0 .|.   3 = 3
984  
985 1 .|.   -3 = -3
986 1 .|.   -2 = -1
987 1 .|.   -1 = -1
988 1 .|.   1 = 1
989 1 .|.   2 = 3
990 1 .|.   3 = 3
991  
992 2 .|.   -3 = -1
993 2 .|.   -2 = -2
994 2 .|.   -1 = -1
995 2 .|.   1 = 3
996 2 .|.   2 = 2
997 2 .|.   3 = 3
998  
999 3 .|.   -3 = -1
1000 3 .|.   -2 = -1
1001 3 .|.   -1 = -1
1002 3 .|.   1 = 3
1003 3 .|.   2 = 3
1004 3 .|.   3 = 3
1005  
1006 #
1007 -3 `xor` -3 = 0
1008 -3 `xor` -2 = 3
1009 -3 `xor` -1 = 2
1010 -3 `xor` 1 = -4
1011 -3 `xor` 2 = -1
1012 -3 `xor` 3 = -2
1013  
1014 -2 `xor` -3 = 3
1015 -2 `xor` -2 = 0
1016 -2 `xor` -1 = 1
1017 -2 `xor` 1 = -1
1018 -2 `xor` 2 = -4
1019 -2 `xor` 3 = -3
1020  
1021 -1 `xor` -3 = 2
1022 -1 `xor` -2 = 1
1023 -1 `xor` -1 = 0
1024 -1 `xor` 1 = -2
1025 -1 `xor` 2 = -3
1026 -1 `xor` 3 = -4
1027  
1028 0 `xor` -3 = -3
1029 0 `xor` -2 = -2
1030 0 `xor` -1 = -1
1031 0 `xor` 1 = 1
1032 0 `xor` 2 = 2
1033 0 `xor` 3 = 3
1034  
1035 1 `xor` -3 = -4
1036 1 `xor` -2 = -1
1037 1 `xor` -1 = -2
1038 1 `xor` 1 = 0
1039 1 `xor` 2 = 3
1040 1 `xor` 3 = 2
1041  
1042 2 `xor` -3 = -1
1043 2 `xor` -2 = -4
1044 2 `xor` -1 = -3
1045 2 `xor` 1 = 3
1046 2 `xor` 2 = 0
1047 2 `xor` 3 = 1
1048  
1049 3 `xor` -3 = -2
1050 3 `xor` -2 = -3
1051 3 `xor` -1 = -4
1052 3 `xor` 1 = 2
1053 3 `xor` 2 = 1
1054 3 `xor` 3 = 0
1055  
1056 #
1057 complement -3 = 2
1058 complement -2 = 1
1059 complement -1 = 0
1060 complement 0 = -1
1061 complement 1 = -2
1062 complement 2 = -3
1063 complement 3 = -4
1064 #
1065 -3 `shift` 0 = -3
1066 -3 `shift` 1 = -6
1067 -3 `shift` 2 = -12
1068 -3 `shift` 3 = -24
1069  
1070 -2 `shift` 0 = -2
1071 -2 `shift` 1 = -4
1072 -2 `shift` 2 = -8
1073 -2 `shift` 3 = -16
1074  
1075 -1 `shift` 0 = -1
1076 -1 `shift` 1 = -2
1077 -1 `shift` 2 = -4
1078 -1 `shift` 3 = -8
1079  
1080 0 `shift` 0 = 0
1081 0 `shift` 1 = 0
1082 0 `shift` 2 = 0
1083 0 `shift` 3 = 0
1084  
1085 1 `shift` 0 = 1
1086 1 `shift` 1 = 2
1087 1 `shift` 2 = 4
1088 1 `shift` 3 = 8
1089  
1090 2 `shift` 0 = 2
1091 2 `shift` 1 = 4
1092 2 `shift` 2 = 8
1093 2 `shift` 3 = 16
1094  
1095 3 `shift` 0 = 3
1096 3 `shift` 1 = 6
1097 3 `shift` 2 = 12
1098 3 `shift` 3 = 24
1099  
1100 #
1101 -3 `rotate` -3 = -65
1102 -3 `rotate` -2 = 127
1103 -3 `rotate` -1 = -2
1104 -3 `rotate` 0 = -3
1105 -3 `rotate` 1 = -5
1106 -3 `rotate` 2 = -9
1107 -3 `rotate` 3 = -17
1108  
1109 -2 `rotate` -3 = -33
1110 -2 `rotate` -2 = -65
1111 -2 `rotate` -1 = 127
1112 -2 `rotate` 0 = -2
1113 -2 `rotate` 1 = -3
1114 -2 `rotate` 2 = -5
1115 -2 `rotate` 3 = -9
1116  
1117 -1 `rotate` -3 = -1
1118 -1 `rotate` -2 = -1
1119 -1 `rotate` -1 = -1
1120 -1 `rotate` 0 = -1
1121 -1 `rotate` 1 = -1
1122 -1 `rotate` 2 = -1
1123 -1 `rotate` 3 = -1
1124  
1125 0 `rotate` -3 = 0
1126 0 `rotate` -2 = 0
1127 0 `rotate` -1 = 0
1128 0 `rotate` 0 = 0
1129 0 `rotate` 1 = 0
1130 0 `rotate` 2 = 0
1131 0 `rotate` 3 = 0
1132  
1133 1 `rotate` -3 = 32
1134 1 `rotate` -2 = 64
1135 1 `rotate` -1 = -128
1136 1 `rotate` 0 = 1
1137 1 `rotate` 1 = 2
1138 1 `rotate` 2 = 4
1139 1 `rotate` 3 = 8
1140  
1141 2 `rotate` -3 = 64
1142 2 `rotate` -2 = -128
1143 2 `rotate` -1 = 1
1144 2 `rotate` 0 = 2
1145 2 `rotate` 1 = 4
1146 2 `rotate` 2 = 8
1147 2 `rotate` 3 = 16
1148  
1149 3 `rotate` -3 = 96
1150 3 `rotate` -2 = -64
1151 3 `rotate` -1 = -127
1152 3 `rotate` 0 = 3
1153 3 `rotate` 1 = 6
1154 3 `rotate` 2 = 12
1155 3 `rotate` 3 = 24
1156  
1157 #
1158 bit 0 = 1
1159 bit 1 = 2
1160 bit 2 = 4
1161 bit 3 = 8
1162 #
1163 -3 `setBit` 0 = -3
1164 -3 `setBit` 1 = -1
1165 -3 `setBit` 2 = -3
1166 -3 `setBit` 3 = -3
1167  
1168 -2 `setBit` 0 = -1
1169 -2 `setBit` 1 = -2
1170 -2 `setBit` 2 = -2
1171 -2 `setBit` 3 = -2
1172  
1173 -1 `setBit` 0 = -1
1174 -1 `setBit` 1 = -1
1175 -1 `setBit` 2 = -1
1176 -1 `setBit` 3 = -1
1177  
1178 0 `setBit` 0 = 1
1179 0 `setBit` 1 = 2
1180 0 `setBit` 2 = 4
1181 0 `setBit` 3 = 8
1182  
1183 1 `setBit` 0 = 1
1184 1 `setBit` 1 = 3
1185 1 `setBit` 2 = 5
1186 1 `setBit` 3 = 9
1187  
1188 2 `setBit` 0 = 3
1189 2 `setBit` 1 = 2
1190 2 `setBit` 2 = 6
1191 2 `setBit` 3 = 10
1192  
1193 3 `setBit` 0 = 3
1194 3 `setBit` 1 = 3
1195 3 `setBit` 2 = 7
1196 3 `setBit` 3 = 11
1197  
1198 #
1199 -3 `clearBit` 0 = -4
1200 -3 `clearBit` 1 = -3
1201 -3 `clearBit` 2 = -7
1202 -3 `clearBit` 3 = -11
1203  
1204 -2 `clearBit` 0 = -2
1205 -2 `clearBit` 1 = -4
1206 -2 `clearBit` 2 = -6
1207 -2 `clearBit` 3 = -10
1208  
1209 -1 `clearBit` 0 = -2
1210 -1 `clearBit` 1 = -3
1211 -1 `clearBit` 2 = -5
1212 -1 `clearBit` 3 = -9
1213  
1214 0 `clearBit` 0 = 0
1215 0 `clearBit` 1 = 0
1216 0 `clearBit` 2 = 0
1217 0 `clearBit` 3 = 0
1218  
1219 1 `clearBit` 0 = 0
1220 1 `clearBit` 1 = 1
1221 1 `clearBit` 2 = 1
1222 1 `clearBit` 3 = 1
1223  
1224 2 `clearBit` 0 = 2
1225 2 `clearBit` 1 = 0
1226 2 `clearBit` 2 = 2
1227 2 `clearBit` 3 = 2
1228  
1229 3 `clearBit` 0 = 2
1230 3 `clearBit` 1 = 1
1231 3 `clearBit` 2 = 3
1232 3 `clearBit` 3 = 3
1233  
1234 #
1235 -3 `complementBit` 0 = -4
1236 -3 `complementBit` 1 = -1
1237 -3 `complementBit` 2 = -7
1238 -3 `complementBit` 3 = -11
1239  
1240 -2 `complementBit` 0 = -1
1241 -2 `complementBit` 1 = -4
1242 -2 `complementBit` 2 = -6
1243 -2 `complementBit` 3 = -10
1244  
1245 -1 `complementBit` 0 = -2
1246 -1 `complementBit` 1 = -3
1247 -1 `complementBit` 2 = -5
1248 -1 `complementBit` 3 = -9
1249  
1250 0 `complementBit` 0 = 1
1251 0 `complementBit` 1 = 2
1252 0 `complementBit` 2 = 4
1253 0 `complementBit` 3 = 8
1254  
1255 1 `complementBit` 0 = 0
1256 1 `complementBit` 1 = 3
1257 1 `complementBit` 2 = 5
1258 1 `complementBit` 3 = 9
1259  
1260 2 `complementBit` 0 = 3
1261 2 `complementBit` 1 = 0
1262 2 `complementBit` 2 = 6
1263 2 `complementBit` 3 = 10
1264  
1265 3 `complementBit` 0 = 2
1266 3 `complementBit` 1 = 1
1267 3 `complementBit` 2 = 7
1268 3 `complementBit` 3 = 11
1269  
1270 #
1271 -3 `testBit` 0 = True
1272 -3 `testBit` 1 = False
1273 -3 `testBit` 2 = True
1274 -3 `testBit` 3 = True
1275  
1276 -2 `testBit` 0 = False
1277 -2 `testBit` 1 = True
1278 -2 `testBit` 2 = True
1279 -2 `testBit` 3 = True
1280  
1281 -1 `testBit` 0 = True
1282 -1 `testBit` 1 = True
1283 -1 `testBit` 2 = True
1284 -1 `testBit` 3 = True
1285  
1286 0 `testBit` 0 = False
1287 0 `testBit` 1 = False
1288 0 `testBit` 2 = False
1289 0 `testBit` 3 = False
1290  
1291 1 `testBit` 0 = True
1292 1 `testBit` 1 = False
1293 1 `testBit` 2 = False
1294 1 `testBit` 3 = False
1295  
1296 2 `testBit` 0 = False
1297 2 `testBit` 1 = True
1298 2 `testBit` 2 = False
1299 2 `testBit` 3 = False
1300  
1301 3 `testBit` 0 = True
1302 3 `testBit` 1 = True
1303 3 `testBit` 2 = False
1304 3 `testBit` 3 = False
1305  
1306 #
1307 bitSize -3 = 8
1308 bitSize -2 = 8
1309 bitSize -1 = 8
1310 bitSize 0 = 8
1311 bitSize 1 = 8
1312 bitSize 2 = 8
1313 bitSize 3 = 8
1314 #
1315 isSigned -3 = True
1316 isSigned -2 = True
1317 isSigned -1 = True
1318 isSigned 0 = True
1319 isSigned 1 = True
1320 isSigned 2 = True
1321 isSigned 3 = True
1322 #
1323 --------------------------------
1324 --------------------------------
1325 --Testing Int16
1326 --------------------------------
1327 testBounded
1328 (32767,-32768,-32767)
1329 (32766,32767,-32768)
1330 testEnum
1331 [0,1,2,3,4,5,6,7,8,9]
1332 [0,2,4,6,8,10,12,14,16,18]
1333 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
1334 [0,2,4,6,8,10,12,14,16,18,20]
1335 testReadShow
1336 [-3,-2,-1,0,1,2,3]
1337 [-3,-2,-1,0,1,2,3]
1338 testEq
1339 -3 == -3 = True
1340 -3 == -2 = False
1341 -3 == -1 = False
1342 -3 == 0 = False
1343 -3 == 1 = False
1344 -3 == 2 = False
1345 -3 == 3 = False
1346  
1347 -2 == -3 = False
1348 -2 == -2 = True
1349 -2 == -1 = False
1350 -2 == 0 = False
1351 -2 == 1 = False
1352 -2 == 2 = False
1353 -2 == 3 = False
1354  
1355 -1 == -3 = False
1356 -1 == -2 = False
1357 -1 == -1 = True
1358 -1 == 0 = False
1359 -1 == 1 = False
1360 -1 == 2 = False
1361 -1 == 3 = False
1362  
1363 0 == -3 = False
1364 0 == -2 = False
1365 0 == -1 = False
1366 0 == 0 = True
1367 0 == 1 = False
1368 0 == 2 = False
1369 0 == 3 = False
1370  
1371 1 == -3 = False
1372 1 == -2 = False
1373 1 == -1 = False
1374 1 == 0 = False
1375 1 == 1 = True
1376 1 == 2 = False
1377 1 == 3 = False
1378  
1379 2 == -3 = False
1380 2 == -2 = False
1381 2 == -1 = False
1382 2 == 0 = False
1383 2 == 1 = False
1384 2 == 2 = True
1385 2 == 3 = False
1386  
1387 3 == -3 = False
1388 3 == -2 = False
1389 3 == -1 = False
1390 3 == 0 = False
1391 3 == 1 = False
1392 3 == 2 = False
1393 3 == 3 = True
1394  
1395 #
1396 -3 /= -3 = False
1397 -3 /= -2 = True
1398 -3 /= -1 = True
1399 -3 /= 0 = True
1400 -3 /= 1 = True
1401 -3 /= 2 = True
1402 -3 /= 3 = True
1403  
1404 -2 /= -3 = True
1405 -2 /= -2 = False
1406 -2 /= -1 = True
1407 -2 /= 0 = True
1408 -2 /= 1 = True
1409 -2 /= 2 = True
1410 -2 /= 3 = True
1411  
1412 -1 /= -3 = True
1413 -1 /= -2 = True
1414 -1 /= -1 = False
1415 -1 /= 0 = True
1416 -1 /= 1 = True
1417 -1 /= 2 = True
1418 -1 /= 3 = True
1419  
1420 0 /= -3 = True
1421 0 /= -2 = True
1422 0 /= -1 = True
1423 0 /= 0 = False
1424 0 /= 1 = True
1425 0 /= 2 = True
1426 0 /= 3 = True
1427  
1428 1 /= -3 = True
1429 1 /= -2 = True
1430 1 /= -1 = True
1431 1 /= 0 = True
1432 1 /= 1 = False
1433 1 /= 2 = True
1434 1 /= 3 = True
1435  
1436 2 /= -3 = True
1437 2 /= -2 = True
1438 2 /= -1 = True
1439 2 /= 0 = True
1440 2 /= 1 = True
1441 2 /= 2 = False
1442 2 /= 3 = True
1443  
1444 3 /= -3 = True
1445 3 /= -2 = True
1446 3 /= -1 = True
1447 3 /= 0 = True
1448 3 /= 1 = True
1449 3 /= 2 = True
1450 3 /= 3 = False
1451  
1452 #
1453 testOrd
1454 -3 <= -3 = True
1455 -3 <= -2 = True
1456 -3 <= -1 = True
1457 -3 <= 0 = True
1458 -3 <= 1 = True
1459 -3 <= 2 = True
1460 -3 <= 3 = True
1461  
1462 -2 <= -3 = False
1463 -2 <= -2 = True
1464 -2 <= -1 = True
1465 -2 <= 0 = True
1466 -2 <= 1 = True
1467 -2 <= 2 = True
1468 -2 <= 3 = True
1469  
1470 -1 <= -3 = False
1471 -1 <= -2 = False
1472 -1 <= -1 = True
1473 -1 <= 0 = True
1474 -1 <= 1 = True
1475 -1 <= 2 = True
1476 -1 <= 3 = True
1477  
1478 0 <= -3 = False
1479 0 <= -2 = False
1480 0 <= -1 = False
1481 0 <= 0 = True
1482 0 <= 1 = True
1483 0 <= 2 = True
1484 0 <= 3 = True
1485  
1486 1 <= -3 = False
1487 1 <= -2 = False
1488 1 <= -1 = False
1489 1 <= 0 = False
1490 1 <= 1 = True
1491 1 <= 2 = True
1492 1 <= 3 = True
1493  
1494 2 <= -3 = False
1495 2 <= -2 = False
1496 2 <= -1 = False
1497 2 <= 0 = False
1498 2 <= 1 = False
1499 2 <= 2 = True
1500 2 <= 3 = True
1501  
1502 3 <= -3 = False
1503 3 <= -2 = False
1504 3 <= -1 = False
1505 3 <= 0 = False
1506 3 <= 1 = False
1507 3 <= 2 = False
1508 3 <= 3 = True
1509  
1510 #
1511 -3 <  -3 = False
1512 -3 <  -2 = True
1513 -3 <  -1 = True
1514 -3 <  0 = True
1515 -3 <  1 = True
1516 -3 <  2 = True
1517 -3 <  3 = True
1518  
1519 -2 <  -3 = False
1520 -2 <  -2 = False
1521 -2 <  -1 = True
1522 -2 <  0 = True
1523 -2 <  1 = True
1524 -2 <  2 = True
1525 -2 <  3 = True
1526  
1527 -1 <  -3 = False
1528 -1 <  -2 = False
1529 -1 <  -1 = False
1530 -1 <  0 = True
1531 -1 <  1 = True
1532 -1 <  2 = True
1533 -1 <  3 = True
1534  
1535 0 <  -3 = False
1536 0 <  -2 = False
1537 0 <  -1 = False
1538 0 <  0 = False
1539 0 <  1 = True
1540 0 <  2 = True
1541 0 <  3 = True
1542  
1543 1 <  -3 = False
1544 1 <  -2 = False
1545 1 <  -1 = False
1546 1 <  0 = False
1547 1 <  1 = False
1548 1 <  2 = True
1549 1 <  3 = True
1550  
1551 2 <  -3 = False
1552 2 <  -2 = False
1553 2 <  -1 = False
1554 2 <  0 = False
1555 2 <  1 = False
1556 2 <  2 = False
1557 2 <  3 = True
1558  
1559 3 <  -3 = False
1560 3 <  -2 = False
1561 3 <  -1 = False
1562 3 <  0 = False
1563 3 <  1 = False
1564 3 <  2 = False
1565 3 <  3 = False
1566  
1567 #
1568 -3 >  -3 = False
1569 -3 >  -2 = False
1570 -3 >  -1 = False
1571 -3 >  0 = False
1572 -3 >  1 = False
1573 -3 >  2 = False
1574 -3 >  3 = False
1575  
1576 -2 >  -3 = True
1577 -2 >  -2 = False
1578 -2 >  -1 = False
1579 -2 >  0 = False
1580 -2 >  1 = False
1581 -2 >  2 = False
1582 -2 >  3 = False
1583  
1584 -1 >  -3 = True
1585 -1 >  -2 = True
1586 -1 >  -1 = False
1587 -1 >  0 = False
1588 -1 >  1 = False
1589 -1 >  2 = False
1590 -1 >  3 = False
1591  
1592 0 >  -3 = True
1593 0 >  -2 = True
1594 0 >  -1 = True
1595 0 >  0 = False
1596 0 >  1 = False
1597 0 >  2 = False
1598 0 >  3 = False
1599  
1600 1 >  -3 = True
1601 1 >  -2 = True
1602 1 >  -1 = True
1603 1 >  0 = True
1604 1 >  1 = False
1605 1 >  2 = False
1606 1 >  3 = False
1607  
1608 2 >  -3 = True
1609 2 >  -2 = True
1610 2 >  -1 = True
1611 2 >  0 = True
1612 2 >  1 = True
1613 2 >  2 = False
1614 2 >  3 = False
1615  
1616 3 >  -3 = True
1617 3 >  -2 = True
1618 3 >  -1 = True
1619 3 >  0 = True
1620 3 >  1 = True
1621 3 >  2 = True
1622 3 >  3 = False
1623  
1624 #
1625 -3 >= -3 = True
1626 -3 >= -2 = False
1627 -3 >= -1 = False
1628 -3 >= 0 = False
1629 -3 >= 1 = False
1630 -3 >= 2 = False
1631 -3 >= 3 = False
1632  
1633 -2 >= -3 = True
1634 -2 >= -2 = True
1635 -2 >= -1 = False
1636 -2 >= 0 = False
1637 -2 >= 1 = False
1638 -2 >= 2 = False
1639 -2 >= 3 = False
1640  
1641 -1 >= -3 = True
1642 -1 >= -2 = True
1643 -1 >= -1 = True
1644 -1 >= 0 = False
1645 -1 >= 1 = False
1646 -1 >= 2 = False
1647 -1 >= 3 = False
1648  
1649 0 >= -3 = True
1650 0 >= -2 = True
1651 0 >= -1 = True
1652 0 >= 0 = True
1653 0 >= 1 = False
1654 0 >= 2 = False
1655 0 >= 3 = False
1656  
1657 1 >= -3 = True
1658 1 >= -2 = True
1659 1 >= -1 = True
1660 1 >= 0 = True
1661 1 >= 1 = True
1662 1 >= 2 = False
1663 1 >= 3 = False
1664  
1665 2 >= -3 = True
1666 2 >= -2 = True
1667 2 >= -1 = True
1668 2 >= 0 = True
1669 2 >= 1 = True
1670 2 >= 2 = True
1671 2 >= 3 = False
1672  
1673 3 >= -3 = True
1674 3 >= -2 = True
1675 3 >= -1 = True
1676 3 >= 0 = True
1677 3 >= 1 = True
1678 3 >= 2 = True
1679 3 >= 3 = True
1680  
1681 #
1682 -3 `compare` -3 = EQ
1683 -3 `compare` -2 = LT
1684 -3 `compare` -1 = LT
1685 -3 `compare` 0 = LT
1686 -3 `compare` 1 = LT
1687 -3 `compare` 2 = LT
1688 -3 `compare` 3 = LT
1689  
1690 -2 `compare` -3 = GT
1691 -2 `compare` -2 = EQ
1692 -2 `compare` -1 = LT
1693 -2 `compare` 0 = LT
1694 -2 `compare` 1 = LT
1695 -2 `compare` 2 = LT
1696 -2 `compare` 3 = LT
1697  
1698 -1 `compare` -3 = GT
1699 -1 `compare` -2 = GT
1700 -1 `compare` -1 = EQ
1701 -1 `compare` 0 = LT
1702 -1 `compare` 1 = LT
1703 -1 `compare` 2 = LT
1704 -1 `compare` 3 = LT
1705  
1706 0 `compare` -3 = GT
1707 0 `compare` -2 = GT
1708 0 `compare` -1 = GT
1709 0 `compare` 0 = EQ
1710 0 `compare` 1 = LT
1711 0 `compare` 2 = LT
1712 0 `compare` 3 = LT
1713  
1714 1 `compare` -3 = GT
1715 1 `compare` -2 = GT
1716 1 `compare` -1 = GT
1717 1 `compare` 0 = GT
1718 1 `compare` 1 = EQ
1719 1 `compare` 2 = LT
1720 1 `compare` 3 = LT
1721  
1722 2 `compare` -3 = GT
1723 2 `compare` -2 = GT
1724 2 `compare` -1 = GT
1725 2 `compare` 0 = GT
1726 2 `compare` 1 = GT
1727 2 `compare` 2 = EQ
1728 2 `compare` 3 = LT
1729  
1730 3 `compare` -3 = GT
1731 3 `compare` -2 = GT
1732 3 `compare` -1 = GT
1733 3 `compare` 0 = GT
1734 3 `compare` 1 = GT
1735 3 `compare` 2 = GT
1736 3 `compare` 3 = EQ
1737  
1738 #
1739 testNum
1740 -3 + -3 = -6
1741 -3 + -2 = -5
1742 -3 + -1 = -4
1743 -3 + 0 = -3
1744 -3 + 1 = -2
1745 -3 + 2 = -1
1746 -3 + 3 = 0
1747  
1748 -2 + -3 = -5
1749 -2 + -2 = -4
1750 -2 + -1 = -3
1751 -2 + 0 = -2
1752 -2 + 1 = -1
1753 -2 + 2 = 0
1754 -2 + 3 = 1
1755  
1756 -1 + -3 = -4
1757 -1 + -2 = -3
1758 -1 + -1 = -2
1759 -1 + 0 = -1
1760 -1 + 1 = 0
1761 -1 + 2 = 1
1762 -1 + 3 = 2
1763  
1764 0 + -3 = -3
1765 0 + -2 = -2
1766 0 + -1 = -1
1767 0 + 0 = 0
1768 0 + 1 = 1
1769 0 + 2 = 2
1770 0 + 3 = 3
1771  
1772 1 + -3 = -2
1773 1 + -2 = -1
1774 1 + -1 = 0
1775 1 + 0 = 1
1776 1 + 1 = 2
1777 1 + 2 = 3
1778 1 + 3 = 4
1779  
1780 2 + -3 = -1
1781 2 + -2 = 0
1782 2 + -1 = 1
1783 2 + 0 = 2
1784 2 + 1 = 3
1785 2 + 2 = 4
1786 2 + 3 = 5
1787  
1788 3 + -3 = 0
1789 3 + -2 = 1
1790 3 + -1 = 2
1791 3 + 0 = 3
1792 3 + 1 = 4
1793 3 + 2 = 5
1794 3 + 3 = 6
1795  
1796 #
1797 -3 - -3 = 0
1798 -3 - -2 = -1
1799 -3 - -1 = -2
1800 -3 - 0 = -3
1801 -3 - 1 = -4
1802 -3 - 2 = -5
1803 -3 - 3 = -6
1804  
1805 -2 - -3 = 1
1806 -2 - -2 = 0
1807 -2 - -1 = -1
1808 -2 - 0 = -2
1809 -2 - 1 = -3
1810 -2 - 2 = -4
1811 -2 - 3 = -5
1812  
1813 -1 - -3 = 2
1814 -1 - -2 = 1
1815 -1 - -1 = 0
1816 -1 - 0 = -1
1817 -1 - 1 = -2
1818 -1 - 2 = -3
1819 -1 - 3 = -4
1820  
1821 0 - -3 = 3
1822 0 - -2 = 2
1823 0 - -1 = 1
1824 0 - 0 = 0
1825 0 - 1 = -1
1826 0 - 2 = -2
1827 0 - 3 = -3
1828  
1829 1 - -3 = 4
1830 1 - -2 = 3
1831 1 - -1 = 2
1832 1 - 0 = 1
1833 1 - 1 = 0
1834 1 - 2 = -1
1835 1 - 3 = -2
1836  
1837 2 - -3 = 5
1838 2 - -2 = 4
1839 2 - -1 = 3
1840 2 - 0 = 2
1841 2 - 1 = 1
1842 2 - 2 = 0
1843 2 - 3 = -1
1844  
1845 3 - -3 = 6
1846 3 - -2 = 5
1847 3 - -1 = 4
1848 3 - 0 = 3
1849 3 - 1 = 2
1850 3 - 2 = 1
1851 3 - 3 = 0
1852  
1853 #
1854 -3 * -3 = 9
1855 -3 * -2 = 6
1856 -3 * -1 = 3
1857 -3 * 0 = 0
1858 -3 * 1 = -3
1859 -3 * 2 = -6
1860 -3 * 3 = -9
1861  
1862 -2 * -3 = 6
1863 -2 * -2 = 4
1864 -2 * -1 = 2
1865 -2 * 0 = 0
1866 -2 * 1 = -2
1867 -2 * 2 = -4
1868 -2 * 3 = -6
1869  
1870 -1 * -3 = 3
1871 -1 * -2 = 2
1872 -1 * -1 = 1
1873 -1 * 0 = 0
1874 -1 * 1 = -1
1875 -1 * 2 = -2
1876 -1 * 3 = -3
1877  
1878 0 * -3 = 0
1879 0 * -2 = 0
1880 0 * -1 = 0
1881 0 * 0 = 0
1882 0 * 1 = 0
1883 0 * 2 = 0
1884 0 * 3 = 0
1885  
1886 1 * -3 = -3
1887 1 * -2 = -2
1888 1 * -1 = -1
1889 1 * 0 = 0
1890 1 * 1 = 1
1891 1 * 2 = 2
1892 1 * 3 = 3
1893  
1894 2 * -3 = -6
1895 2 * -2 = -4
1896 2 * -1 = -2
1897 2 * 0 = 0
1898 2 * 1 = 2
1899 2 * 2 = 4
1900 2 * 3 = 6
1901  
1902 3 * -3 = -9
1903 3 * -2 = -6
1904 3 * -1 = -3
1905 3 * 0 = 0
1906 3 * 1 = 3
1907 3 * 2 = 6
1908 3 * 3 = 9
1909  
1910 #
1911 negate -3 = 3
1912 negate -2 = 2
1913 negate -1 = 1
1914 negate 0 = 0
1915 negate 1 = -1
1916 negate 2 = -2
1917 negate 3 = -3
1918 #
1919 testReal
1920 toRational -3 = -3 % 1
1921 toRational -2 = -2 % 1
1922 toRational -1 = -1 % 1
1923 toRational 0 = 0 % 1
1924 toRational 1 = 1 % 1
1925 toRational 2 = 2 % 1
1926 toRational 3 = 3 % 1
1927 #
1928 testIntegral
1929 -3 `divMod`  -3 = (1,0)
1930 -3 `divMod`  -2 = (1,-1)
1931 -3 `divMod`  -1 = (3,0)
1932 -3 `divMod`  1 = (-3,0)
1933 -3 `divMod`  2 = (-2,1)
1934 -3 `divMod`  3 = (-1,0)
1935  
1936 -2 `divMod`  -3 = (0,-2)
1937 -2 `divMod`  -2 = (1,0)
1938 -2 `divMod`  -1 = (2,0)
1939 -2 `divMod`  1 = (-2,0)
1940 -2 `divMod`  2 = (-1,0)
1941 -2 `divMod`  3 = (-1,1)
1942  
1943 -1 `divMod`  -3 = (0,-1)
1944 -1 `divMod`  -2 = (0,-1)
1945 -1 `divMod`  -1 = (1,0)
1946 -1 `divMod`  1 = (-1,0)
1947 -1 `divMod`  2 = (-1,1)
1948 -1 `divMod`  3 = (-1,2)
1949  
1950 0 `divMod`  -3 = (0,0)
1951 0 `divMod`  -2 = (0,0)
1952 0 `divMod`  -1 = (0,0)
1953 0 `divMod`  1 = (0,0)
1954 0 `divMod`  2 = (0,0)
1955 0 `divMod`  3 = (0,0)
1956  
1957 1 `divMod`  -3 = (-1,-2)
1958 1 `divMod`  -2 = (-1,-1)
1959 1 `divMod`  -1 = (-1,0)
1960 1 `divMod`  1 = (1,0)
1961 1 `divMod`  2 = (0,1)
1962 1 `divMod`  3 = (0,1)
1963  
1964 2 `divMod`  -3 = (-1,-1)
1965 2 `divMod`  -2 = (-1,0)
1966 2 `divMod`  -1 = (-2,0)
1967 2 `divMod`  1 = (2,0)
1968 2 `divMod`  2 = (1,0)
1969 2 `divMod`  3 = (0,2)
1970  
1971 3 `divMod`  -3 = (-1,0)
1972 3 `divMod`  -2 = (-2,-1)
1973 3 `divMod`  -1 = (-3,0)
1974 3 `divMod`  1 = (3,0)
1975 3 `divMod`  2 = (1,1)
1976 3 `divMod`  3 = (1,0)
1977  
1978 #
1979 -3 `div`     -3 = 1
1980 -3 `div`     -2 = 1
1981 -3 `div`     -1 = 3
1982 -3 `div`     1 = -3
1983 -3 `div`     2 = -2
1984 -3 `div`     3 = -1
1985  
1986 -2 `div`     -3 = 0
1987 -2 `div`     -2 = 1
1988 -2 `div`     -1 = 2
1989 -2 `div`     1 = -2
1990 -2 `div`     2 = -1
1991 -2 `div`     3 = -1
1992  
1993 -1 `div`     -3 = 0
1994 -1 `div`     -2 = 0
1995 -1 `div`     -1 = 1
1996 -1 `div`     1 = -1
1997 -1 `div`     2 = -1
1998 -1 `div`     3 = -1
1999  
2000 0 `div`     -3 = 0
2001 0 `div`     -2 = 0
2002 0 `div`     -1 = 0
2003 0 `div`     1 = 0
2004 0 `div`     2 = 0
2005 0 `div`     3 = 0
2006  
2007 1 `div`     -3 = -1
2008 1 `div`     -2 = -1
2009 1 `div`     -1 = -1
2010 1 `div`     1 = 1
2011 1 `div`     2 = 0
2012 1 `div`     3 = 0
2013  
2014 2 `div`     -3 = -1
2015 2 `div`     -2 = -1
2016 2 `div`     -1 = -2
2017 2 `div`     1 = 2
2018 2 `div`     2 = 1
2019 2 `div`     3 = 0
2020  
2021 3 `div`     -3 = -1
2022 3 `div`     -2 = -2
2023 3 `div`     -1 = -3
2024 3 `div`     1 = 3
2025 3 `div`     2 = 1
2026 3 `div`     3 = 1
2027  
2028 #
2029 -3 `mod`     -3 = 0
2030 -3 `mod`     -2 = -1
2031 -3 `mod`     -1 = 0
2032 -3 `mod`     1 = 0
2033 -3 `mod`     2 = 1
2034 -3 `mod`     3 = 0
2035  
2036 -2 `mod`     -3 = -2
2037 -2 `mod`     -2 = 0
2038 -2 `mod`     -1 = 0
2039 -2 `mod`     1 = 0
2040 -2 `mod`     2 = 0
2041 -2 `mod`     3 = 1
2042  
2043 -1 `mod`     -3 = -1
2044 -1 `mod`     -2 = -1
2045 -1 `mod`     -1 = 0
2046 -1 `mod`     1 = 0
2047 -1 `mod`     2 = 1
2048 -1 `mod`     3 = 2
2049  
2050 0 `mod`     -3 = 0
2051 0 `mod`     -2 = 0
2052 0 `mod`     -1 = 0
2053 0 `mod`     1 = 0
2054 0 `mod`     2 = 0
2055 0 `mod`     3 = 0
2056  
2057 1 `mod`     -3 = -2
2058 1 `mod`     -2 = -1
2059 1 `mod`     -1 = 0
2060 1 `mod`     1 = 0
2061 1 `mod`     2 = 1
2062 1 `mod`     3 = 1
2063  
2064 2 `mod`     -3 = -1
2065 2 `mod`     -2 = 0
2066 2 `mod`     -1 = 0
2067 2 `mod`     1 = 0
2068 2 `mod`     2 = 0
2069 2 `mod`     3 = 2
2070  
2071 3 `mod`     -3 = 0
2072 3 `mod`     -2 = -1
2073 3 `mod`     -1 = 0
2074 3 `mod`     1 = 0
2075 3 `mod`     2 = 1
2076 3 `mod`     3 = 0
2077  
2078 #
2079 -3 `quotRem` -3 = (1,0)
2080 -3 `quotRem` -2 = (1,-1)
2081 -3 `quotRem` -1 = (3,0)
2082 -3 `quotRem` 1 = (-3,0)
2083 -3 `quotRem` 2 = (-1,-1)
2084 -3 `quotRem` 3 = (-1,0)
2085  
2086 -2 `quotRem` -3 = (0,-2)
2087 -2 `quotRem` -2 = (1,0)
2088 -2 `quotRem` -1 = (2,0)
2089 -2 `quotRem` 1 = (-2,0)
2090 -2 `quotRem` 2 = (-1,0)
2091 -2 `quotRem` 3 = (0,-2)
2092  
2093 -1 `quotRem` -3 = (0,-1)
2094 -1 `quotRem` -2 = (0,-1)
2095 -1 `quotRem` -1 = (1,0)
2096 -1 `quotRem` 1 = (-1,0)
2097 -1 `quotRem` 2 = (0,-1)
2098 -1 `quotRem` 3 = (0,-1)
2099  
2100 0 `quotRem` -3 = (0,0)
2101 0 `quotRem` -2 = (0,0)
2102 0 `quotRem` -1 = (0,0)
2103 0 `quotRem` 1 = (0,0)
2104 0 `quotRem` 2 = (0,0)
2105 0 `quotRem` 3 = (0,0)
2106  
2107 1 `quotRem` -3 = (0,1)
2108 1 `quotRem` -2 = (0,1)
2109 1 `quotRem` -1 = (-1,0)
2110 1 `quotRem` 1 = (1,0)
2111 1 `quotRem` 2 = (0,1)
2112 1 `quotRem` 3 = (0,1)
2113  
2114 2 `quotRem` -3 = (0,2)
2115 2 `quotRem` -2 = (-1,0)
2116 2 `quotRem` -1 = (-2,0)
2117 2 `quotRem` 1 = (2,0)
2118 2 `quotRem` 2 = (1,0)
2119 2 `quotRem` 3 = (0,2)
2120  
2121 3 `quotRem` -3 = (-1,0)
2122 3 `quotRem` -2 = (-1,1)
2123 3 `quotRem` -1 = (-3,0)
2124 3 `quotRem` 1 = (3,0)
2125 3 `quotRem` 2 = (1,1)
2126 3 `quotRem` 3 = (1,0)
2127  
2128 #
2129 -3 `quot`    -3 = 1
2130 -3 `quot`    -2 = 1
2131 -3 `quot`    -1 = 3
2132 -3 `quot`    1 = -3
2133 -3 `quot`    2 = -1
2134 -3 `quot`    3 = -1
2135  
2136 -2 `quot`    -3 = 0
2137 -2 `quot`    -2 = 1
2138 -2 `quot`    -1 = 2
2139 -2 `quot`    1 = -2
2140 -2 `quot`    2 = -1
2141 -2 `quot`    3 = 0
2142  
2143 -1 `quot`    -3 = 0
2144 -1 `quot`    -2 = 0
2145 -1 `quot`    -1 = 1
2146 -1 `quot`    1 = -1
2147 -1 `quot`    2 = 0
2148 -1 `quot`    3 = 0
2149  
2150 0 `quot`    -3 = 0
2151 0 `quot`    -2 = 0
2152 0 `quot`    -1 = 0
2153 0 `quot`    1 = 0
2154 0 `quot`    2 = 0
2155 0 `quot`    3 = 0
2156  
2157 1 `quot`    -3 = 0
2158 1 `quot`    -2 = 0
2159 1 `quot`    -1 = -1
2160 1 `quot`    1 = 1
2161 1 `quot`    2 = 0
2162 1 `quot`    3 = 0
2163  
2164 2 `quot`    -3 = 0
2165 2 `quot`    -2 = -1
2166 2 `quot`    -1 = -2
2167 2 `quot`    1 = 2
2168 2 `quot`    2 = 1
2169 2 `quot`    3 = 0
2170  
2171 3 `quot`    -3 = -1
2172 3 `quot`    -2 = -1
2173 3 `quot`    -1 = -3
2174 3 `quot`    1 = 3
2175 3 `quot`    2 = 1
2176 3 `quot`    3 = 1
2177  
2178 #
2179 -3 `rem`     -3 = 0
2180 -3 `rem`     -2 = -1
2181 -3 `rem`     -1 = 0
2182 -3 `rem`     1 = 0
2183 -3 `rem`     2 = -1
2184 -3 `rem`     3 = 0
2185  
2186 -2 `rem`     -3 = -2
2187 -2 `rem`     -2 = 0
2188 -2 `rem`     -1 = 0
2189 -2 `rem`     1 = 0
2190 -2 `rem`     2 = 0
2191 -2 `rem`     3 = -2
2192  
2193 -1 `rem`     -3 = -1
2194 -1 `rem`     -2 = -1
2195 -1 `rem`     -1 = 0
2196 -1 `rem`     1 = 0
2197 -1 `rem`     2 = -1
2198 -1 `rem`     3 = -1
2199  
2200 0 `rem`     -3 = 0
2201 0 `rem`     -2 = 0
2202 0 `rem`     -1 = 0
2203 0 `rem`     1 = 0
2204 0 `rem`     2 = 0
2205 0 `rem`     3 = 0
2206  
2207 1 `rem`     -3 = 1
2208 1 `rem`     -2 = 1
2209 1 `rem`     -1 = 0
2210 1 `rem`     1 = 0
2211 1 `rem`     2 = 1
2212 1 `rem`     3 = 1
2213  
2214 2 `rem`     -3 = 2
2215 2 `rem`     -2 = 0
2216 2 `rem`     -1 = 0
2217 2 `rem`     1 = 0
2218 2 `rem`     2 = 0
2219 2 `rem`     3 = 2
2220  
2221 3 `rem`     -3 = 0
2222 3 `rem`     -2 = 1
2223 3 `rem`     -1 = 0
2224 3 `rem`     1 = 0
2225 3 `rem`     2 = 1
2226 3 `rem`     3 = 0
2227  
2228 #
2229 testBits
2230 -3 .&.   -3 = -3
2231 -3 .&.   -2 = -4
2232 -3 .&.   -1 = -3
2233 -3 .&.   1 = 1
2234 -3 .&.   2 = 0
2235 -3 .&.   3 = 1
2236  
2237 -2 .&.   -3 = -4
2238 -2 .&.   -2 = -2
2239 -2 .&.   -1 = -2
2240 -2 .&.   1 = 0
2241 -2 .&.   2 = 2
2242 -2 .&.   3 = 2
2243  
2244 -1 .&.   -3 = -3
2245 -1 .&.   -2 = -2
2246 -1 .&.   -1 = -1
2247 -1 .&.   1 = 1
2248 -1 .&.   2 = 2
2249 -1 .&.   3 = 3
2250  
2251 0 .&.   -3 = 0
2252 0 .&.   -2 = 0
2253 0 .&.   -1 = 0
2254 0 .&.   1 = 0
2255 0 .&.   2 = 0
2256 0 .&.   3 = 0
2257  
2258 1 .&.   -3 = 1
2259 1 .&.   -2 = 0
2260 1 .&.   -1 = 1
2261 1 .&.   1 = 1
2262 1 .&.   2 = 0
2263 1 .&.   3 = 1
2264  
2265 2 .&.   -3 = 0
2266 2 .&.   -2 = 2
2267 2 .&.   -1 = 2
2268 2 .&.   1 = 0
2269 2 .&.   2 = 2
2270 2 .&.   3 = 2
2271  
2272 3 .&.   -3 = 1
2273 3 .&.   -2 = 2
2274 3 .&.   -1 = 3
2275 3 .&.   1 = 1
2276 3 .&.   2 = 2
2277 3 .&.   3 = 3
2278  
2279 #
2280 -3 .|.   -3 = -3
2281 -3 .|.   -2 = -1
2282 -3 .|.   -1 = -1
2283 -3 .|.   1 = -3
2284 -3 .|.   2 = -1
2285 -3 .|.   3 = -1
2286  
2287 -2 .|.   -3 = -1
2288 -2 .|.   -2 = -2
2289 -2 .|.   -1 = -1
2290 -2 .|.   1 = -1
2291 -2 .|.   2 = -2
2292 -2 .|.   3 = -1
2293  
2294 -1 .|.   -3 = -1
2295 -1 .|.   -2 = -1
2296 -1 .|.   -1 = -1
2297 -1 .|.   1 = -1
2298 -1 .|.   2 = -1
2299 -1 .|.   3 = -1
2300  
2301 0 .|.   -3 = -3
2302 0 .|.   -2 = -2
2303 0 .|.   -1 = -1
2304 0 .|.   1 = 1
2305 0 .|.   2 = 2
2306 0 .|.   3 = 3
2307  
2308 1 .|.   -3 = -3
2309 1 .|.   -2 = -1
2310 1 .|.   -1 = -1
2311 1 .|.   1 = 1
2312 1 .|.   2 = 3
2313 1 .|.   3 = 3
2314  
2315 2 .|.   -3 = -1
2316 2 .|.   -2 = -2
2317 2 .|.   -1 = -1
2318 2 .|.   1 = 3
2319 2 .|.   2 = 2
2320 2 .|.   3 = 3
2321  
2322 3 .|.   -3 = -1
2323 3 .|.   -2 = -1
2324 3 .|.   -1 = -1
2325 3 .|.   1 = 3
2326 3 .|.   2 = 3
2327 3 .|.   3 = 3
2328  
2329 #
2330 -3 `xor` -3 = 0
2331 -3 `xor` -2 = 3
2332 -3 `xor` -1 = 2
2333 -3 `xor` 1 = -4
2334 -3 `xor` 2 = -1
2335 -3 `xor` 3 = -2
2336  
2337 -2 `xor` -3 = 3
2338 -2 `xor` -2 = 0
2339 -2 `xor` -1 = 1
2340 -2 `xor` 1 = -1
2341 -2 `xor` 2 = -4
2342 -2 `xor` 3 = -3
2343  
2344 -1 `xor` -3 = 2
2345 -1 `xor` -2 = 1
2346 -1 `xor` -1 = 0
2347 -1 `xor` 1 = -2
2348 -1 `xor` 2 = -3
2349 -1 `xor` 3 = -4
2350  
2351 0 `xor` -3 = -3
2352 0 `xor` -2 = -2
2353 0 `xor` -1 = -1
2354 0 `xor` 1 = 1
2355 0 `xor` 2 = 2
2356 0 `xor` 3 = 3
2357  
2358 1 `xor` -3 = -4
2359 1 `xor` -2 = -1
2360 1 `xor` -1 = -2
2361 1 `xor` 1 = 0
2362 1 `xor` 2 = 3
2363 1 `xor` 3 = 2
2364  
2365 2 `xor` -3 = -1
2366 2 `xor` -2 = -4
2367 2 `xor` -1 = -3
2368 2 `xor` 1 = 3
2369 2 `xor` 2 = 0
2370 2 `xor` 3 = 1
2371  
2372 3 `xor` -3 = -2
2373 3 `xor` -2 = -3
2374 3 `xor` -1 = -4
2375 3 `xor` 1 = 2
2376 3 `xor` 2 = 1
2377 3 `xor` 3 = 0
2378  
2379 #
2380 complement -3 = 2
2381 complement -2 = 1
2382 complement -1 = 0
2383 complement 0 = -1
2384 complement 1 = -2
2385 complement 2 = -3
2386 complement 3 = -4
2387 #
2388 -3 `shift` 0 = -3
2389 -3 `shift` 1 = -6
2390 -3 `shift` 2 = -12
2391 -3 `shift` 3 = -24
2392  
2393 -2 `shift` 0 = -2
2394 -2 `shift` 1 = -4
2395 -2 `shift` 2 = -8
2396 -2 `shift` 3 = -16
2397  
2398 -1 `shift` 0 = -1
2399 -1 `shift` 1 = -2
2400 -1 `shift` 2 = -4
2401 -1 `shift` 3 = -8
2402  
2403 0 `shift` 0 = 0
2404 0 `shift` 1 = 0
2405 0 `shift` 2 = 0
2406 0 `shift` 3 = 0
2407  
2408 1 `shift` 0 = 1
2409 1 `shift` 1 = 2
2410 1 `shift` 2 = 4
2411 1 `shift` 3 = 8
2412  
2413 2 `shift` 0 = 2
2414 2 `shift` 1 = 4
2415 2 `shift` 2 = 8
2416 2 `shift` 3 = 16
2417  
2418 3 `shift` 0 = 3
2419 3 `shift` 1 = 6
2420 3 `shift` 2 = 12
2421 3 `shift` 3 = 24
2422  
2423 #
2424 -3 `rotate` -3 = -24545
2425 -3 `rotate` -2 = 16447
2426 -3 `rotate` -1 = -32642
2427 -3 `rotate` 0 = -3
2428 -3 `rotate` 1 = -5
2429 -3 `rotate` 2 = -9
2430 -3 `rotate` 3 = -17
2431  
2432 -2 `rotate` -3 = -16353
2433 -2 `rotate` -2 = -32705
2434 -2 `rotate` -1 = 127
2435 -2 `rotate` 0 = -2
2436 -2 `rotate` 1 = -3
2437 -2 `rotate` 2 = -5
2438 -2 `rotate` 3 = -9
2439  
2440 -1 `rotate` -3 = -8161
2441 -1 `rotate` -2 = -16321
2442 -1 `rotate` -1 = -32641
2443 -1 `rotate` 0 = -1
2444 -1 `rotate` 1 = -1
2445 -1 `rotate` 2 = -1
2446 -1 `rotate` 3 = -1
2447  
2448 0 `rotate` -3 = 0
2449 0 `rotate` -2 = 0
2450 0 `rotate` -1 = 0
2451 0 `rotate` 0 = 0
2452 0 `rotate` 1 = 0
2453 0 `rotate` 2 = 0
2454 0 `rotate` 3 = 0
2455  
2456 1 `rotate` -3 = 8192
2457 1 `rotate` -2 = 16384
2458 1 `rotate` -1 = -32768
2459 1 `rotate` 0 = 1
2460 1 `rotate` 1 = 2
2461 1 `rotate` 2 = 4
2462 1 `rotate` 3 = 8
2463  
2464 2 `rotate` -3 = 16384
2465 2 `rotate` -2 = -32768
2466 2 `rotate` -1 = 1
2467 2 `rotate` 0 = 2
2468 2 `rotate` 1 = 4
2469 2 `rotate` 2 = 8
2470 2 `rotate` 3 = 16
2471  
2472 3 `rotate` -3 = 24576
2473 3 `rotate` -2 = -16384
2474 3 `rotate` -1 = -32767
2475 3 `rotate` 0 = 3
2476 3 `rotate` 1 = 6
2477 3 `rotate` 2 = 12
2478 3 `rotate` 3 = 24
2479  
2480 #
2481 bit 0 = 1
2482 bit 1 = 2
2483 bit 2 = 4
2484 bit 3 = 8
2485 #
2486 -3 `setBit` 0 = -3
2487 -3 `setBit` 1 = -1
2488 -3 `setBit` 2 = -3
2489 -3 `setBit` 3 = -3
2490  
2491 -2 `setBit` 0 = -1
2492 -2 `setBit` 1 = -2
2493 -2 `setBit` 2 = -2
2494 -2 `setBit` 3 = -2
2495  
2496 -1 `setBit` 0 = -1
2497 -1 `setBit` 1 = -1
2498 -1 `setBit` 2 = -1
2499 -1 `setBit` 3 = -1
2500  
2501 0 `setBit` 0 = 1
2502 0 `setBit` 1 = 2
2503 0 `setBit` 2 = 4
2504 0 `setBit` 3 = 8
2505  
2506 1 `setBit` 0 = 1
2507 1 `setBit` 1 = 3
2508 1 `setBit` 2 = 5
2509 1 `setBit` 3 = 9
2510  
2511 2 `setBit` 0 = 3
2512 2 `setBit` 1 = 2
2513 2 `setBit` 2 = 6
2514 2 `setBit` 3 = 10
2515  
2516 3 `setBit` 0 = 3
2517 3 `setBit` 1 = 3
2518 3 `setBit` 2 = 7
2519 3 `setBit` 3 = 11
2520  
2521 #
2522 -3 `clearBit` 0 = -4
2523 -3 `clearBit` 1 = -3
2524 -3 `clearBit` 2 = -7
2525 -3 `clearBit` 3 = -11
2526  
2527 -2 `clearBit` 0 = -2
2528 -2 `clearBit` 1 = -4
2529 -2 `clearBit` 2 = -6
2530 -2 `clearBit` 3 = -10
2531  
2532 -1 `clearBit` 0 = -2
2533 -1 `clearBit` 1 = -3
2534 -1 `clearBit` 2 = -5
2535 -1 `clearBit` 3 = -9
2536  
2537 0 `clearBit` 0 = 0
2538 0 `clearBit` 1 = 0
2539 0 `clearBit` 2 = 0
2540 0 `clearBit` 3 = 0
2541  
2542 1 `clearBit` 0 = 0
2543 1 `clearBit` 1 = 1
2544 1 `clearBit` 2 = 1
2545 1 `clearBit` 3 = 1
2546  
2547 2 `clearBit` 0 = 2
2548 2 `clearBit` 1 = 0
2549 2 `clearBit` 2 = 2
2550 2 `clearBit` 3 = 2
2551  
2552 3 `clearBit` 0 = 2
2553 3 `clearBit` 1 = 1
2554 3 `clearBit` 2 = 3
2555 3 `clearBit` 3 = 3
2556  
2557 #
2558 -3 `complementBit` 0 = -4
2559 -3 `complementBit` 1 = -1
2560 -3 `complementBit` 2 = -7
2561 -3 `complementBit` 3 = -11
2562  
2563 -2 `complementBit` 0 = -1
2564 -2 `complementBit` 1 = -4
2565 -2 `complementBit` 2 = -6
2566 -2 `complementBit` 3 = -10
2567  
2568 -1 `complementBit` 0 = -2
2569 -1 `complementBit` 1 = -3
2570 -1 `complementBit` 2 = -5
2571 -1 `complementBit` 3 = -9
2572  
2573 0 `complementBit` 0 = 1
2574 0 `complementBit` 1 = 2
2575 0 `complementBit` 2 = 4
2576 0 `complementBit` 3 = 8
2577  
2578 1 `complementBit` 0 = 0
2579 1 `complementBit` 1 = 3
2580 1 `complementBit` 2 = 5
2581 1 `complementBit` 3 = 9
2582  
2583 2 `complementBit` 0 = 3
2584 2 `complementBit` 1 = 0
2585 2 `complementBit` 2 = 6
2586 2 `complementBit` 3 = 10
2587  
2588 3 `complementBit` 0 = 2
2589 3 `complementBit` 1 = 1
2590 3 `complementBit` 2 = 7
2591 3 `complementBit` 3 = 11
2592  
2593 #
2594 -3 `testBit` 0 = True
2595 -3 `testBit` 1 = False
2596 -3 `testBit` 2 = True
2597 -3 `testBit` 3 = True
2598  
2599 -2 `testBit` 0 = False
2600 -2 `testBit` 1 = True
2601 -2 `testBit` 2 = True
2602 -2 `testBit` 3 = True
2603  
2604 -1 `testBit` 0 = True
2605 -1 `testBit` 1 = True
2606 -1 `testBit` 2 = True
2607 -1 `testBit` 3 = True
2608  
2609 0 `testBit` 0 = False
2610 0 `testBit` 1 = False
2611 0 `testBit` 2 = False
2612 0 `testBit` 3 = False
2613  
2614 1 `testBit` 0 = True
2615 1 `testBit` 1 = False
2616 1 `testBit` 2 = False
2617 1 `testBit` 3 = False
2618  
2619 2 `testBit` 0 = False
2620 2 `testBit` 1 = True
2621 2 `testBit` 2 = False
2622 2 `testBit` 3 = False
2623  
2624 3 `testBit` 0 = True
2625 3 `testBit` 1 = True
2626 3 `testBit` 2 = False
2627 3 `testBit` 3 = False
2628  
2629 #
2630 bitSize -3 = 16
2631 bitSize -2 = 16
2632 bitSize -1 = 16
2633 bitSize 0 = 16
2634 bitSize 1 = 16
2635 bitSize 2 = 16
2636 bitSize 3 = 16
2637 #
2638 isSigned -3 = True
2639 isSigned -2 = True
2640 isSigned -1 = True
2641 isSigned 0 = True
2642 isSigned 1 = True
2643 isSigned 2 = True
2644 isSigned 3 = True
2645 #
2646 --------------------------------
2647 --------------------------------
2648 --Testing Int32
2649 --------------------------------
2650 testBounded
2651 (2147483647,-2147483648,-2147483647)
2652 (2147483646,2147483647,-2147483648)
2653 testEnum
2654 [0,1,2,3,4,5,6,7,8,9]
2655 [0,2,4,6,8,10,12,14,16,18]
2656 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
2657 [0,2,4,6,8,10,12,14,16,18,20]
2658 testReadShow
2659 [-3,-2,-1,0,1,2,3]
2660 [-3,-2,-1,0,1,2,3]
2661 testEq
2662 -3 == -3 = True
2663 -3 == -2 = False
2664 -3 == -1 = False
2665 -3 == 0 = False
2666 -3 == 1 = False
2667 -3 == 2 = False
2668 -3 == 3 = False
2669  
2670 -2 == -3 = False
2671 -2 == -2 = True
2672 -2 == -1 = False
2673 -2 == 0 = False
2674 -2 == 1 = False
2675 -2 == 2 = False
2676 -2 == 3 = False
2677  
2678 -1 == -3 = False
2679 -1 == -2 = False
2680 -1 == -1 = True
2681 -1 == 0 = False
2682 -1 == 1 = False
2683 -1 == 2 = False
2684 -1 == 3 = False
2685  
2686 0 == -3 = False
2687 0 == -2 = False
2688 0 == -1 = False
2689 0 == 0 = True
2690 0 == 1 = False
2691 0 == 2 = False
2692 0 == 3 = False
2693  
2694 1 == -3 = False
2695 1 == -2 = False
2696 1 == -1 = False
2697 1 == 0 = False
2698 1 == 1 = True
2699 1 == 2 = False
2700 1 == 3 = False
2701  
2702 2 == -3 = False
2703 2 == -2 = False
2704 2 == -1 = False
2705 2 == 0 = False
2706 2 == 1 = False
2707 2 == 2 = True
2708 2 == 3 = False
2709  
2710 3 == -3 = False
2711 3 == -2 = False
2712 3 == -1 = False
2713 3 == 0 = False
2714 3 == 1 = False
2715 3 == 2 = False
2716 3 == 3 = True
2717  
2718 #
2719 -3 /= -3 = False
2720 -3 /= -2 = True
2721 -3 /= -1 = True
2722 -3 /= 0 = True
2723 -3 /= 1 = True
2724 -3 /= 2 = True
2725 -3 /= 3 = True
2726  
2727 -2 /= -3 = True
2728 -2 /= -2 = False
2729 -2 /= -1 = True
2730 -2 /= 0 = True
2731 -2 /= 1 = True
2732 -2 /= 2 = True
2733 -2 /= 3 = True
2734  
2735 -1 /= -3 = True
2736 -1 /= -2 = True
2737 -1 /= -1 = False
2738 -1 /= 0 = True
2739 -1 /= 1 = True
2740 -1 /= 2 = True
2741 -1 /= 3 = True
2742  
2743 0 /= -3 = True
2744 0 /= -2 = True
2745 0 /= -1 = True
2746 0 /= 0 = False
2747 0 /= 1 = True
2748 0 /= 2 = True
2749 0 /= 3 = True
2750  
2751 1 /= -3 = True
2752 1 /= -2 = True
2753 1 /= -1 = True
2754 1 /= 0 = True
2755 1 /= 1 = False
2756 1 /= 2 = True
2757 1 /= 3 = True
2758  
2759 2 /= -3 = True
2760 2 /= -2 = True
2761 2 /= -1 = True
2762 2 /= 0 = True
2763 2 /= 1 = True
2764 2 /= 2 = False
2765 2 /= 3 = True
2766  
2767 3 /= -3 = True
2768 3 /= -2 = True
2769 3 /= -1 = True
2770 3 /= 0 = True
2771 3 /= 1 = True
2772 3 /= 2 = True
2773 3 /= 3 = False
2774  
2775 #
2776 testOrd
2777 -3 <= -3 = True
2778 -3 <= -2 = True
2779 -3 <= -1 = True
2780 -3 <= 0 = True
2781 -3 <= 1 = True
2782 -3 <= 2 = True
2783 -3 <= 3 = True
2784  
2785 -2 <= -3 = False
2786 -2 <= -2 = True
2787 -2 <= -1 = True
2788 -2 <= 0 = True
2789 -2 <= 1 = True
2790 -2 <= 2 = True
2791 -2 <= 3 = True
2792  
2793 -1 <= -3 = False
2794 -1 <= -2 = False
2795 -1 <= -1 = True
2796 -1 <= 0 = True
2797 -1 <= 1 = True
2798 -1 <= 2 = True
2799 -1 <= 3 = True
2800  
2801 0 <= -3 = False
2802 0 <= -2 = False
2803 0 <= -1 = False
2804 0 <= 0 = True
2805 0 <= 1 = True
2806 0 <= 2 = True
2807 0 <= 3 = True
2808  
2809 1 <= -3 = False
2810 1 <= -2 = False
2811 1 <= -1 = False
2812 1 <= 0 = False
2813 1 <= 1 = True
2814 1 <= 2 = True
2815 1 <= 3 = True
2816  
2817 2 <= -3 = False
2818 2 <= -2 = False
2819 2 <= -1 = False
2820 2 <= 0 = False
2821 2 <= 1 = False
2822 2 <= 2 = True
2823 2 <= 3 = True
2824  
2825 3 <= -3 = False
2826 3 <= -2 = False
2827 3 <= -1 = False
2828 3 <= 0 = False
2829 3 <= 1 = False
2830 3 <= 2 = False
2831 3 <= 3 = True
2832  
2833 #
2834 -3 <  -3 = False
2835 -3 <  -2 = True
2836 -3 <  -1 = True
2837 -3 <  0 = True
2838 -3 <  1 = True
2839 -3 <  2 = True
2840 -3 <  3 = True
2841  
2842 -2 <  -3 = False
2843 -2 <  -2 = False
2844 -2 <  -1 = True
2845 -2 <  0 = True
2846 -2 <  1 = True
2847 -2 <  2 = True
2848 -2 <  3 = True
2849  
2850 -1 <  -3 = False
2851 -1 <  -2 = False
2852 -1 <  -1 = False
2853 -1 <  0 = True
2854 -1 <  1 = True
2855 -1 <  2 = True
2856 -1 <  3 = True
2857  
2858 0 <  -3 = False
2859 0 <  -2 = False
2860 0 <  -1 = False
2861 0 <  0 = False
2862 0 <  1 = True
2863 0 <  2 = True
2864 0 <  3 = True
2865  
2866 1 <  -3 = False
2867 1 <  -2 = False
2868 1 <  -1 = False
2869 1 <  0 = False
2870 1 <  1 = False
2871 1 <  2 = True
2872 1 <  3 = True
2873  
2874 2 <  -3 = False
2875 2 <  -2 = False
2876 2 <  -1 = False
2877 2 <  0 = False
2878 2 <  1 = False
2879 2 <  2 = False
2880 2 <  3 = True
2881  
2882 3 <  -3 = False
2883 3 <  -2 = False
2884 3 <  -1 = False
2885 3 <  0 = False
2886 3 <  1 = False
2887 3 <  2 = False
2888 3 <  3 = False
2889  
2890 #
2891 -3 >  -3 = False
2892 -3 >  -2 = False
2893 -3 >  -1 = False
2894 -3 >  0 = False
2895 -3 >  1 = False
2896 -3 >  2 = False
2897 -3 >  3 = False
2898  
2899 -2 >  -3 = True
2900 -2 >  -2 = False
2901 -2 >  -1 = False
2902 -2 >  0 = False
2903 -2 >  1 = False
2904 -2 >  2 = False
2905 -2 >  3 = False
2906  
2907 -1 >  -3 = True
2908 -1 >  -2 = True
2909 -1 >  -1 = False
2910 -1 >  0 = False
2911 -1 >  1 = False
2912 -1 >  2 = False
2913 -1 >  3 = False
2914  
2915 0 >  -3 = True
2916 0 >  -2 = True
2917 0 >  -1 = True
2918 0 >  0 = False
2919 0 >  1 = False
2920 0 >  2 = False
2921 0 >  3 = False
2922  
2923 1 >  -3 = True
2924 1 >  -2 = True
2925 1 >  -1 = True
2926 1 >  0 = True
2927 1 >  1 = False
2928 1 >  2 = False
2929 1 >  3 = False
2930  
2931 2 >  -3 = True
2932 2 >  -2 = True
2933 2 >  -1 = True
2934 2 >  0 = True
2935 2 >  1 = True
2936 2 >  2 = False
2937 2 >  3 = False
2938  
2939 3 >  -3 = True
2940 3 >  -2 = True
2941 3 >  -1 = True
2942 3 >  0 = True
2943 3 >  1 = True
2944 3 >  2 = True
2945 3 >  3 = False
2946  
2947 #
2948 -3 >= -3 = True
2949 -3 >= -2 = False
2950 -3 >= -1 = False
2951 -3 >= 0 = False
2952 -3 >= 1 = False
2953 -3 >= 2 = False
2954 -3 >= 3 = False
2955  
2956 -2 >= -3 = True
2957 -2 >= -2 = True
2958 -2 >= -1 = False
2959 -2 >= 0 = False
2960 -2 >= 1 = False
2961 -2 >= 2 = False
2962 -2 >= 3 = False
2963  
2964 -1 >= -3 = True
2965 -1 >= -2 = True
2966 -1 >= -1 = True
2967 -1 >= 0 = False
2968 -1 >= 1 = False
2969 -1 >= 2 = False
2970 -1 >= 3 = False
2971  
2972 0 >= -3 = True
2973 0 >= -2 = True
2974 0 >= -1 = True
2975 0 >= 0 = True
2976 0 >= 1 = False
2977 0 >= 2 = False
2978 0 >= 3 = False
2979  
2980 1 >= -3 = True
2981 1 >= -2 = True
2982 1 >= -1 = True
2983 1 >= 0 = True
2984 1 >= 1 = True
2985 1 >= 2 = False
2986 1 >= 3 = False
2987  
2988 2 >= -3 = True
2989 2 >= -2 = True
2990 2 >= -1 = True
2991 2 >= 0 = True
2992 2 >= 1 = True
2993 2 >= 2 = True
2994 2 >= 3 = False
2995  
2996 3 >= -3 = True
2997 3 >= -2 = True
2998 3 >= -1 = True
2999 3 >= 0 = True
3000 3 >= 1 = True
3001 3 >= 2 = True
3002 3 >= 3 = True
3003  
3004 #
3005 -3 `compare` -3 = EQ
3006 -3 `compare` -2 = LT
3007 -3 `compare` -1 = LT
3008 -3 `compare` 0 = LT
3009 -3 `compare` 1 = LT
3010 -3 `compare` 2 = LT
3011 -3 `compare` 3 = LT
3012  
3013 -2 `compare` -3 = GT
3014 -2 `compare` -2 = EQ
3015 -2 `compare` -1 = LT
3016 -2 `compare` 0 = LT
3017 -2 `compare` 1 = LT
3018 -2 `compare` 2 = LT
3019 -2 `compare` 3 = LT
3020  
3021 -1 `compare` -3 = GT
3022 -1 `compare` -2 = GT
3023 -1 `compare` -1 = EQ
3024 -1 `compare` 0 = LT
3025 -1 `compare` 1 = LT
3026 -1 `compare` 2 = LT
3027 -1 `compare` 3 = LT
3028  
3029 0 `compare` -3 = GT
3030 0 `compare` -2 = GT
3031 0 `compare` -1 = GT
3032 0 `compare` 0 = EQ
3033 0 `compare` 1 = LT
3034 0 `compare` 2 = LT
3035 0 `compare` 3 = LT
3036  
3037 1 `compare` -3 = GT
3038 1 `compare` -2 = GT
3039 1 `compare` -1 = GT
3040 1 `compare` 0 = GT
3041 1 `compare` 1 = EQ
3042 1 `compare` 2 = LT
3043 1 `compare` 3 = LT
3044  
3045 2 `compare` -3 = GT
3046 2 `compare` -2 = GT
3047 2 `compare` -1 = GT
3048 2 `compare` 0 = GT
3049 2 `compare` 1 = GT
3050 2 `compare` 2 = EQ
3051 2 `compare` 3 = LT
3052  
3053 3 `compare` -3 = GT
3054 3 `compare` -2 = GT
3055 3 `compare` -1 = GT
3056 3 `compare` 0 = GT
3057 3 `compare` 1 = GT
3058 3 `compare` 2 = GT
3059 3 `compare` 3 = EQ
3060  
3061 #
3062 testNum
3063 -3 + -3 = -6
3064 -3 + -2 = -5
3065 -3 + -1 = -4
3066 -3 + 0 = -3
3067 -3 + 1 = -2
3068 -3 + 2 = -1
3069 -3 + 3 = 0
3070  
3071 -2 + -3 = -5
3072 -2 + -2 = -4
3073 -2 + -1 = -3
3074 -2 + 0 = -2
3075 -2 + 1 = -1
3076 -2 + 2 = 0
3077 -2 + 3 = 1
3078  
3079 -1 + -3 = -4
3080 -1 + -2 = -3
3081 -1 + -1 = -2
3082 -1 + 0 = -1
3083 -1 + 1 = 0
3084 -1 + 2 = 1
3085 -1 + 3 = 2
3086  
3087 0 + -3 = -3
3088 0 + -2 = -2
3089 0 + -1 = -1
3090 0 + 0 = 0
3091 0 + 1 = 1
3092 0 + 2 = 2
3093 0 + 3 = 3
3094  
3095 1 + -3 = -2
3096 1 + -2 = -1
3097 1 + -1 = 0
3098 1 + 0 = 1
3099 1 + 1 = 2
3100 1 + 2 = 3
3101 1 + 3 = 4
3102  
3103 2 + -3 = -1
3104 2 + -2 = 0
3105 2 + -1 = 1
3106 2 + 0 = 2
3107 2 + 1 = 3
3108 2 + 2 = 4
3109 2 + 3 = 5
3110  
3111 3 + -3 = 0
3112 3 + -2 = 1
3113 3 + -1 = 2
3114 3 + 0 = 3
3115 3 + 1 = 4
3116 3 + 2 = 5
3117 3 + 3 = 6
3118  
3119 #
3120 -3 - -3 = 0
3121 -3 - -2 = -1
3122 -3 - -1 = -2
3123 -3 - 0 = -3
3124 -3 - 1 = -4
3125 -3 - 2 = -5
3126 -3 - 3 = -6
3127  
3128 -2 - -3 = 1
3129 -2 - -2 = 0
3130 -2 - -1 = -1
3131 -2 - 0 = -2
3132 -2 - 1 = -3
3133 -2 - 2 = -4
3134 -2 - 3 = -5
3135  
3136 -1 - -3 = 2
3137 -1 - -2 = 1
3138 -1 - -1 = 0
3139 -1 - 0 = -1
3140 -1 - 1 = -2
3141 -1 - 2 = -3
3142 -1 - 3 = -4
3143  
3144 0 - -3 = 3
3145 0 - -2 = 2
3146 0 - -1 = 1
3147 0 - 0 = 0
3148 0 - 1 = -1
3149 0 - 2 = -2
3150 0 - 3 = -3
3151  
3152 1 - -3 = 4
3153 1 - -2 = 3
3154 1 - -1 = 2
3155 1 - 0 = 1
3156 1 - 1 = 0
3157 1 - 2 = -1
3158 1 - 3 = -2
3159  
3160 2 - -3 = 5
3161 2 - -2 = 4
3162 2 - -1 = 3
3163 2 - 0 = 2
3164 2 - 1 = 1
3165 2 - 2 = 0
3166 2 - 3 = -1
3167  
3168 3 - -3 = 6
3169 3 - -2 = 5
3170 3 - -1 = 4
3171 3 - 0 = 3
3172 3 - 1 = 2
3173 3 - 2 = 1
3174 3 - 3 = 0
3175  
3176 #
3177 -3 * -3 = 9
3178 -3 * -2 = 6
3179 -3 * -1 = 3
3180 -3 * 0 = 0
3181 -3 * 1 = -3
3182 -3 * 2 = -6
3183 -3 * 3 = -9
3184  
3185 -2 * -3 = 6
3186 -2 * -2 = 4
3187 -2 * -1 = 2
3188 -2 * 0 = 0
3189 -2 * 1 = -2
3190 -2 * 2 = -4
3191 -2 * 3 = -6
3192  
3193 -1 * -3 = 3
3194 -1 * -2 = 2
3195 -1 * -1 = 1
3196 -1 * 0 = 0
3197 -1 * 1 = -1
3198 -1 * 2 = -2
3199 -1 * 3 = -3
3200  
3201 0 * -3 = 0
3202 0 * -2 = 0
3203 0 * -1 = 0
3204 0 * 0 = 0
3205 0 * 1 = 0
3206 0 * 2 = 0
3207 0 * 3 = 0
3208  
3209 1 * -3 = -3
3210 1 * -2 = -2
3211 1 * -1 = -1
3212 1 * 0 = 0
3213 1 * 1 = 1
3214 1 * 2 = 2
3215 1 * 3 = 3
3216  
3217 2 * -3 = -6
3218 2 * -2 = -4
3219 2 * -1 = -2
3220 2 * 0 = 0
3221 2 * 1 = 2
3222 2 * 2 = 4
3223 2 * 3 = 6
3224  
3225 3 * -3 = -9
3226 3 * -2 = -6
3227 3 * -1 = -3
3228 3 * 0 = 0
3229 3 * 1 = 3
3230 3 * 2 = 6
3231 3 * 3 = 9
3232  
3233 #
3234 negate -3 = 3
3235 negate -2 = 2
3236 negate -1 = 1
3237 negate 0 = 0
3238 negate 1 = -1
3239 negate 2 = -2
3240 negate 3 = -3
3241 #
3242 testReal
3243 toRational -3 = -3 % 1
3244 toRational -2 = -2 % 1
3245 toRational -1 = -1 % 1
3246 toRational 0 = 0 % 1
3247 toRational 1 = 1 % 1
3248 toRational 2 = 2 % 1
3249 toRational 3 = 3 % 1
3250 #
3251 testIntegral
3252 -3 `divMod`  -3 = (1,0)
3253 -3 `divMod`  -2 = (1,-1)
3254 -3 `divMod`  -1 = (3,0)
3255 -3 `divMod`  1 = (-3,0)
3256 -3 `divMod`  2 = (-2,1)
3257 -3 `divMod`  3 = (-1,0)
3258  
3259 -2 `divMod`  -3 = (0,-2)
3260 -2 `divMod`  -2 = (1,0)
3261 -2 `divMod`  -1 = (2,0)
3262 -2 `divMod`  1 = (-2,0)
3263 -2 `divMod`  2 = (-1,0)
3264 -2 `divMod`  3 = (-1,1)
3265  
3266 -1 `divMod`  -3 = (0,-1)
3267 -1 `divMod`  -2 = (0,-1)
3268 -1 `divMod`  -1 = (1,0)
3269 -1 `divMod`  1 = (-1,0)
3270 -1 `divMod`  2 = (-1,1)
3271 -1 `divMod`  3 = (-1,2)
3272  
3273 0 `divMod`  -3 = (0,0)
3274 0 `divMod`  -2 = (0,0)
3275 0 `divMod`  -1 = (0,0)
3276 0 `divMod`  1 = (0,0)
3277 0 `divMod`  2 = (0,0)
3278 0 `divMod`  3 = (0,0)
3279  
3280 1 `divMod`  -3 = (-1,-2)
3281 1 `divMod`  -2 = (-1,-1)
3282 1 `divMod`  -1 = (-1,0)
3283 1 `divMod`  1 = (1,0)
3284 1 `divMod`  2 = (0,1)
3285 1 `divMod`  3 = (0,1)
3286  
3287 2 `divMod`  -3 = (-1,-1)
3288 2 `divMod`  -2 = (-1,0)
3289 2 `divMod`  -1 = (-2,0)
3290 2 `divMod`  1 = (2,0)
3291 2 `divMod`  2 = (1,0)
3292 2 `divMod`  3 = (0,2)
3293  
3294 3 `divMod`  -3 = (-1,0)
3295 3 `divMod`  -2 = (-2,-1)
3296 3 `divMod`  -1 = (-3,0)
3297 3 `divMod`  1 = (3,0)
3298 3 `divMod`  2 = (1,1)
3299 3 `divMod`  3 = (1,0)
3300  
3301 #
3302 -3 `div`     -3 = 1
3303 -3 `div`     -2 = 1
3304 -3 `div`     -1 = 3
3305 -3 `div`     1 = -3
3306 -3 `div`     2 = -2
3307 -3 `div`     3 = -1
3308  
3309 -2 `div`     -3 = 0
3310 -2 `div`     -2 = 1
3311 -2 `div`     -1 = 2
3312 -2 `div`     1 = -2
3313 -2 `div`     2 = -1
3314 -2 `div`     3 = -1
3315  
3316 -1 `div`     -3 = 0
3317 -1 `div`     -2 = 0
3318 -1 `div`     -1 = 1
3319 -1 `div`     1 = -1
3320 -1 `div`     2 = -1
3321 -1 `div`     3 = -1
3322  
3323 0 `div`     -3 = 0
3324 0 `div`     -2 = 0
3325 0 `div`     -1 = 0
3326 0 `div`     1 = 0
3327 0 `div`     2 = 0
3328 0 `div`     3 = 0
3329  
3330 1 `div`     -3 = -1
3331 1 `div`     -2 = -1
3332 1 `div`     -1 = -1
3333 1 `div`     1 = 1
3334 1 `div`     2 = 0
3335 1 `div`     3 = 0
3336  
3337 2 `div`     -3 = -1
3338 2 `div`     -2 = -1
3339 2 `div`     -1 = -2
3340 2 `div`     1 = 2
3341 2 `div`     2 = 1
3342 2 `div`     3 = 0
3343  
3344 3 `div`     -3 = -1
3345 3 `div`     -2 = -2
3346 3 `div`     -1 = -3
3347 3 `div`     1 = 3
3348 3 `div`     2 = 1
3349 3 `div`     3 = 1
3350  
3351 #
3352 -3 `mod`     -3 = 0
3353 -3 `mod`     -2 = -1
3354 -3 `mod`     -1 = 0
3355 -3 `mod`     1 = 0
3356 -3 `mod`     2 = 1
3357 -3 `mod`     3 = 0
3358  
3359 -2 `mod`     -3 = -2
3360 -2 `mod`     -2 = 0
3361 -2 `mod`     -1 = 0
3362 -2 `mod`     1 = 0
3363 -2 `mod`     2 = 0
3364 -2 `mod`     3 = 1
3365  
3366 -1 `mod`     -3 = -1
3367 -1 `mod`     -2 = -1
3368 -1 `mod`     -1 = 0
3369 -1 `mod`     1 = 0
3370 -1 `mod`     2 = 1
3371 -1 `mod`     3 = 2
3372  
3373 0 `mod`     -3 = 0
3374 0 `mod`     -2 = 0
3375 0 `mod`     -1 = 0
3376 0 `mod`     1 = 0
3377 0 `mod`     2 = 0
3378 0 `mod`     3 = 0
3379  
3380 1 `mod`     -3 = -2
3381 1 `mod`     -2 = -1
3382 1 `mod`     -1 = 0
3383 1 `mod`     1 = 0
3384 1 `mod`     2 = 1
3385 1 `mod`     3 = 1
3386  
3387 2 `mod`     -3 = -1
3388 2 `mod`     -2 = 0
3389 2 `mod`     -1 = 0
3390 2 `mod`     1 = 0
3391 2 `mod`     2 = 0
3392 2 `mod`     3 = 2
3393  
3394 3 `mod`     -3 = 0
3395 3 `mod`     -2 = -1
3396 3 `mod`     -1 = 0
3397 3 `mod`     1 = 0
3398 3 `mod`     2 = 1
3399 3 `mod`     3 = 0
3400  
3401 #
3402 -3 `quotRem` -3 = (1,0)
3403 -3 `quotRem` -2 = (1,-1)
3404 -3 `quotRem` -1 = (3,0)
3405 -3 `quotRem` 1 = (-3,0)
3406 -3 `quotRem` 2 = (-1,-1)
3407 -3 `quotRem` 3 = (-1,0)
3408  
3409 -2 `quotRem` -3 = (0,-2)
3410 -2 `quotRem` -2 = (1,0)
3411 -2 `quotRem` -1 = (2,0)
3412 -2 `quotRem` 1 = (-2,0)
3413 -2 `quotRem` 2 = (-1,0)
3414 -2 `quotRem` 3 = (0,-2)
3415  
3416 -1 `quotRem` -3 = (0,-1)
3417 -1 `quotRem` -2 = (0,-1)
3418 -1 `quotRem` -1 = (1,0)
3419 -1 `quotRem` 1 = (-1,0)
3420 -1 `quotRem` 2 = (0,-1)
3421 -1 `quotRem` 3 = (0,-1)
3422  
3423 0 `quotRem` -3 = (0,0)
3424 0 `quotRem` -2 = (0,0)
3425 0 `quotRem` -1 = (0,0)
3426 0 `quotRem` 1 = (0,0)
3427 0 `quotRem` 2 = (0,0)
3428 0 `quotRem` 3 = (0,0)
3429  
3430 1 `quotRem` -3 = (0,1)
3431 1 `quotRem` -2 = (0,1)
3432 1 `quotRem` -1 = (-1,0)
3433 1 `quotRem` 1 = (1,0)
3434 1 `quotRem` 2 = (0,1)
3435 1 `quotRem` 3 = (0,1)
3436  
3437 2 `quotRem` -3 = (0,2)
3438 2 `quotRem` -2 = (-1,0)
3439 2 `quotRem` -1 = (-2,0)
3440 2 `quotRem` 1 = (2,0)
3441 2 `quotRem` 2 = (1,0)
3442 2 `quotRem` 3 = (0,2)
3443  
3444 3 `quotRem` -3 = (-1,0)
3445 3 `quotRem` -2 = (-1,1)
3446 3 `quotRem` -1 = (-3,0)
3447 3 `quotRem` 1 = (3,0)
3448 3 `quotRem` 2 = (1,1)
3449 3 `quotRem` 3 = (1,0)
3450  
3451 #
3452 -3 `quot`    -3 = 1
3453 -3 `quot`    -2 = 1
3454 -3 `quot`    -1 = 3
3455 -3 `quot`    1 = -3
3456 -3 `quot`    2 = -1
3457 -3 `quot`    3 = -1
3458  
3459 -2 `quot`    -3 = 0
3460 -2 `quot`    -2 = 1
3461 -2 `quot`    -1 = 2
3462 -2 `quot`    1 = -2
3463 -2 `quot`    2 = -1
3464 -2 `quot`    3 = 0
3465  
3466 -1 `quot`    -3 = 0
3467 -1 `quot`    -2 = 0
3468 -1 `quot`    -1 = 1
3469 -1 `quot`    1 = -1
3470 -1 `quot`    2 = 0
3471 -1 `quot`    3 = 0
3472  
3473 0 `quot`    -3 = 0
3474 0 `quot`    -2 = 0
3475 0 `quot`    -1 = 0
3476 0 `quot`    1 = 0
3477 0 `quot`    2 = 0
3478 0 `quot`    3 = 0
3479  
3480 1 `quot`    -3 = 0
3481 1 `quot`    -2 = 0
3482 1 `quot`    -1 = -1
3483 1 `quot`    1 = 1
3484 1 `quot`    2 = 0
3485 1 `quot`    3 = 0
3486  
3487 2 `quot`    -3 = 0
3488 2 `quot`    -2 = -1
3489 2 `quot`    -1 = -2
3490 2 `quot`    1 = 2
3491 2 `quot`    2 = 1
3492 2 `quot`    3 = 0
3493  
3494 3 `quot`    -3 = -1
3495 3 `quot`    -2 = -1
3496 3 `quot`    -1 = -3
3497 3 `quot`    1 = 3
3498 3 `quot`    2 = 1
3499 3 `quot`    3 = 1
3500  
3501 #
3502 -3 `rem`     -3 = 0
3503 -3 `rem`     -2 = -1
3504 -3 `rem`     -1 = 0
3505 -3 `rem`     1 = 0
3506 -3 `rem`     2 = -1
3507 -3 `rem`     3 = 0
3508  
3509 -2 `rem`     -3 = -2
3510 -2 `rem`     -2 = 0
3511 -2 `rem`     -1 = 0
3512 -2 `rem`     1 = 0
3513 -2 `rem`     2 = 0
3514 -2 `rem`     3 = -2
3515  
3516 -1 `rem`     -3 = -1
3517 -1 `rem`     -2 = -1
3518 -1 `rem`     -1 = 0
3519 -1 `rem`     1 = 0
3520 -1 `rem`     2 = -1
3521 -1 `rem`     3 = -1
3522  
3523 0 `rem`     -3 = 0
3524 0 `rem`     -2 = 0
3525 0 `rem`     -1 = 0
3526 0 `rem`     1 = 0
3527 0 `rem`     2 = 0
3528 0 `rem`     3 = 0
3529  
3530 1 `rem`     -3 = 1
3531 1 `rem`     -2 = 1
3532 1 `rem`     -1 = 0
3533 1 `rem`     1 = 0
3534 1 `rem`     2 = 1
3535 1 `rem`     3 = 1
3536  
3537 2 `rem`     -3 = 2
3538 2 `rem`     -2 = 0
3539 2 `rem`     -1 = 0
3540 2 `rem`     1 = 0
3541 2 `rem`     2 = 0
3542 2 `rem`     3 = 2
3543  
3544 3 `rem`     -3 = 0
3545 3 `rem`     -2 = 1
3546 3 `rem`     -1 = 0
3547 3 `rem`     1 = 0
3548 3 `rem`     2 = 1
3549 3 `rem`     3 = 0
3550  
3551 #
3552 testBits
3553 -3 .&.   -3 = -3
3554 -3 .&.   -2 = -4
3555 -3 .&.   -1 = -3
3556 -3 .&.   1 = 1
3557 -3 .&.   2 = 0
3558 -3 .&.   3 = 1
3559  
3560 -2 .&.   -3 = -4
3561 -2 .&.   -2 = -2
3562 -2 .&.   -1 = -2
3563 -2 .&.   1 = 0
3564 -2 .&.   2 = 2
3565 -2 .&.   3 = 2
3566  
3567 -1 .&.   -3 = -3
3568 -1 .&.   -2 = -2
3569 -1 .&.   -1 = -1
3570 -1 .&.   1 = 1
3571 -1 .&.   2 = 2
3572 -1 .&.   3 = 3
3573  
3574 0 .&.   -3 = 0
3575 0 .&.   -2 = 0
3576 0 .&.   -1 = 0
3577 0 .&.   1 = 0
3578 0 .&.   2 = 0
3579 0 .&.   3 = 0
3580  
3581 1 .&.   -3 = 1
3582 1 .&.   -2 = 0
3583 1 .&.   -1 = 1
3584 1 .&.   1 = 1
3585 1 .&.   2 = 0
3586 1 .&.   3 = 1
3587  
3588 2 .&.   -3 = 0
3589 2 .&.   -2 = 2
3590 2 .&.   -1 = 2
3591 2 .&.   1 = 0
3592 2 .&.   2 = 2
3593 2 .&.   3 = 2
3594  
3595 3 .&.   -3 = 1
3596 3 .&.   -2 = 2
3597 3 .&.   -1 = 3
3598 3 .&.   1 = 1
3599 3 .&.   2 = 2
3600 3 .&.   3 = 3
3601  
3602 #
3603 -3 .|.   -3 = -3
3604 -3 .|.   -2 = -1
3605 -3 .|.   -1 = -1
3606 -3 .|.   1 = -3
3607 -3 .|.   2 = -1
3608 -3 .|.   3 = -1
3609  
3610 -2 .|.   -3 = -1
3611 -2 .|.   -2 = -2
3612 -2 .|.   -1 = -1
3613 -2 .|.   1 = -1
3614 -2 .|.   2 = -2
3615 -2 .|.   3 = -1
3616  
3617 -1 .|.   -3 = -1
3618 -1 .|.   -2 = -1
3619 -1 .|.   -1 = -1
3620 -1 .|.   1 = -1
3621 -1 .|.   2 = -1
3622 -1 .|.   3 = -1
3623  
3624 0 .|.   -3 = -3
3625 0 .|.   -2 = -2
3626 0 .|.   -1 = -1
3627 0 .|.   1 = 1
3628 0 .|.   2 = 2
3629 0 .|.   3 = 3
3630  
3631 1 .|.   -3 = -3
3632 1 .|.   -2 = -1
3633 1 .|.   -1 = -1
3634 1 .|.   1 = 1
3635 1 .|.   2 = 3
3636 1 .|.   3 = 3
3637  
3638 2 .|.   -3 = -1
3639 2 .|.   -2 = -2
3640 2 .|.   -1 = -1
3641 2 .|.   1 = 3
3642 2 .|.   2 = 2
3643 2 .|.   3 = 3
3644  
3645 3 .|.   -3 = -1
3646 3 .|.   -2 = -1
3647 3 .|.   -1 = -1
3648 3 .|.   1 = 3
3649 3 .|.   2 = 3
3650 3 .|.   3 = 3
3651  
3652 #
3653 -3 `xor` -3 = 0
3654 -3 `xor` -2 = 3
3655 -3 `xor` -1 = 2
3656 -3 `xor` 1 = -4
3657 -3 `xor` 2 = -1
3658 -3 `xor` 3 = -2
3659  
3660 -2 `xor` -3 = 3
3661 -2 `xor` -2 = 0
3662 -2 `xor` -1 = 1
3663 -2 `xor` 1 = -1
3664 -2 `xor` 2 = -4
3665 -2 `xor` 3 = -3
3666  
3667 -1 `xor` -3 = 2
3668 -1 `xor` -2 = 1
3669 -1 `xor` -1 = 0
3670 -1 `xor` 1 = -2
3671 -1 `xor` 2 = -3
3672 -1 `xor` 3 = -4
3673  
3674 0 `xor` -3 = -3
3675 0 `xor` -2 = -2
3676 0 `xor` -1 = -1
3677 0 `xor` 1 = 1
3678 0 `xor` 2 = 2
3679 0 `xor` 3 = 3
3680  
3681 1 `xor` -3 = -4
3682 1 `xor` -2 = -1
3683 1 `xor` -1 = -2
3684 1 `xor` 1 = 0
3685 1 `xor` 2 = 3
3686 1 `xor` 3 = 2
3687  
3688 2 `xor` -3 = -1
3689 2 `xor` -2 = -4
3690 2 `xor` -1 = -3
3691 2 `xor` 1 = 3
3692 2 `xor` 2 = 0
3693 2 `xor` 3 = 1
3694  
3695 3 `xor` -3 = -2
3696 3 `xor` -2 = -3
3697 3 `xor` -1 = -4
3698 3 `xor` 1 = 2
3699 3 `xor` 2 = 1
3700 3 `xor` 3 = 0
3701  
3702 #
3703 complement -3 = 2
3704 complement -2 = 1
3705 complement -1 = 0
3706 complement 0 = -1
3707 complement 1 = -2
3708 complement 2 = -3
3709 complement 3 = -4
3710 #
3711 -3 `shift` 0 = -3
3712 -3 `shift` 1 = -6
3713 -3 `shift` 2 = -12
3714 -3 `shift` 3 = -24
3715  
3716 -2 `shift` 0 = -2
3717 -2 `shift` 1 = -4
3718 -2 `shift` 2 = -8
3719 -2 `shift` 3 = -16
3720  
3721 -1 `shift` 0 = -1
3722 -1 `shift` 1 = -2
3723 -1 `shift` 2 = -4
3724 -1 `shift` 3 = -8
3725  
3726 0 `shift` 0 = 0
3727 0 `shift` 1 = 0
3728 0 `shift` 2 = 0
3729 0 `shift` 3 = 0
3730  
3731 1 `shift` 0 = 1
3732 1 `shift` 1 = 2
3733 1 `shift` 2 = 4
3734 1 `shift` 3 = 8
3735  
3736 2 `shift` 0 = 2
3737 2 `shift` 1 = 4
3738 2 `shift` 2 = 8
3739 2 `shift` 3 = 16
3740  
3741 3 `shift` 0 = 3
3742 3 `shift` 1 = 6
3743 3 `shift` 2 = 12
3744 3 `shift` 3 = 24
3745  
3746 #
3747 -3 `rotate` -3 = -1342177281
3748 -3 `rotate` -2 = 1610612735
3749 -3 `rotate` -1 = -1073741826
3750 -3 `rotate` 0 = -3
3751 -3 `rotate` 1 = -6
3752 -3 `rotate` 2 = -11
3753 -3 `rotate` 3 = -21
3754  
3755 -2 `rotate` -3 = -805306369
3756 -2 `rotate` -2 = -1610612737
3757 -2 `rotate` -1 = 1073741823
3758 -2 `rotate` 0 = -2
3759 -2 `rotate` 1 = -4
3760 -2 `rotate` 2 = -7
3761 -2 `rotate` 3 = -13
3762  
3763 -1 `rotate` -3 = -268435457
3764 -1 `rotate` -2 = -536870913
3765 -1 `rotate` -1 = -1073741825
3766 -1 `rotate` 0 = -1
3767 -1 `rotate` 1 = -2
3768 -1 `rotate` 2 = -3
3769 -1 `rotate` 3 = -5
3770  
3771 0 `rotate` -3 = 0
3772 0 `rotate` -2 = 0
3773 0 `rotate` -1 = 0
3774 0 `rotate` 0 = 0
3775 0 `rotate` 1 = 0
3776 0 `rotate` 2 = 0
3777 0 `rotate` 3 = 0
3778  
3779 1 `rotate` -3 = 536870912
3780 1 `rotate` -2 = 1073741824
3781 1 `rotate` -1 = -2147483648
3782 1 `rotate` 0 = 1
3783 1 `rotate` 1 = 2
3784 1 `rotate` 2 = 4
3785 1 `rotate` 3 = 8
3786  
3787 2 `rotate` -3 = 1073741824
3788 2 `rotate` -2 = -2147483648
3789 2 `rotate` -1 = 1
3790 2 `rotate` 0 = 2
3791 2 `rotate` 1 = 4
3792 2 `rotate` 2 = 8
3793 2 `rotate` 3 = 16
3794  
3795 3 `rotate` -3 = 1610612736
3796 3 `rotate` -2 = -1073741824
3797 3 `rotate` -1 = -2147483647
3798 3 `rotate` 0 = 3
3799 3 `rotate` 1 = 6
3800 3 `rotate` 2 = 12
3801 3 `rotate` 3 = 24
3802  
3803 #
3804 bit 0 = 1
3805 bit 1 = 2
3806 bit 2 = 4
3807 bit 3 = 8
3808 #
3809 -3 `setBit` 0 = -3
3810 -3 `setBit` 1 = -1
3811 -3 `setBit` 2 = -3
3812 -3 `setBit` 3 = -3
3813  
3814 -2 `setBit` 0 = -1
3815 -2 `setBit` 1 = -2
3816 -2 `setBit` 2 = -2
3817 -2 `setBit` 3 = -2
3818  
3819 -1 `setBit` 0 = -1
3820 -1 `setBit` 1 = -1
3821 -1 `setBit` 2 = -1
3822 -1 `setBit` 3 = -1
3823  
3824 0 `setBit` 0 = 1
3825 0 `setBit` 1 = 2
3826 0 `setBit` 2 = 4
3827 0 `setBit` 3 = 8
3828  
3829 1 `setBit` 0 = 1
3830 1 `setBit` 1 = 3
3831 1 `setBit` 2 = 5
3832 1 `setBit` 3 = 9
3833  
3834 2 `setBit` 0 = 3
3835 2 `setBit` 1 = 2
3836 2 `setBit` 2 = 6
3837 2 `setBit` 3 = 10
3838  
3839 3 `setBit` 0 = 3
3840 3 `setBit` 1 = 3
3841 3 `setBit` 2 = 7
3842 3 `setBit` 3 = 11
3843  
3844 #
3845 -3 `clearBit` 0 = -4
3846 -3 `clearBit` 1 = -3
3847 -3 `clearBit` 2 = -7
3848 -3 `clearBit` 3 = -11
3849  
3850 -2 `clearBit` 0 = -2
3851 -2 `clearBit` 1 = -4
3852 -2 `clearBit` 2 = -6
3853 -2 `clearBit` 3 = -10
3854  
3855 -1 `clearBit` 0 = -2
3856 -1 `clearBit` 1 = -3
3857 -1 `clearBit` 2 = -5
3858 -1 `clearBit` 3 = -9
3859  
3860 0 `clearBit` 0 = 0
3861 0 `clearBit` 1 = 0
3862 0 `clearBit` 2 = 0
3863 0 `clearBit` 3 = 0
3864  
3865 1 `clearBit` 0 = 0
3866 1 `clearBit` 1 = 1
3867 1 `clearBit` 2 = 1
3868 1 `clearBit` 3 = 1
3869  
3870 2 `clearBit` 0 = 2
3871 2 `clearBit` 1 = 0
3872 2 `clearBit` 2 = 2
3873 2 `clearBit` 3 = 2
3874  
3875 3 `clearBit` 0 = 2
3876 3 `clearBit` 1 = 1
3877 3 `clearBit` 2 = 3
3878 3 `clearBit` 3 = 3
3879  
3880 #
3881 -3 `complementBit` 0 = -4
3882 -3 `complementBit` 1 = -1
3883 -3 `complementBit` 2 = -7
3884 -3 `complementBit` 3 = -11
3885  
3886 -2 `complementBit` 0 = -1
3887 -2 `complementBit` 1 = -4
3888 -2 `complementBit` 2 = -6
3889 -2 `complementBit` 3 = -10
3890  
3891 -1 `complementBit` 0 = -2
3892 -1 `complementBit` 1 = -3
3893 -1 `complementBit` 2 = -5
3894 -1 `complementBit` 3 = -9
3895  
3896 0 `complementBit` 0 = 1
3897 0 `complementBit` 1 = 2
3898 0 `complementBit` 2 = 4
3899 0 `complementBit` 3 = 8
3900  
3901 1 `complementBit` 0 = 0
3902 1 `complementBit` 1 = 3
3903 1 `complementBit` 2 = 5
3904 1 `complementBit` 3 = 9
3905  
3906 2 `complementBit` 0 = 3
3907 2 `complementBit` 1 = 0
3908 2 `complementBit` 2 = 6
3909 2 `complementBit` 3 = 10
3910  
3911 3 `complementBit` 0 = 2
3912 3 `complementBit` 1 = 1
3913 3 `complementBit` 2 = 7
3914 3 `complementBit` 3 = 11
3915  
3916 #
3917 -3 `testBit` 0 = True
3918 -3 `testBit` 1 = False
3919 -3 `testBit` 2 = True
3920 -3 `testBit` 3 = True
3921  
3922 -2 `testBit` 0 = False
3923 -2 `testBit` 1 = True
3924 -2 `testBit` 2 = True
3925 -2 `testBit` 3 = True
3926  
3927 -1 `testBit` 0 = True
3928 -1 `testBit` 1 = True
3929 -1 `testBit` 2 = True
3930 -1 `testBit` 3 = True
3931  
3932 0 `testBit` 0 = False
3933 0 `testBit` 1 = False
3934 0 `testBit` 2 = False
3935 0 `testBit` 3 = False
3936  
3937 1 `testBit` 0 = True
3938 1 `testBit` 1 = False
3939 1 `testBit` 2 = False
3940 1 `testBit` 3 = False
3941  
3942 2 `testBit` 0 = False
3943 2 `testBit` 1 = True
3944 2 `testBit` 2 = False
3945 2 `testBit` 3 = False
3946  
3947 3 `testBit` 0 = True
3948 3 `testBit` 1 = True
3949 3 `testBit` 2 = False
3950 3 `testBit` 3 = False
3951  
3952 #
3953 bitSize -3 = 32
3954 bitSize -2 = 32
3955 bitSize -1 = 32
3956 bitSize 0 = 32
3957 bitSize 1 = 32
3958 bitSize 2 = 32
3959 bitSize 3 = 32
3960 #
3961 isSigned -3 = True
3962 isSigned -2 = True
3963 isSigned -1 = True
3964 isSigned 0 = True
3965 isSigned 1 = True
3966 isSigned 2 = True
3967 isSigned 3 = True
3968 #
3969 --------------------------------
3970 --------------------------------
3971 --Testing Word8
3972 --------------------------------
3973 testBounded
3974 (255,0,1)
3975 (254,255,0)
3976 testEnum
3977 [0,1,2,3,4,5,6,7,8,9]
3978 [0,2,4,6,8,10,12,14,16,18]
3979 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
3980 [0,2,4,6,8,10,12,14,16,18,20]
3981 testReadShow
3982 [253,254,255,0,1,2,3]
3983 [253,254,255,0,1,2,3]
3984 testEq
3985 253 == 253 = True
3986 253 == 254 = False
3987 253 == 255 = False
3988 253 == 0 = False
3989 253 == 1 = False
3990 253 == 2 = False
3991 253 == 3 = False
3992  
3993 254 == 253 = False
3994 254 == 254 = True
3995 254 == 255 = False
3996 254 == 0 = False
3997 254 == 1 = False
3998 254 == 2 = False
3999 254 == 3 = False
4000  
4001 255 == 253 = False
4002 255 == 254 = False
4003 255 == 255 = True
4004 255 == 0 = False
4005 255 == 1 = False
4006 255 == 2 = False
4007 255 == 3 = False
4008  
4009 0 == 253 = False
4010 0 == 254 = False
4011 0 == 255 = False
4012 0 == 0 = True
4013 0 == 1 = False
4014 0 == 2 = False
4015 0 == 3 = False
4016  
4017 1 == 253 = False
4018 1 == 254 = False
4019 1 == 255 = False
4020 1 == 0 = False
4021 1 == 1 = True
4022 1 == 2 = False
4023 1 == 3 = False
4024  
4025 2 == 253 = False
4026 2 == 254 = False
4027 2 == 255 = False
4028 2 == 0 = False
4029 2 == 1 = False
4030 2 == 2 = True
4031 2 == 3 = False
4032  
4033 3 == 253 = False
4034 3 == 254 = False
4035 3 == 255 = False
4036 3 == 0 = False
4037 3 == 1 = False
4038 3 == 2 = False
4039 3 == 3 = True
4040  
4041 #
4042 253 /= 253 = False
4043 253 /= 254 = True
4044 253 /= 255 = True
4045 253 /= 0 = True
4046 253 /= 1 = True
4047 253 /= 2 = True
4048 253 /= 3 = True
4049  
4050 254 /= 253 = True
4051 254 /= 254 = False
4052 254 /= 255 = True
4053 254 /= 0 = True
4054 254 /= 1 = True
4055 254 /= 2 = True
4056 254 /= 3 = True
4057  
4058 255 /= 253 = True
4059 255 /= 254 = True
4060 255 /= 255 = False
4061 255 /= 0 = True
4062 255 /= 1 = True
4063 255 /= 2 = True
4064 255 /= 3 = True
4065  
4066 0 /= 253 = True
4067 0 /= 254 = True
4068 0 /= 255 = True
4069 0 /= 0 = False
4070 0 /= 1 = True
4071 0 /= 2 = True
4072 0 /= 3 = True
4073  
4074 1 /= 253 = True
4075 1 /= 254 = True
4076 1 /= 255 = True
4077 1 /= 0 = True
4078 1 /= 1 = False
4079 1 /= 2 = True
4080 1 /= 3 = True
4081  
4082 2 /= 253 = True
4083 2 /= 254 = True
4084 2 /= 255 = True
4085 2 /= 0 = True
4086 2 /= 1 = True
4087 2 /= 2 = False
4088 2 /= 3 = True
4089  
4090 3 /= 253 = True
4091 3 /= 254 = True
4092 3 /= 255 = True
4093 3 /= 0 = True
4094 3 /= 1 = True
4095 3 /= 2 = True
4096 3 /= 3 = False
4097  
4098 #
4099 testOrd
4100 253 <= 253 = True
4101 253 <= 254 = True
4102 253 <= 255 = True
4103 253 <= 0 = False
4104 253 <= 1 = False
4105 253 <= 2 = False
4106 253 <= 3 = False
4107  
4108 254 <= 253 = False
4109 254 <= 254 = True
4110 254 <= 255 = True
4111 254 <= 0 = False
4112 254 <= 1 = False
4113 254 <= 2 = False
4114 254 <= 3 = False
4115  
4116 255 <= 253 = False
4117 255 <= 254 = False
4118 255 <= 255 = True
4119 255 <= 0 = False
4120 255 <= 1 = False
4121 255 <= 2 = False
4122 255 <= 3 = False
4123  
4124 0 <= 253 = True
4125 0 <= 254 = True
4126 0 <= 255 = True
4127 0 <= 0 = True
4128 0 <= 1 = True
4129 0 <= 2 = True
4130 0 <= 3 = True
4131  
4132 1 <= 253 = True
4133 1 <= 254 = True
4134 1 <= 255 = True
4135 1 <= 0 = False
4136 1 <= 1 = True
4137 1 <= 2 = True
4138 1 <= 3 = True
4139  
4140 2 <= 253 = True
4141 2 <= 254 = True
4142 2 <= 255 = True
4143 2 <= 0 = False
4144 2 <= 1 = False
4145 2 <= 2 = True
4146 2 <= 3 = True
4147  
4148 3 <= 253 = True
4149 3 <= 254 = True
4150 3 <= 255 = True
4151 3 <= 0 = False
4152 3 <= 1 = False
4153 3 <= 2 = False
4154 3 <= 3 = True
4155  
4156 #
4157 253 <  253 = False
4158 253 <  254 = True
4159 253 <  255 = True
4160 253 <  0 = False
4161 253 <  1 = False
4162 253 <  2 = False
4163 253 <  3 = False
4164  
4165 254 <  253 = False
4166 254 <  254 = False
4167 254 <  255 = True
4168 254 <  0 = False
4169 254 <  1 = False
4170 254 <  2 = False
4171 254 <  3 = False
4172  
4173 255 <  253 = False
4174 255 <  254 = False
4175 255 <  255 = False
4176 255 <  0 = False
4177 255 <  1 = False
4178 255 <  2 = False
4179 255 <  3 = False
4180  
4181 0 <  253 = True
4182 0 <  254 = True
4183 0 <  255 = True
4184 0 <  0 = False
4185 0 <  1 = True
4186 0 <  2 = True
4187 0 <  3 = True
4188  
4189 1 <  253 = True
4190 1 <  254 = True
4191 1 <  255 = True
4192 1 <  0 = False
4193 1 <  1 = False
4194 1 <  2 = True
4195 1 <  3 = True
4196  
4197 2 <  253 = True
4198 2 <  254 = True
4199 2 <  255 = True
4200 2 <  0 = False
4201 2 <  1 = False
4202 2 <  2 = False
4203 2 <  3 = True
4204  
4205 3 <  253 = True
4206 3 <  254 = True
4207 3 <  255 = True
4208 3 <  0 = False
4209 3 <  1 = False
4210 3 <  2 = False
4211 3 <  3 = False
4212  
4213 #
4214 253 >  253 = False
4215 253 >  254 = False
4216 253 >  255 = False
4217 253 >  0 = True
4218 253 >  1 = True
4219 253 >  2 = True
4220 253 >  3 = True
4221  
4222 254 >  253 = True
4223 254 >  254 = False
4224 254 >  255 = False
4225 254 >  0 = True
4226 254 >  1 = True
4227 254 >  2 = True
4228 254 >  3 = True
4229  
4230 255 >  253 = True
4231 255 >  254 = True
4232 255 >  255 = False
4233 255 >  0 = True
4234 255 >  1 = True
4235 255 >  2 = True
4236 255 >  3 = True
4237  
4238 0 >  253 = False
4239 0 >  254 = False
4240 0 >  255 = False
4241 0 >  0 = False
4242 0 >  1 = False
4243 0 >  2 = False
4244 0 >  3 = False
4245  
4246 1 >  253 = False
4247 1 >  254 = False
4248 1 >  255 = False
4249 1 >  0 = True
4250 1 >  1 = False
4251 1 >  2 = False
4252 1 >  3 = False
4253  
4254 2 >  253 = False
4255 2 >  254 = False
4256 2 >  255 = False
4257 2 >  0 = True
4258 2 >  1 = True
4259 2 >  2 = False
4260 2 >  3 = False
4261  
4262 3 >  253 = False
4263 3 >  254 = False
4264 3 >  255 = False
4265 3 >  0 = True
4266 3 >  1 = True
4267 3 >  2 = True
4268 3 >  3 = False
4269  
4270 #
4271 253 >= 253 = True
4272 253 >= 254 = False
4273 253 >= 255 = False
4274 253 >= 0 = True
4275 253 >= 1 = True
4276 253 >= 2 = True
4277 253 >= 3 = True
4278  
4279 254 >= 253 = True
4280 254 >= 254 = True
4281 254 >= 255 = False
4282 254 >= 0 = True
4283 254 >= 1 = True
4284 254 >= 2 = True
4285 254 >= 3 = True
4286  
4287 255 >= 253 = True
4288 255 >= 254 = True
4289 255 >= 255 = True
4290 255 >= 0 = True
4291 255 >= 1 = True
4292 255 >= 2 = True
4293 255 >= 3 = True
4294  
4295 0 >= 253 = False
4296 0 >= 254 = False
4297 0 >= 255 = False
4298 0 >= 0 = True
4299 0 >= 1 = False
4300 0 >= 2 = False
4301 0 >= 3 = False
4302  
4303 1 >= 253 = False
4304 1 >= 254 = False
4305 1 >= 255 = False
4306 1 >= 0 = True
4307 1 >= 1 = True
4308 1 >= 2 = False
4309 1 >= 3 = False
4310  
4311 2 >= 253 = False
4312 2 >= 254 = False
4313 2 >= 255 = False
4314 2 >= 0 = True
4315 2 >= 1 = True
4316 2 >= 2 = True
4317 2 >= 3 = False
4318  
4319 3 >= 253 = False
4320 3 >= 254 = False
4321 3 >= 255 = False
4322 3 >= 0 = True
4323 3 >= 1 = True
4324 3 >= 2 = True
4325 3 >= 3 = True
4326  
4327 #
4328 253 `compare` 253 = EQ
4329 253 `compare` 254 = LT
4330 253 `compare` 255 = LT
4331 253 `compare` 0 = GT
4332 253 `compare` 1 = GT
4333 253 `compare` 2 = GT
4334 253 `compare` 3 = GT
4335  
4336 254 `compare` 253 = GT
4337 254 `compare` 254 = EQ
4338 254 `compare` 255 = LT
4339 254 `compare` 0 = GT
4340 254 `compare` 1 = GT
4341 254 `compare` 2 = GT
4342 254 `compare` 3 = GT
4343  
4344 255 `compare` 253 = GT
4345 255 `compare` 254 = GT
4346 255 `compare` 255 = EQ
4347 255 `compare` 0 = GT
4348 255 `compare` 1 = GT
4349 255 `compare` 2 = GT
4350 255 `compare` 3 = GT
4351  
4352 0 `compare` 253 = LT
4353 0 `compare` 254 = LT
4354 0 `compare` 255 = LT
4355 0 `compare` 0 = EQ
4356 0 `compare` 1 = LT
4357 0 `compare` 2 = LT
4358 0 `compare` 3 = LT
4359  
4360 1 `compare` 253 = LT
4361 1 `compare` 254 = LT
4362 1 `compare` 255 = LT
4363 1 `compare` 0 = GT
4364 1 `compare` 1 = EQ
4365 1 `compare` 2 = LT
4366 1 `compare` 3 = LT
4367  
4368 2 `compare` 253 = LT
4369 2 `compare` 254 = LT
4370 2 `compare` 255 = LT
4371 2 `compare` 0 = GT
4372 2 `compare` 1 = GT
4373 2 `compare` 2 = EQ
4374 2 `compare` 3 = LT
4375  
4376 3 `compare` 253 = LT
4377 3 `compare` 254 = LT
4378 3 `compare` 255 = LT
4379 3 `compare` 0 = GT
4380 3 `compare` 1 = GT
4381 3 `compare` 2 = GT
4382 3 `compare` 3 = EQ
4383  
4384 #
4385 testNum
4386 253 + 253 = 250
4387 253 + 254 = 251
4388 253 + 255 = 252
4389 253 + 0 = 253
4390 253 + 1 = 254
4391 253 + 2 = 255
4392 253 + 3 = 0
4393  
4394 254 + 253 = 251
4395 254 + 254 = 252
4396 254 + 255 = 253
4397 254 + 0 = 254
4398 254 + 1 = 255
4399 254 + 2 = 0
4400 254 + 3 = 1
4401  
4402 255 + 253 = 252
4403 255 + 254 = 253
4404 255 + 255 = 254
4405 255 + 0 = 255
4406 255 + 1 = 0
4407 255 + 2 = 1
4408 255 + 3 = 2
4409  
4410 0 + 253 = 253
4411 0 + 254 = 254
4412 0 + 255 = 255
4413 0 + 0 = 0
4414 0 + 1 = 1
4415 0 + 2 = 2
4416 0 + 3 = 3
4417  
4418 1 + 253 = 254
4419 1 + 254 = 255
4420 1 + 255 = 0
4421 1 + 0 = 1
4422 1 + 1 = 2
4423 1 + 2 = 3
4424 1 + 3 = 4
4425  
4426 2 + 253 = 255
4427 2 + 254 = 0
4428 2 + 255 = 1
4429 2 + 0 = 2
4430 2 + 1 = 3
4431 2 + 2 = 4
4432 2 + 3 = 5
4433  
4434 3 + 253 = 0
4435 3 + 254 = 1
4436 3 + 255 = 2
4437 3 + 0 = 3
4438 3 + 1 = 4
4439 3 + 2 = 5
4440 3 + 3 = 6
4441  
4442 #
4443 253 - 253 = 0
4444 253 - 254 = 255
4445 253 - 255 = 254
4446 253 - 0 = 253
4447 253 - 1 = 252
4448 253 - 2 = 251
4449 253 - 3 = 250
4450  
4451 254 - 253 = 1
4452 254 - 254 = 0
4453 254 - 255 = 255
4454 254 - 0 = 254
4455 254 - 1 = 253
4456 254 - 2 = 252
4457 254 - 3 = 251
4458  
4459 255 - 253 = 2
4460 255 - 254 = 1
4461 255 - 255 = 0
4462 255 - 0 = 255
4463 255 - 1 = 254
4464 255 - 2 = 253
4465 255 - 3 = 252
4466  
4467 0 - 253 = 3
4468 0 - 254 = 2
4469 0 - 255 = 1
4470 0 - 0 = 0
4471 0 - 1 = 255
4472 0 - 2 = 254
4473 0 - 3 = 253
4474  
4475 1 - 253 = 4
4476 1 - 254 = 3
4477 1 - 255 = 2
4478 1 - 0 = 1
4479 1 - 1 = 0
4480 1 - 2 = 255
4481 1 - 3 = 254
4482  
4483 2 - 253 = 5
4484 2 - 254 = 4
4485 2 - 255 = 3
4486 2 - 0 = 2
4487 2 - 1 = 1
4488 2 - 2 = 0
4489 2 - 3 = 255
4490  
4491 3 - 253 = 6
4492 3 - 254 = 5
4493 3 - 255 = 4
4494 3 - 0 = 3
4495 3 - 1 = 2
4496 3 - 2 = 1
4497 3 - 3 = 0
4498  
4499 #
4500 253 * 253 = 9
4501 253 * 254 = 6
4502 253 * 255 = 3
4503 253 * 0 = 0
4504 253 * 1 = 253
4505 253 * 2 = 250
4506 253 * 3 = 247
4507  
4508 254 * 253 = 6
4509 254 * 254 = 4
4510 254 * 255 = 2
4511 254 * 0 = 0
4512 254 * 1 = 254
4513 254 * 2 = 252
4514 254 * 3 = 250
4515  
4516 255 * 253 = 3
4517 255 * 254 = 2
4518 255 * 255 = 1
4519 255 * 0 = 0
4520 255 * 1 = 255
4521 255 * 2 = 254
4522 255 * 3 = 253
4523  
4524 0 * 253 = 0
4525 0 * 254 = 0
4526 0 * 255 = 0
4527 0 * 0 = 0
4528 0 * 1 = 0
4529 0 * 2 = 0
4530 0 * 3 = 0
4531  
4532 1 * 253 = 253
4533 1 * 254 = 254
4534 1 * 255 = 255
4535 1 * 0 = 0
4536 1 * 1 = 1
4537 1 * 2 = 2
4538 1 * 3 = 3
4539  
4540 2 * 253 = 250
4541 2 * 254 = 252
4542 2 * 255 = 254
4543 2 * 0 = 0
4544 2 * 1 = 2
4545 2 * 2 = 4
4546 2 * 3 = 6
4547  
4548 3 * 253 = 247
4549 3 * 254 = 250
4550 3 * 255 = 253
4551 3 * 0 = 0
4552 3 * 1 = 3
4553 3 * 2 = 6
4554 3 * 3 = 9
4555  
4556 #
4557 negate 253 = 3
4558 negate 254 = 2
4559 negate 255 = 1
4560 negate 0 = 0
4561 negate 1 = 255
4562 negate 2 = 254
4563 negate 3 = 253
4564 #
4565 testReal
4566 toRational 253 = 253 % 1
4567 toRational 254 = 254 % 1
4568 toRational 255 = 255 % 1
4569 toRational 0 = 0 % 1
4570 toRational 1 = 1 % 1
4571 toRational 2 = 2 % 1
4572 toRational 3 = 3 % 1
4573 #
4574 testIntegral
4575 253 `divMod`  253 = (1,0)
4576 253 `divMod`  254 = (0,253)
4577 253 `divMod`  255 = (0,253)
4578 253 `divMod`  1 = (253,0)
4579 253 `divMod`  2 = (126,1)
4580 253 `divMod`  3 = (84,1)
4581  
4582 254 `divMod`  253 = (1,1)
4583 254 `divMod`  254 = (1,0)
4584 254 `divMod`  255 = (0,254)
4585 254 `divMod`  1 = (254,0)
4586 254 `divMod`  2 = (127,0)
4587 254 `divMod`  3 = (84,2)
4588  
4589 255 `divMod`  253 = (1,2)
4590 255 `divMod`  254 = (1,1)
4591 255 `divMod`  255 = (1,0)
4592 255 `divMod`  1 = (255,0)
4593 255 `divMod`  2 = (127,1)
4594 255 `divMod`  3 = (85,0)
4595  
4596 0 `divMod`  253 = (0,0)
4597 0 `divMod`  254 = (0,0)
4598 0 `divMod`  255 = (0,0)
4599 0 `divMod`  1 = (0,0)
4600 0 `divMod`  2 = (0,0)
4601 0 `divMod`  3 = (0,0)
4602  
4603 1 `divMod`  253 = (0,1)
4604 1 `divMod`  254 = (0,1)
4605 1 `divMod`  255 = (0,1)
4606 1 `divMod`  1 = (1,0)
4607 1 `divMod`  2 = (0,1)
4608 1 `divMod`  3 = (0,1)
4609  
4610 2 `divMod`  253 = (0,2)
4611 2 `divMod`  254 = (0,2)
4612 2 `divMod`  255 = (0,2)
4613 2 `divMod`  1 = (2,0)
4614 2 `divMod`  2 = (1,0)
4615 2 `divMod`  3 = (0,2)
4616  
4617 3 `divMod`  253 = (0,3)
4618 3 `divMod`  254 = (0,3)
4619 3 `divMod`  255 = (0,3)
4620 3 `divMod`  1 = (3,0)
4621 3 `divMod`  2 = (1,1)
4622 3 `divMod`  3 = (1,0)
4623  
4624 #
4625 253 `div`     253 = 1
4626 253 `div`     254 = 0
4627 253 `div`     255 = 0
4628 253 `div`     1 = 253
4629 253 `div`     2 = 126
4630 253 `div`     3 = 84
4631  
4632 254 `div`     253 = 1
4633 254 `div`     254 = 1
4634 254 `div`     255 = 0
4635 254 `div`     1 = 254
4636 254 `div`     2 = 127
4637 254 `div`     3 = 84
4638  
4639 255 `div`     253 = 1
4640 255 `div`     254 = 1
4641 255 `div`     255 = 1
4642 255 `div`     1 = 255
4643 255 `div`     2 = 127
4644 255 `div`     3 = 85
4645  
4646 0 `div`     253 = 0
4647 0 `div`     254 = 0
4648 0 `div`     255 = 0
4649 0 `div`     1 = 0
4650 0 `div`     2 = 0
4651 0 `div`     3 = 0
4652  
4653 1 `div`     253 = 0
4654 1 `div`     254 = 0
4655 1 `div`     255 = 0
4656 1 `div`     1 = 1
4657 1 `div`     2 = 0
4658 1 `div`     3 = 0
4659  
4660 2 `div`     253 = 0
4661 2 `div`     254 = 0
4662 2 `div`     255 = 0
4663 2 `div`     1 = 2
4664 2 `div`     2 = 1
4665 2 `div`     3 = 0
4666  
4667 3 `div`     253 = 0
4668 3 `div`     254 = 0
4669 3 `div`     255 = 0
4670 3 `div`     1 = 3
4671 3 `div`     2 = 1
4672 3 `div`     3 = 1
4673  
4674 #
4675 253 `mod`     253 = 0
4676 253 `mod`     254 = 253
4677 253 `mod`     255 = 253
4678 253 `mod`     1 = 0
4679 253 `mod`     2 = 1
4680 253 `mod`     3 = 1
4681  
4682 254 `mod`     253 = 1
4683 254 `mod`     254 = 0
4684 254 `mod`     255 = 254
4685 254 `mod`     1 = 0
4686 254 `mod`     2 = 0
4687 254 `mod`     3 = 2
4688  
4689 255 `mod`     253 = 2
4690 255 `mod`     254 = 1
4691 255 `mod`     255 = 0
4692 255 `mod`     1 = 0
4693 255 `mod`     2 = 1
4694 255 `mod`     3 = 0
4695  
4696 0 `mod`     253 = 0
4697 0 `mod`     254 = 0
4698 0 `mod`     255 = 0
4699 0 `mod`     1 = 0
4700 0 `mod`     2 = 0
4701 0 `mod`     3 = 0
4702  
4703 1 `mod`     253 = 1
4704 1 `mod`     254 = 1
4705 1 `mod`     255 = 1
4706 1 `mod`     1 = 0
4707 1 `mod`     2 = 1
4708 1 `mod`     3 = 1
4709  
4710 2 `mod`     253 = 2
4711 2 `mod`     254 = 2
4712 2 `mod`     255 = 2
4713 2 `mod`     1 = 0
4714 2 `mod`     2 = 0
4715 2 `mod`     3 = 2
4716  
4717 3 `mod`     253 = 3
4718 3 `mod`     254 = 3
4719 3 `mod`     255 = 3
4720 3 `mod`     1 = 0
4721 3 `mod`     2 = 1
4722 3 `mod`     3 = 0
4723  
4724 #
4725 253 `quotRem` 253 = (1,0)
4726 253 `quotRem` 254 = (0,253)
4727 253 `quotRem` 255 = (0,253)
4728 253 `quotRem` 1 = (253,0)
4729 253 `quotRem` 2 = (126,1)
4730 253 `quotRem` 3 = (84,1)
4731  
4732 254 `quotRem` 253 = (1,1)
4733 254 `quotRem` 254 = (1,0)
4734 254 `quotRem` 255 = (0,254)
4735 254 `quotRem` 1 = (254,0)
4736 254 `quotRem` 2 = (127,0)
4737 254 `quotRem` 3 = (84,2)
4738  
4739 255 `quotRem` 253 = (1,2)
4740 255 `quotRem` 254 = (1,1)
4741 255 `quotRem` 255 = (1,0)
4742 255 `quotRem` 1 = (255,0)
4743 255 `quotRem` 2 = (127,1)
4744 255 `quotRem` 3 = (85,0)
4745  
4746 0 `quotRem` 253 = (0,0)
4747 0 `quotRem` 254 = (0,0)
4748 0 `quotRem` 255 = (0,0)
4749 0 `quotRem` 1 = (0,0)
4750 0 `quotRem` 2 = (0,0)
4751 0 `quotRem` 3 = (0,0)
4752  
4753 1 `quotRem` 253 = (0,1)
4754 1 `quotRem` 254 = (0,1)
4755 1 `quotRem` 255 = (0,1)
4756 1 `quotRem` 1 = (1,0)
4757 1 `quotRem` 2 = (0,1)
4758 1 `quotRem` 3 = (0,1)
4759  
4760 2 `quotRem` 253 = (0,2)
4761 2 `quotRem` 254 = (0,2)
4762 2 `quotRem` 255 = (0,2)
4763 2 `quotRem` 1 = (2,0)
4764 2 `quotRem` 2 = (1,0)
4765 2 `quotRem` 3 = (0,2)
4766  
4767 3 `quotRem` 253 = (0,3)
4768 3 `quotRem` 254 = (0,3)
4769 3 `quotRem` 255 = (0,3)
4770 3 `quotRem` 1 = (3,0)
4771 3 `quotRem` 2 = (1,1)
4772 3 `quotRem` 3 = (1,0)
4773  
4774 #
4775 253 `quot`    253 = 1
4776 253 `quot`    254 = 0
4777 253 `quot`    255 = 0
4778 253 `quot`    1 = 253
4779 253 `quot`    2 = 126
4780 253 `quot`    3 = 84
4781  
4782 254 `quot`    253 = 1
4783 254 `quot`    254 = 1
4784 254 `quot`    255 = 0
4785 254 `quot`    1 = 254
4786 254 `quot`    2 = 127
4787 254 `quot`    3 = 84
4788  
4789 255 `quot`    253 = 1
4790 255 `quot`    254 = 1
4791 255 `quot`    255 = 1
4792 255 `quot`    1 = 255
4793 255 `quot`    2 = 127
4794 255 `quot`    3 = 85
4795  
4796 0 `quot`    253 = 0
4797 0 `quot`    254 = 0
4798 0 `quot`    255 = 0
4799 0 `quot`    1 = 0
4800 0 `quot`    2 = 0
4801 0 `quot`    3 = 0
4802  
4803 1 `quot`    253 = 0
4804 1 `quot`    254 = 0
4805 1 `quot`    255 = 0
4806 1 `quot`    1 = 1
4807 1 `quot`    2 = 0
4808 1 `quot`    3 = 0
4809  
4810 2 `quot`    253 = 0
4811 2 `quot`    254 = 0
4812 2 `quot`    255 = 0
4813 2 `quot`    1 = 2
4814 2 `quot`    2 = 1
4815 2 `quot`    3 = 0
4816  
4817 3 `quot`    253 = 0
4818 3 `quot`    254 = 0
4819 3 `quot`    255 = 0
4820 3 `quot`    1 = 3
4821 3 `quot`    2 = 1
4822 3 `quot`    3 = 1
4823  
4824 #
4825 253 `rem`     253 = 0
4826 253 `rem`     254 = 253
4827 253 `rem`     255 = 253
4828 253 `rem`     1 = 0
4829 253 `rem`     2 = 1
4830 253 `rem`     3 = 1
4831  
4832 254 `rem`     253 = 1
4833 254 `rem`     254 = 0
4834 254 `rem`     255 = 254
4835 254 `rem`     1 = 0
4836 254 `rem`     2 = 0
4837 254 `rem`     3 = 2
4838  
4839 255 `rem`     253 = 2
4840 255 `rem`     254 = 1
4841 255 `rem`     255 = 0
4842 255 `rem`     1 = 0
4843 255 `rem`     2 = 1
4844 255 `rem`     3 = 0
4845  
4846 0 `rem`     253 = 0
4847 0 `rem`     254 = 0
4848 0 `rem`     255 = 0
4849 0 `rem`     1 = 0
4850 0 `rem`     2 = 0
4851 0 `rem`     3 = 0
4852  
4853 1 `rem`     253 = 1
4854 1 `rem`     254 = 1
4855 1 `rem`     255 = 1
4856 1 `rem`     1 = 0
4857 1 `rem`     2 = 1
4858 1 `rem`     3 = 1
4859  
4860 2 `rem`     253 = 2
4861 2 `rem`     254 = 2
4862 2 `rem`     255 = 2
4863 2 `rem`     1 = 0
4864 2 `rem`     2 = 0
4865 2 `rem`     3 = 2
4866  
4867 3 `rem`     253 = 3
4868 3 `rem`     254 = 3
4869 3 `rem`     255 = 3
4870 3 `rem`     1 = 0
4871 3 `rem`     2 = 1
4872 3 `rem`     3 = 0
4873  
4874 #
4875 testBits
4876 253 .&.   253 = 253
4877 253 .&.   254 = 252
4878 253 .&.   255 = 253
4879 253 .&.   1 = 1
4880 253 .&.   2 = 0
4881 253 .&.   3 = 1
4882  
4883 254 .&.   253 = 252
4884 254 .&.   254 = 254
4885 254 .&.   255 = 254
4886 254 .&.   1 = 0
4887 254 .&.   2 = 2
4888 254 .&.   3 = 2
4889  
4890 255 .&.   253 = 253
4891 255 .&.   254 = 254
4892 255 .&.   255 = 255
4893 255 .&.   1 = 1
4894 255 .&.   2 = 2
4895 255 .&.   3 = 3
4896  
4897 0 .&.   253 = 0
4898 0 .&.   254 = 0
4899 0 .&.   255 = 0
4900 0 .&.   1 = 0
4901 0 .&.   2 = 0
4902 0 .&.   3 = 0
4903  
4904 1 .&.   253 = 1
4905 1 .&.   254 = 0
4906 1 .&.   255 = 1
4907 1 .&.   1 = 1
4908 1 .&.   2 = 0
4909 1 .&.   3 = 1
4910  
4911 2 .&.   253 = 0
4912 2 .&.   254 = 2
4913 2 .&.   255 = 2
4914 2 .&.   1 = 0
4915 2 .&.   2 = 2
4916 2 .&.   3 = 2
4917  
4918 3 .&.   253 = 1
4919 3 .&.   254 = 2
4920 3 .&.   255 = 3
4921 3 .&.   1 = 1
4922 3 .&.   2 = 2
4923 3 .&.   3 = 3
4924  
4925 #
4926 253 .|.   253 = 253
4927 253 .|.   254 = 255
4928 253 .|.   255 = 255
4929 253 .|.   1 = 253
4930 253 .|.   2 = 255
4931 253 .|.   3 = 255
4932  
4933 254 .|.   253 = 255
4934 254 .|.   254 = 254
4935 254 .|.   255 = 255
4936 254 .|.   1 = 255
4937 254 .|.   2 = 254
4938 254 .|.   3 = 255
4939  
4940 255 .|.   253 = 255
4941 255 .|.   254 = 255
4942 255 .|.   255 = 255
4943 255 .|.   1 = 255
4944 255 .|.   2 = 255
4945 255 .|.   3 = 255
4946  
4947 0 .|.   253 = 253
4948 0 .|.   254 = 254
4949 0 .|.   255 = 255
4950 0 .|.   1 = 1
4951 0 .|.   2 = 2
4952 0 .|.   3 = 3
4953  
4954 1 .|.   253 = 253
4955 1 .|.   254 = 255
4956 1 .|.   255 = 255
4957 1 .|.   1 = 1
4958 1 .|.   2 = 3
4959 1 .|.   3 = 3
4960  
4961 2 .|.   253 = 255
4962 2 .|.   254 = 254
4963 2 .|.   255 = 255
4964 2 .|.   1 = 3
4965 2 .|.   2 = 2
4966 2 .|.   3 = 3
4967  
4968 3 .|.   253 = 255
4969 3 .|.   254 = 255
4970 3 .|.   255 = 255
4971 3 .|.   1 = 3
4972 3 .|.   2 = 3
4973 3 .|.   3 = 3
4974  
4975 #
4976 253 `xor` 253 = 0
4977 253 `xor` 254 = 3
4978 253 `xor` 255 = 2
4979 253 `xor` 1 = 252
4980 253 `xor` 2 = 255
4981 253 `xor` 3 = 254
4982  
4983 254 `xor` 253 = 3
4984 254 `xor` 254 = 0
4985 254 `xor` 255 = 1
4986 254 `xor` 1 = 255
4987 254 `xor` 2 = 252
4988 254 `xor` 3 = 253
4989  
4990 255 `xor` 253 = 2
4991 255 `xor` 254 = 1
4992 255 `xor` 255 = 0
4993 255 `xor` 1 = 254
4994 255 `xor` 2 = 253
4995 255 `xor` 3 = 252
4996  
4997 0 `xor` 253 = 253
4998 0 `xor` 254 = 254
4999 0 `xor` 255 = 255
5000 0 `xor` 1 = 1
5001 0 `xor` 2 = 2
5002 0 `xor` 3 = 3
5003  
5004 1 `xor` 253 = 252
5005 1 `xor` 254 = 255
5006 1 `xor` 255 = 254
5007 1 `xor` 1 = 0
5008 1 `xor` 2 = 3
5009 1 `xor` 3 = 2
5010  
5011 2 `xor` 253 = 255
5012 2 `xor` 254 = 252
5013 2 `xor` 255 = 253
5014 2 `xor` 1 = 3
5015 2 `xor` 2 = 0
5016 2 `xor` 3 = 1
5017  
5018 3 `xor` 253 = 254
5019 3 `xor` 254 = 253
5020 3 `xor` 255 = 252
5021 3 `xor` 1 = 2
5022 3 `xor` 2 = 1
5023 3 `xor` 3 = 0
5024  
5025 #
5026 complement 253 = 2
5027 complement 254 = 1
5028 complement 255 = 0
5029 complement 0 = 255
5030 complement 1 = 254
5031 complement 2 = 253
5032 complement 3 = 252
5033 #
5034 253 `shift` 0 = 253
5035 253 `shift` 1 = 250
5036 253 `shift` 2 = 244
5037 253 `shift` 3 = 232
5038  
5039 254 `shift` 0 = 254
5040 254 `shift` 1 = 252
5041 254 `shift` 2 = 248
5042 254 `shift` 3 = 240
5043  
5044 255 `shift` 0 = 255
5045 255 `shift` 1 = 254
5046 255 `shift` 2 = 252
5047 255 `shift` 3 = 248
5048  
5049 0 `shift` 0 = 0
5050 0 `shift` 1 = 0
5051 0 `shift` 2 = 0
5052 0 `shift` 3 = 0
5053  
5054 1 `shift` 0 = 1
5055 1 `shift` 1 = 2
5056 1 `shift` 2 = 4
5057 1 `shift` 3 = 8
5058  
5059 2 `shift` 0 = 2
5060 2 `shift` 1 = 4
5061 2 `shift` 2 = 8
5062 2 `shift` 3 = 16
5063  
5064 3 `shift` 0 = 3
5065 3 `shift` 1 = 6
5066 3 `shift` 2 = 12
5067 3 `shift` 3 = 24
5068  
5069 #
5070 253 `rotate` -3 = 191
5071 253 `rotate` -2 = 127
5072 253 `rotate` -1 = 254
5073 253 `rotate` 0 = 253
5074 253 `rotate` 1 = 251
5075 253 `rotate` 2 = 247
5076 253 `rotate` 3 = 239
5077  
5078 254 `rotate` -3 = 223
5079 254 `rotate` -2 = 191
5080 254 `rotate` -1 = 127
5081 254 `rotate` 0 = 254
5082 254 `rotate` 1 = 253
5083 254 `rotate` 2 = 251
5084 254 `rotate` 3 = 247
5085  
5086 255 `rotate` -3 = 255
5087 255 `rotate` -2 = 255
5088 255 `rotate` -1 = 255
5089 255 `rotate` 0 = 255
5090 255 `rotate` 1 = 255
5091 255 `rotate` 2 = 255
5092 255 `rotate` 3 = 255
5093  
5094 0 `rotate` -3 = 0
5095 0 `rotate` -2 = 0
5096 0 `rotate` -1 = 0
5097 0 `rotate` 0 = 0
5098 0 `rotate` 1 = 0
5099 0 `rotate` 2 = 0
5100 0 `rotate` 3 = 0
5101  
5102 1 `rotate` -3 = 32
5103 1 `rotate` -2 = 64
5104 1 `rotate` -1 = 128
5105 1 `rotate` 0 = 1
5106 1 `rotate` 1 = 2
5107 1 `rotate` 2 = 4
5108 1 `rotate` 3 = 8
5109  
5110 2 `rotate` -3 = 64
5111 2 `rotate` -2 = 128
5112 2 `rotate` -1 = 1
5113 2 `rotate` 0 = 2
5114 2 `rotate` 1 = 4
5115 2 `rotate` 2 = 8
5116 2 `rotate` 3 = 16
5117  
5118 3 `rotate` -3 = 96
5119 3 `rotate` -2 = 192
5120 3 `rotate` -1 = 129
5121 3 `rotate` 0 = 3
5122 3 `rotate` 1 = 6
5123 3 `rotate` 2 = 12
5124 3 `rotate` 3 = 24
5125  
5126 #
5127 bit 0 = 1
5128 bit 1 = 2
5129 bit 2 = 4
5130 bit 3 = 8
5131 #
5132 253 `setBit` 0 = 253
5133 253 `setBit` 1 = 255
5134 253 `setBit` 2 = 253
5135 253 `setBit` 3 = 253
5136  
5137 254 `setBit` 0 = 255
5138 254 `setBit` 1 = 254
5139 254 `setBit` 2 = 254
5140 254 `setBit` 3 = 254
5141  
5142 255 `setBit` 0 = 255
5143 255 `setBit` 1 = 255
5144 255 `setBit` 2 = 255
5145 255 `setBit` 3 = 255
5146  
5147 0 `setBit` 0 = 1
5148 0 `setBit` 1 = 2
5149 0 `setBit` 2 = 4
5150 0 `setBit` 3 = 8
5151  
5152 1 `setBit` 0 = 1
5153 1 `setBit` 1 = 3
5154 1 `setBit` 2 = 5
5155 1 `setBit` 3 = 9
5156  
5157 2 `setBit` 0 = 3
5158 2 `setBit` 1 = 2
5159 2 `setBit` 2 = 6
5160 2 `setBit` 3 = 10
5161  
5162 3 `setBit` 0 = 3
5163 3 `setBit` 1 = 3
5164 3 `setBit` 2 = 7
5165 3 `setBit` 3 = 11
5166  
5167 #
5168 253 `clearBit` 0 = 252
5169 253 `clearBit` 1 = 253
5170 253 `clearBit` 2 = 249
5171 253 `clearBit` 3 = 245
5172  
5173 254 `clearBit` 0 = 254
5174 254 `clearBit` 1 = 252
5175 254 `clearBit` 2 = 250
5176 254 `clearBit` 3 = 246
5177  
5178 255 `clearBit` 0 = 254
5179 255 `clearBit` 1 = 253
5180 255 `clearBit` 2 = 251
5181 255 `clearBit` 3 = 247
5182  
5183 0 `clearBit` 0 = 0
5184 0 `clearBit` 1 = 0
5185 0 `clearBit` 2 = 0
5186 0 `clearBit` 3 = 0
5187  
5188 1 `clearBit` 0 = 0
5189 1 `clearBit` 1 = 1
5190 1 `clearBit` 2 = 1
5191 1 `clearBit` 3 = 1
5192  
5193 2 `clearBit` 0 = 2
5194 2 `clearBit` 1 = 0
5195 2 `clearBit` 2 = 2
5196 2 `clearBit` 3 = 2
5197  
5198 3 `clearBit` 0 = 2
5199 3 `clearBit` 1 = 1
5200 3 `clearBit` 2 = 3
5201 3 `clearBit` 3 = 3
5202  
5203 #
5204 253 `complementBit` 0 = 252
5205 253 `complementBit` 1 = 255
5206 253 `complementBit` 2 = 249
5207 253 `complementBit` 3 = 245
5208  
5209 254 `complementBit` 0 = 255
5210 254 `complementBit` 1 = 252
5211 254 `complementBit` 2 = 250
5212 254 `complementBit` 3 = 246
5213  
5214 255 `complementBit` 0 = 254
5215 255 `complementBit` 1 = 253
5216 255 `complementBit` 2 = 251
5217 255 `complementBit` 3 = 247
5218  
5219 0 `complementBit` 0 = 1
5220 0 `complementBit` 1 = 2
5221 0 `complementBit` 2 = 4
5222 0 `complementBit` 3 = 8
5223  
5224 1 `complementBit` 0 = 0
5225 1 `complementBit` 1 = 3
5226 1 `complementBit` 2 = 5
5227 1 `complementBit` 3 = 9
5228  
5229 2 `complementBit` 0 = 3
5230 2 `complementBit` 1 = 0
5231 2 `complementBit` 2 = 6
5232 2 `complementBit` 3 = 10
5233  
5234 3 `complementBit` 0 = 2
5235 3 `complementBit` 1 = 1
5236 3 `complementBit` 2 = 7
5237 3 `complementBit` 3 = 11
5238  
5239 #
5240 253 `testBit` 0 = True
5241 253 `testBit` 1 = False
5242 253 `testBit` 2 = True
5243 253 `testBit` 3 = True
5244  
5245 254 `testBit` 0 = False
5246 254 `testBit` 1 = True
5247 254 `testBit` 2 = True
5248 254 `testBit` 3 = True
5249  
5250 255 `testBit` 0 = True
5251 255 `testBit` 1 = True
5252 255 `testBit` 2 = True
5253 255 `testBit` 3 = True
5254  
5255 0 `testBit` 0 = False
5256 0 `testBit` 1 = False
5257 0 `testBit` 2 = False
5258 0 `testBit` 3 = False
5259  
5260 1 `testBit` 0 = True
5261 1 `testBit` 1 = False
5262 1 `testBit` 2 = False
5263 1 `testBit` 3 = False
5264  
5265 2 `testBit` 0 = False
5266 2 `testBit` 1 = True
5267 2 `testBit` 2 = False
5268 2 `testBit` 3 = False
5269  
5270 3 `testBit` 0 = True
5271 3 `testBit` 1 = True
5272 3 `testBit` 2 = False
5273 3 `testBit` 3 = False
5274  
5275 #
5276 bitSize 253 = 8
5277 bitSize 254 = 8
5278 bitSize 255 = 8
5279 bitSize 0 = 8
5280 bitSize 1 = 8
5281 bitSize 2 = 8
5282 bitSize 3 = 8
5283 #
5284 isSigned 253 = False
5285 isSigned 254 = False
5286 isSigned 255 = False
5287 isSigned 0 = False
5288 isSigned 1 = False
5289 isSigned 2 = False
5290 isSigned 3 = False
5291 #
5292 --------------------------------
5293 --------------------------------
5294 --Testing Word16
5295 --------------------------------
5296 testBounded
5297 (65535,0,1)
5298 (65534,65535,0)
5299 testEnum
5300 [0,1,2,3,4,5,6,7,8,9]
5301 [0,2,4,6,8,10,12,14,16,18]
5302 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
5303 [0,2,4,6,8,10,12,14,16,18,20]
5304 testReadShow
5305 [65533,65534,65535,0,1,2,3]
5306 [65533,65534,65535,0,1,2,3]
5307 testEq
5308 65533 == 65533 = True
5309 65533 == 65534 = False
5310 65533 == 65535 = False
5311 65533 == 0 = False
5312 65533 == 1 = False
5313 65533 == 2 = False
5314 65533 == 3 = False
5315  
5316 65534 == 65533 = False
5317 65534 == 65534 = True
5318 65534 == 65535 = False
5319 65534 == 0 = False
5320 65534 == 1 = False
5321 65534 == 2 = False
5322 65534 == 3 = False
5323  
5324 65535 == 65533 = False
5325 65535 == 65534 = False
5326 65535 == 65535 = True
5327 65535 == 0 = False
5328 65535 == 1 = False
5329 65535 == 2 = False
5330 65535 == 3 = False
5331  
5332 0 == 65533 = False
5333 0 == 65534 = False
5334 0 == 65535 = False
5335 0 == 0 = True
5336 0 == 1 = False
5337 0 == 2 = False
5338 0 == 3 = False
5339  
5340 1 == 65533 = False
5341 1 == 65534 = False
5342 1 == 65535 = False
5343 1 == 0 = False
5344 1 == 1 = True
5345 1 == 2 = False
5346 1 == 3 = False
5347  
5348 2 == 65533 = False
5349 2 == 65534 = False
5350 2 == 65535 = False
5351 2 == 0 = False
5352 2 == 1 = False
5353 2 == 2 = True
5354 2 == 3 = False
5355  
5356 3 == 65533 = False
5357 3 == 65534 = False
5358 3 == 65535 = False
5359 3 == 0 = False
5360 3 == 1 = False
5361 3 == 2 = False
5362 3 == 3 = True
5363  
5364 #
5365 65533 /= 65533 = False
5366 65533 /= 65534 = True
5367 65533 /= 65535 = True
5368 65533 /= 0 = True
5369 65533 /= 1 = True
5370 65533 /= 2 = True
5371 65533 /= 3 = True
5372  
5373 65534 /= 65533 = True
5374 65534 /= 65534 = False
5375 65534 /= 65535 = True
5376 65534 /= 0 = True
5377 65534 /= 1 = True
5378 65534 /= 2 = True
5379 65534 /= 3 = True
5380  
5381 65535 /= 65533 = True
5382 65535 /= 65534 = True
5383 65535 /= 65535 = False
5384 65535 /= 0 = True
5385 65535 /= 1 = True
5386 65535 /= 2 = True
5387 65535 /= 3 = True
5388  
5389 0 /= 65533 = True
5390 0 /= 65534 = True
5391 0 /= 65535 = True
5392 0 /= 0 = False
5393 0 /= 1 = True
5394 0 /= 2 = True
5395 0 /= 3 = True
5396  
5397 1 /= 65533 = True
5398 1 /= 65534 = True
5399 1 /= 65535 = True
5400 1 /= 0 = True
5401 1 /= 1 = False
5402 1 /= 2 = True
5403 1 /= 3 = True
5404  
5405 2 /= 65533 = True
5406 2 /= 65534 = True
5407 2 /= 65535 = True
5408 2 /= 0 = True
5409 2 /= 1 = True
5410 2 /= 2 = False
5411 2 /= 3 = True
5412  
5413 3 /= 65533 = True
5414 3 /= 65534 = True
5415 3 /= 65535 = True
5416 3 /= 0 = True
5417 3 /= 1 = True
5418 3 /= 2 = True
5419 3 /= 3 = False
5420  
5421 #
5422 testOrd
5423 65533 <= 65533 = True
5424 65533 <= 65534 = True
5425 65533 <= 65535 = True
5426 65533 <= 0 = False
5427 65533 <= 1 = False
5428 65533 <= 2 = False
5429 65533 <= 3 = False
5430  
5431 65534 <= 65533 = False
5432 65534 <= 65534 = True
5433 65534 <= 65535 = True
5434 65534 <= 0 = False
5435 65534 <= 1 = False
5436 65534 <= 2 = False
5437 65534 <= 3 = False
5438  
5439 65535 <= 65533 = False
5440 65535 <= 65534 = False
5441 65535 <= 65535 = True
5442 65535 <= 0 = False
5443 65535 <= 1 = False
5444 65535 <= 2 = False
5445 65535 <= 3 = False
5446  
5447 0 <= 65533 = True
5448 0 <= 65534 = True
5449 0 <= 65535 = True
5450 0 <= 0 = True
5451 0 <= 1 = True
5452 0 <= 2 = True
5453 0 <= 3 = True
5454  
5455 1 <= 65533 = True
5456 1 <= 65534 = True
5457 1 <= 65535 = True
5458 1 <= 0 = False
5459 1 <= 1 = True
5460 1 <= 2 = True
5461 1 <= 3 = True
5462  
5463 2 <= 65533 = True
5464 2 <= 65534 = True
5465 2 <= 65535 = True
5466 2 <= 0 = False
5467 2 <= 1 = False
5468 2 <= 2 = True
5469 2 <= 3 = True
5470  
5471 3 <= 65533 = True
5472 3 <= 65534 = True
5473 3 <= 65535 = True
5474 3 <= 0 = False
5475 3 <= 1 = False
5476 3 <= 2 = False
5477 3 <= 3 = True
5478  
5479 #
5480 65533 <  65533 = False
5481 65533 <  65534 = True
5482 65533 <  65535 = True
5483 65533 <  0 = False
5484 65533 <  1 = False
5485 65533 <  2 = False
5486 65533 <  3 = False
5487  
5488 65534 <  65533 = False
5489 65534 <  65534 = False
5490 65534 <  65535 = True
5491 65534 <  0 = False
5492 65534 <  1 = False
5493 65534 <  2 = False
5494 65534 <  3 = False
5495  
5496 65535 <  65533 = False
5497 65535 <  65534 = False
5498 65535 <  65535 = False
5499 65535 <  0 = False
5500 65535 <  1 = False
5501 65535 <  2 = False
5502 65535 <  3 = False
5503  
5504 0 <  65533 = True
5505 0 <  65534 = True
5506 0 <  65535 = True
5507 0 <  0 = False
5508 0 <  1 = True
5509 0 <  2 = True
5510 0 <  3 = True
5511  
5512 1 <  65533 = True
5513 1 <  65534 = True
5514 1 <  65535 = True
5515 1 <  0 = False
5516 1 <  1 = False
5517 1 <  2 = True
5518 1 <  3 = True
5519  
5520 2 <  65533 = True
5521 2 <  65534 = True
5522 2 <  65535 = True
5523 2 <  0 = False
5524 2 <  1 = False
5525 2 <  2 = False
5526 2 <  3 = True
5527  
5528 3 <  65533 = True
5529 3 <  65534 = True
5530 3 <  65535 = True
5531 3 <  0 = False
5532 3 <  1 = False
5533 3 <  2 = False
5534 3 <  3 = False
5535  
5536 #
5537 65533 >  65533 = False
5538 65533 >  65534 = False
5539 65533 >  65535 = False
5540 65533 >  0 = True
5541 65533 >  1 = True
5542 65533 >  2 = True
5543 65533 >  3 = True
5544  
5545 65534 >  65533 = True
5546 65534 >  65534 = False
5547 65534 >  65535 = False
5548 65534 >  0 = True
5549 65534 >  1 = True
5550 65534 >  2 = True
5551 65534 >  3 = True
5552  
5553 65535 >  65533 = True
5554 65535 >  65534 = True
5555 65535 >  65535 = False
5556 65535 >  0 = True
5557 65535 >  1 = True
5558 65535 >  2 = True
5559 65535 >  3 = True
5560  
5561 0 >  65533 = False
5562 0 >  65534 = False
5563 0 >  65535 = False
5564 0 >  0 = False
5565 0 >  1 = False
5566 0 >  2 = False
5567 0 >  3 = False
5568  
5569 1 >  65533 = False
5570 1 >  65534 = False
5571 1 >  65535 = False
5572 1 >  0 = True
5573 1 >  1 = False
5574 1 >  2 = False
5575 1 >  3 = False
5576  
5577 2 >  65533 = False
5578 2 >  65534 = False
5579 2 >  65535 = False
5580 2 >  0 = True
5581 2 >  1 = True
5582 2 >  2 = False
5583 2 >  3 = False
5584  
5585 3 >  65533 = False
5586 3 >  65534 = False
5587 3 >  65535 = False
5588 3 >  0 = True
5589 3 >  1 = True
5590 3 >  2 = True
5591 3 >  3 = False
5592  
5593 #
5594 65533 >= 65533 = True
5595 65533 >= 65534 = False
5596 65533 >= 65535 = False
5597 65533 >= 0 = True
5598 65533 >= 1 = True
5599 65533 >= 2 = True
5600 65533 >= 3 = True
5601  
5602 65534 >= 65533 = True
5603 65534 >= 65534 = True
5604 65534 >= 65535 = False
5605 65534 >= 0 = True
5606 65534 >= 1 = True
5607 65534 >= 2 = True
5608 65534 >= 3 = True
5609  
5610 65535 >= 65533 = True
5611 65535 >= 65534 = True
5612 65535 >= 65535 = True
5613 65535 >= 0 = True
5614 65535 >= 1 = True
5615 65535 >= 2 = True
5616 65535 >= 3 = True
5617  
5618 0 >= 65533 = False
5619 0 >= 65534 = False
5620 0 >= 65535 = False
5621 0 >= 0 = True
5622 0 >= 1 = False
5623 0 >= 2 = False
5624 0 >= 3 = False
5625  
5626 1 >= 65533 = False
5627 1 >= 65534 = False
5628 1 >= 65535 = False
5629 1 >= 0 = True
5630 1 >= 1 = True
5631 1 >= 2 = False
5632 1 >= 3 = False
5633  
5634 2 >= 65533 = False
5635 2 >= 65534 = False
5636 2 >= 65535 = False
5637 2 >= 0 = True
5638 2 >= 1 = True
5639 2 >= 2 = True
5640 2 >= 3 = False
5641  
5642 3 >= 65533 = False
5643 3 >= 65534 = False
5644 3 >= 65535 = False
5645 3 >= 0 = True
5646 3 >= 1 = True
5647 3 >= 2 = True
5648 3 >= 3 = True
5649  
5650 #
5651 65533 `compare` 65533 = EQ
5652 65533 `compare` 65534 = LT
5653 65533 `compare` 65535 = LT
5654 65533 `compare` 0 = GT
5655 65533 `compare` 1 = GT
5656 65533 `compare` 2 = GT
5657 65533 `compare` 3 = GT
5658  
5659 65534 `compare` 65533 = GT
5660 65534 `compare` 65534 = EQ
5661 65534 `compare` 65535 = LT
5662 65534 `compare` 0 = GT
5663 65534 `compare` 1 = GT
5664 65534 `compare` 2 = GT
5665 65534 `compare` 3 = GT
5666  
5667 65535 `compare` 65533 = GT
5668 65535 `compare` 65534 = GT
5669 65535 `compare` 65535 = EQ
5670 65535 `compare` 0 = GT
5671 65535 `compare` 1 = GT
5672 65535 `compare` 2 = GT
5673 65535 `compare` 3 = GT
5674  
5675 0 `compare` 65533 = LT
5676 0 `compare` 65534 = LT
5677 0 `compare` 65535 = LT
5678 0 `compare` 0 = EQ
5679 0 `compare` 1 = LT
5680 0 `compare` 2 = LT
5681 0 `compare` 3 = LT
5682  
5683 1 `compare` 65533 = LT
5684 1 `compare` 65534 = LT
5685 1 `compare` 65535 = LT
5686 1 `compare` 0 = GT
5687 1 `compare` 1 = EQ
5688 1 `compare` 2 = LT
5689 1 `compare` 3 = LT
5690  
5691 2 `compare` 65533 = LT
5692 2 `compare` 65534 = LT
5693 2 `compare` 65535 = LT
5694 2 `compare` 0 = GT
5695 2 `compare` 1 = GT
5696 2 `compare` 2 = EQ
5697 2 `compare` 3 = LT
5698  
5699 3 `compare` 65533 = LT
5700 3 `compare` 65534 = LT
5701 3 `compare` 65535 = LT
5702 3 `compare` 0 = GT
5703 3 `compare` 1 = GT
5704 3 `compare` 2 = GT
5705 3 `compare` 3 = EQ
5706  
5707 #
5708 testNum
5709 65533 + 65533 = 65530
5710 65533 + 65534 = 65531
5711 65533 + 65535 = 65532
5712 65533 + 0 = 65533
5713 65533 + 1 = 65534
5714 65533 + 2 = 65535
5715 65533 + 3 = 0
5716  
5717 65534 + 65533 = 65531
5718 65534 + 65534 = 65532
5719 65534 + 65535 = 65533
5720 65534 + 0 = 65534
5721 65534 + 1 = 65535
5722 65534 + 2 = 0
5723 65534 + 3 = 1
5724  
5725 65535 + 65533 = 65532
5726 65535 + 65534 = 65533
5727 65535 + 65535 = 65534
5728 65535 + 0 = 65535
5729 65535 + 1 = 0
5730 65535 + 2 = 1
5731 65535 + 3 = 2
5732  
5733 0 + 65533 = 65533
5734 0 + 65534 = 65534
5735 0 + 65535 = 65535
5736 0 + 0 = 0
5737 0 + 1 = 1
5738 0 + 2 = 2
5739 0 + 3 = 3
5740  
5741 1 + 65533 = 65534
5742 1 + 65534 = 65535
5743 1 + 65535 = 0
5744 1 + 0 = 1
5745 1 + 1 = 2
5746 1 + 2 = 3
5747 1 + 3 = 4
5748  
5749 2 + 65533 = 65535
5750 2 + 65534 = 0
5751 2 + 65535 = 1
5752 2 + 0 = 2
5753 2 + 1 = 3
5754 2 + 2 = 4
5755 2 + 3 = 5
5756  
5757 3 + 65533 = 0
5758 3 + 65534 = 1
5759 3 + 65535 = 2
5760 3 + 0 = 3
5761 3 + 1 = 4
5762 3 + 2 = 5
5763 3 + 3 = 6
5764  
5765 #
5766 65533 - 65533 = 0
5767 65533 - 65534 = 65535
5768 65533 - 65535 = 65534
5769 65533 - 0 = 65533
5770 65533 - 1 = 65532
5771 65533 - 2 = 65531
5772 65533 - 3 = 65530
5773  
5774 65534 - 65533 = 1
5775 65534 - 65534 = 0
5776 65534 - 65535 = 65535
5777 65534 - 0 = 65534
5778 65534 - 1 = 65533
5779 65534 - 2 = 65532
5780 65534 - 3 = 65531
5781  
5782 65535 - 65533 = 2
5783 65535 - 65534 = 1
5784 65535 - 65535 = 0
5785 65535 - 0 = 65535
5786 65535 - 1 = 65534
5787 65535 - 2 = 65533
5788 65535 - 3 = 65532
5789  
5790 0 - 65533 = 3
5791 0 - 65534 = 2
5792 0 - 65535 = 1
5793 0 - 0 = 0
5794 0 - 1 = 65535
5795 0 - 2 = 65534
5796 0 - 3 = 65533
5797  
5798 1 - 65533 = 4
5799 1 - 65534 = 3
5800 1 - 65535 = 2
5801 1 - 0 = 1
5802 1 - 1 = 0
5803 1 - 2 = 65535
5804 1 - 3 = 65534
5805  
5806 2 - 65533 = 5
5807 2 - 65534 = 4
5808 2 - 65535 = 3
5809 2 - 0 = 2
5810 2 - 1 = 1
5811 2 - 2 = 0
5812 2 - 3 = 65535
5813  
5814 3 - 65533 = 6
5815 3 - 65534 = 5
5816 3 - 65535 = 4
5817 3 - 0 = 3
5818 3 - 1 = 2
5819 3 - 2 = 1
5820 3 - 3 = 0
5821  
5822 #
5823 65533 * 65533 = 9
5824 65533 * 65534 = 6
5825 65533 * 65535 = 3
5826 65533 * 0 = 0
5827 65533 * 1 = 65533
5828 65533 * 2 = 65530
5829 65533 * 3 = 65527
5830  
5831 65534 * 65533 = 6
5832 65534 * 65534 = 4
5833 65534 * 65535 = 2
5834 65534 * 0 = 0
5835 65534 * 1 = 65534
5836 65534 * 2 = 65532
5837 65534 * 3 = 65530
5838  
5839 65535 * 65533 = 3
5840 65535 * 65534 = 2
5841 65535 * 65535 = 1
5842 65535 * 0 = 0
5843 65535 * 1 = 65535
5844 65535 * 2 = 65534
5845 65535 * 3 = 65533
5846  
5847 0 * 65533 = 0
5848 0 * 65534 = 0
5849 0 * 65535 = 0
5850 0 * 0 = 0
5851 0 * 1 = 0
5852 0 * 2 = 0
5853 0 * 3 = 0
5854  
5855 1 * 65533 = 65533
5856 1 * 65534 = 65534
5857 1 * 65535 = 65535
5858 1 * 0 = 0
5859 1 * 1 = 1
5860 1 * 2 = 2
5861 1 * 3 = 3
5862  
5863 2 * 65533 = 65530
5864 2 * 65534 = 65532
5865 2 * 65535 = 65534
5866 2 * 0 = 0
5867 2 * 1 = 2
5868 2 * 2 = 4
5869 2 * 3 = 6
5870  
5871 3 * 65533 = 65527
5872 3 * 65534 = 65530
5873 3 * 65535 = 65533
5874 3 * 0 = 0
5875 3 * 1 = 3
5876 3 * 2 = 6
5877 3 * 3 = 9
5878  
5879 #
5880 negate 65533 = 3
5881 negate 65534 = 2
5882 negate 65535 = 1
5883 negate 0 = 0
5884 negate 1 = 65535
5885 negate 2 = 65534
5886 negate 3 = 65533
5887 #
5888 testReal
5889 toRational 65533 = 65533 % 1
5890 toRational 65534 = 65534 % 1
5891 toRational 65535 = 65535 % 1
5892 toRational 0 = 0 % 1
5893 toRational 1 = 1 % 1
5894 toRational 2 = 2 % 1
5895 toRational 3 = 3 % 1
5896 #
5897 testIntegral
5898 65533 `divMod`  65533 = (1,0)
5899 65533 `divMod`  65534 = (0,65533)
5900 65533 `divMod`  65535 = (0,65533)
5901 65533 `divMod`  1 = (65533,0)
5902 65533 `divMod`  2 = (32766,1)
5903 65533 `divMod`  3 = (21844,1)
5904  
5905 65534 `divMod`  65533 = (1,1)
5906 65534 `divMod`  65534 = (1,0)
5907 65534 `divMod`  65535 = (0,65534)
5908 65534 `divMod`  1 = (65534,0)
5909 65534 `divMod`  2 = (32767,0)
5910 65534 `divMod`  3 = (21844,2)
5911  
5912 65535 `divMod`  65533 = (1,2)
5913 65535 `divMod`  65534 = (1,1)
5914 65535 `divMod`  65535 = (1,0)
5915 65535 `divMod`  1 = (65535,0)
5916 65535 `divMod`  2 = (32767,1)
5917 65535 `divMod`  3 = (21845,0)
5918  
5919 0 `divMod`  65533 = (0,0)
5920 0 `divMod`  65534 = (0,0)
5921 0 `divMod`  65535 = (0,0)
5922 0 `divMod`  1 = (0,0)
5923 0 `divMod`  2 = (0,0)
5924 0 `divMod`  3 = (0,0)
5925  
5926 1 `divMod`  65533 = (0,1)
5927 1 `divMod`  65534 = (0,1)
5928 1 `divMod`  65535 = (0,1)
5929 1 `divMod`  1 = (1,0)
5930 1 `divMod`  2 = (0,1)
5931 1 `divMod`  3 = (0,1)
5932  
5933 2 `divMod`  65533 = (0,2)
5934 2 `divMod`  65534 = (0,2)
5935 2 `divMod`  65535 = (0,2)
5936 2 `divMod`  1 = (2,0)
5937 2 `divMod`  2 = (1,0)
5938 2 `divMod`  3 = (0,2)
5939  
5940 3 `divMod`  65533 = (0,3)
5941 3 `divMod`  65534 = (0,3)
5942 3 `divMod`  65535 = (0,3)
5943 3 `divMod`  1 = (3,0)
5944 3 `divMod`  2 = (1,1)
5945 3 `divMod`  3 = (1,0)
5946  
5947 #
5948 65533 `div`     65533 = 1
5949 65533 `div`     65534 = 0
5950 65533 `div`     65535 = 0
5951 65533 `div`     1 = 65533
5952 65533 `div`     2 = 32766
5953 65533 `div`     3 = 21844
5954  
5955 65534 `div`     65533 = 1
5956 65534 `div`     65534 = 1
5957 65534 `div`     65535 = 0
5958 65534 `div`     1 = 65534
5959 65534 `div`     2 = 32767
5960 65534 `div`     3 = 21844
5961  
5962 65535 `div`     65533 = 1
5963 65535 `div`     65534 = 1
5964 65535 `div`     65535 = 1
5965 65535 `div`     1 = 65535
5966 65535 `div`     2 = 32767
5967 65535 `div`     3 = 21845
5968  
5969 0 `div`     65533 = 0
5970 0 `div`     65534 = 0
5971 0 `div`     65535 = 0
5972 0 `div`     1 = 0
5973 0 `div`     2 = 0
5974 0 `div`     3 = 0
5975  
5976 1 `div`     65533 = 0
5977 1 `div`     65534 = 0
5978 1 `div`     65535 = 0
5979 1 `div`     1 = 1
5980 1 `div`     2 = 0
5981 1 `div`     3 = 0
5982  
5983 2 `div`     65533 = 0
5984 2 `div`     65534 = 0
5985 2 `div`     65535 = 0
5986 2 `div`     1 = 2
5987 2 `div`     2 = 1
5988 2 `div`     3 = 0
5989  
5990 3 `div`     65533 = 0
5991 3 `div`     65534 = 0
5992 3 `div`     65535 = 0
5993 3 `div`     1 = 3
5994 3 `div`     2 = 1
5995 3 `div`     3 = 1
5996  
5997 #
5998 65533 `mod`     65533 = 0
5999 65533 `mod`     65534 = 65533
6000 65533 `mod`     65535 = 65533
6001 65533 `mod`     1 = 0
6002 65533 `mod`     2 = 1
6003 65533 `mod`     3 = 1
6004  
6005 65534 `mod`     65533 = 1
6006 65534 `mod`     65534 = 0
6007 65534 `mod`     65535 = 65534
6008 65534 `mod`     1 = 0
6009 65534 `mod`     2 = 0
6010 65534 `mod`     3 = 2
6011  
6012 65535 `mod`     65533 = 2
6013 65535 `mod`     65534 = 1
6014 65535 `mod`     65535 = 0
6015 65535 `mod`     1 = 0
6016 65535 `mod`     2 = 1
6017 65535 `mod`     3 = 0
6018  
6019 0 `mod`     65533 = 0
6020 0 `mod`     65534 = 0
6021 0 `mod`     65535 = 0
6022 0 `mod`     1 = 0
6023 0 `mod`     2 = 0
6024 0 `mod`     3 = 0
6025  
6026 1 `mod`     65533 = 1
6027 1 `mod`     65534 = 1
6028 1 `mod`     65535 = 1
6029 1 `mod`     1 = 0
6030 1 `mod`     2 = 1
6031 1 `mod`     3 = 1
6032  
6033 2 `mod`     65533 = 2
6034 2 `mod`     65534 = 2
6035 2 `mod`     65535 = 2
6036 2 `mod`     1 = 0
6037 2 `mod`     2 = 0
6038 2 `mod`     3 = 2
6039  
6040 3 `mod`     65533 = 3
6041 3 `mod`     65534 = 3
6042 3 `mod`     65535 = 3
6043 3 `mod`     1 = 0
6044 3 `mod`     2 = 1
6045 3 `mod`     3 = 0
6046  
6047 #
6048 65533 `quotRem` 65533 = (1,0)
6049 65533 `quotRem` 65534 = (0,65533)
6050 65533 `quotRem` 65535 = (0,65533)
6051 65533 `quotRem` 1 = (65533,0)
6052 65533 `quotRem` 2 = (32766,1)
6053 65533 `quotRem` 3 = (21844,1)
6054  
6055 65534 `quotRem` 65533 = (1,1)
6056 65534 `quotRem` 65534 = (1,0)
6057 65534 `quotRem` 65535 = (0,65534)
6058 65534 `quotRem` 1 = (65534,0)
6059 65534 `quotRem` 2 = (32767,0)
6060 65534 `quotRem` 3 = (21844,2)
6061  
6062 65535 `quotRem` 65533 = (1,2)
6063 65535 `quotRem` 65534 = (1,1)
6064 65535 `quotRem` 65535 = (1,0)
6065 65535 `quotRem` 1 = (65535,0)
6066 65535 `quotRem` 2 = (32767,1)
6067 65535 `quotRem` 3 = (21845,0)
6068  
6069 0 `quotRem` 65533 = (0,0)
6070 0 `quotRem` 65534 = (0,0)
6071 0 `quotRem` 65535 = (0,0)
6072 0 `quotRem` 1 = (0,0)
6073 0 `quotRem` 2 = (0,0)
6074 0 `quotRem` 3 = (0,0)
6075  
6076 1 `quotRem` 65533 = (0,1)
6077 1 `quotRem` 65534 = (0,1)
6078 1 `quotRem` 65535 = (0,1)
6079 1 `quotRem` 1 = (1,0)
6080 1 `quotRem` 2 = (0,1)
6081 1 `quotRem` 3 = (0,1)
6082  
6083 2 `quotRem` 65533 = (0,2)
6084 2 `quotRem` 65534 = (0,2)
6085 2 `quotRem` 65535 = (0,2)
6086 2 `quotRem` 1 = (2,0)
6087 2 `quotRem` 2 = (1,0)
6088 2 `quotRem` 3 = (0,2)
6089  
6090 3 `quotRem` 65533 = (0,3)
6091 3 `quotRem` 65534 = (0,3)
6092 3 `quotRem` 65535 = (0,3)
6093 3 `quotRem` 1 = (3,0)
6094 3 `quotRem` 2 = (1,1)
6095 3 `quotRem` 3 = (1,0)
6096  
6097 #
6098 65533 `quot`    65533 = 1
6099 65533 `quot`    65534 = 0
6100 65533 `quot`    65535 = 0
6101 65533 `quot`    1 = 65533
6102 65533 `quot`    2 = 32766
6103 65533 `quot`    3 = 21844
6104  
6105 65534 `quot`    65533 = 1
6106 65534 `quot`    65534 = 1
6107 65534 `quot`    65535 = 0
6108 65534 `quot`    1 = 65534
6109 65534 `quot`    2 = 32767
6110 65534 `quot`    3 = 21844
6111  
6112 65535 `quot`    65533 = 1
6113 65535 `quot`    65534 = 1
6114 65535 `quot`    65535 = 1
6115 65535 `quot`    1 = 65535
6116 65535 `quot`    2 = 32767
6117 65535 `quot`    3 = 21845
6118  
6119 0 `quot`    65533 = 0
6120 0 `quot`    65534 = 0
6121 0 `quot`    65535 = 0
6122 0 `quot`    1 = 0
6123 0 `quot`    2 = 0
6124 0 `quot`    3 = 0
6125  
6126 1 `quot`    65533 = 0
6127 1 `quot`    65534 = 0
6128 1 `quot`    65535 = 0
6129 1 `quot`    1 = 1
6130 1 `quot`    2 = 0
6131 1 `quot`    3 = 0
6132  
6133 2 `quot`    65533 = 0
6134 2 `quot`    65534 = 0
6135 2 `quot`    65535 = 0
6136 2 `quot`    1 = 2
6137 2 `quot`    2 = 1
6138 2 `quot`    3 = 0
6139  
6140 3 `quot`    65533 = 0
6141 3 `quot`    65534 = 0
6142 3 `quot`    65535 = 0
6143 3 `quot`    1 = 3
6144 3 `quot`    2 = 1
6145 3 `quot`    3 = 1
6146  
6147 #
6148 65533 `rem`     65533 = 0
6149 65533 `rem`     65534 = 65533
6150 65533 `rem`     65535 = 65533
6151 65533 `rem`     1 = 0
6152 65533 `rem`     2 = 1
6153 65533 `rem`     3 = 1
6154  
6155 65534 `rem`     65533 = 1
6156 65534 `rem`     65534 = 0
6157 65534 `rem`     65535 = 65534
6158 65534 `rem`     1 = 0
6159 65534 `rem`     2 = 0
6160 65534 `rem`     3 = 2
6161  
6162 65535 `rem`     65533 = 2
6163 65535 `rem`     65534 = 1
6164 65535 `rem`     65535 = 0
6165 65535 `rem`     1 = 0
6166 65535 `rem`     2 = 1
6167 65535 `rem`     3 = 0
6168  
6169 0 `rem`     65533 = 0
6170 0 `rem`     65534 = 0
6171 0 `rem`     65535 = 0
6172 0 `rem`     1 = 0
6173 0 `rem`     2 = 0
6174 0 `rem`     3 = 0
6175  
6176 1 `rem`     65533 = 1
6177 1 `rem`     65534 = 1
6178 1 `rem`     65535 = 1
6179 1 `rem`     1 = 0
6180 1 `rem`     2 = 1
6181 1 `rem`     3 = 1
6182  
6183 2 `rem`     65533 = 2
6184 2 `rem`     65534 = 2
6185 2 `rem`     65535 = 2
6186 2 `rem`     1 = 0
6187 2 `rem`     2 = 0
6188 2 `rem`     3 = 2
6189  
6190 3 `rem`     65533 = 3
6191 3 `rem`     65534 = 3
6192 3 `rem`     65535 = 3
6193 3 `rem`     1 = 0
6194 3 `rem`     2 = 1
6195 3 `rem`     3 = 0
6196  
6197 #
6198 testBits
6199 65533 .&.   65533 = 65533
6200 65533 .&.   65534 = 65532
6201 65533 .&.   65535 = 65533
6202 65533 .&.   1 = 1
6203 65533 .&.   2 = 0
6204 65533 .&.   3 = 1
6205  
6206 65534 .&.   65533 = 65532
6207 65534 .&.   65534 = 65534
6208 65534 .&.   65535 = 65534
6209 65534 .&.   1 = 0
6210 65534 .&.   2 = 2
6211 65534 .&.   3 = 2
6212  
6213 65535 .&.   65533 = 65533
6214 65535 .&.   65534 = 65534
6215 65535 .&.   65535 = 65535
6216 65535 .&.   1 = 1
6217 65535 .&.   2 = 2
6218 65535 .&.   3 = 3
6219  
6220 0 .&.   65533 = 0
6221 0 .&.   65534 = 0
6222 0 .&.   65535 = 0
6223 0 .&.   1 = 0
6224 0 .&.   2 = 0
6225 0 .&.   3 = 0
6226  
6227 1 .&.   65533 = 1
6228 1 .&.   65534 = 0
6229 1 .&.   65535 = 1
6230 1 .&.   1 = 1
6231 1 .&.   2 = 0
6232 1 .&.   3 = 1
6233  
6234 2 .&.   65533 = 0
6235 2 .&.   65534 = 2
6236 2 .&.   65535 = 2
6237 2 .&.   1 = 0
6238 2 .&.   2 = 2
6239 2 .&.   3 = 2
6240  
6241 3 .&.   65533 = 1
6242 3 .&.   65534 = 2
6243 3 .&.   65535 = 3
6244 3 .&.   1 = 1
6245 3 .&.   2 = 2
6246 3 .&.   3 = 3
6247  
6248 #
6249 65533 .|.   65533 = 65533
6250 65533 .|.   65534 = 65535
6251 65533 .|.   65535 = 65535
6252 65533 .|.   1 = 65533
6253 65533 .|.   2 = 65535
6254 65533 .|.   3 = 65535
6255  
6256 65534 .|.   65533 = 65535
6257 65534 .|.   65534 = 65534
6258 65534 .|.   65535 = 65535
6259 65534 .|.   1 = 65535
6260 65534 .|.   2 = 65534
6261 65534 .|.   3 = 65535
6262  
6263 65535 .|.   65533 = 65535
6264 65535 .|.   65534 = 65535
6265 65535 .|.   65535 = 65535
6266 65535 .|.   1 = 65535
6267 65535 .|.   2 = 65535
6268 65535 .|.   3 = 65535
6269  
6270 0 .|.   65533 = 65533
6271 0 .|.   65534 = 65534
6272 0 .|.   65535 = 65535
6273 0 .|.   1 = 1
6274 0 .|.   2 = 2
6275 0 .|.   3 = 3
6276  
6277 1 .|.   65533 = 65533
6278 1 .|.   65534 = 65535
6279 1 .|.   65535 = 65535
6280 1 .|.   1 = 1
6281 1 .|.   2 = 3
6282 1 .|.   3 = 3
6283  
6284 2 .|.   65533 = 65535
6285 2 .|.   65534 = 65534
6286 2 .|.   65535 = 65535
6287 2 .|.   1 = 3
6288 2 .|.   2 = 2
6289 2 .|.   3 = 3
6290  
6291 3 .|.   65533 = 65535
6292 3 .|.   65534 = 65535
6293 3 .|.   65535 = 65535
6294 3 .|.   1 = 3
6295 3 .|.   2 = 3
6296 3 .|.   3 = 3
6297  
6298 #
6299 65533 `xor` 65533 = 0
6300 65533 `xor` 65534 = 3
6301 65533 `xor` 65535 = 2
6302 65533 `xor` 1 = 65532
6303 65533 `xor` 2 = 65535
6304 65533 `xor` 3 = 65534
6305  
6306 65534 `xor` 65533 = 3
6307 65534 `xor` 65534 = 0
6308 65534 `xor` 65535 = 1
6309 65534 `xor` 1 = 65535
6310 65534 `xor` 2 = 65532
6311 65534 `xor` 3 = 65533
6312  
6313 65535 `xor` 65533 = 2
6314 65535 `xor` 65534 = 1
6315 65535 `xor` 65535 = 0
6316 65535 `xor` 1 = 65534
6317 65535 `xor` 2 = 65533
6318 65535 `xor` 3 = 65532
6319  
6320 0 `xor` 65533 = 65533
6321 0 `xor` 65534 = 65534
6322 0 `xor` 65535 = 65535
6323 0 `xor` 1 = 1
6324 0 `xor` 2 = 2
6325 0 `xor` 3 = 3
6326  
6327 1 `xor` 65533 = 65532
6328 1 `xor` 65534 = 65535
6329 1 `xor` 65535 = 65534
6330 1 `xor` 1 = 0
6331 1 `xor` 2 = 3
6332 1 `xor` 3 = 2
6333  
6334 2 `xor` 65533 = 65535
6335 2 `xor` 65534 = 65532
6336 2 `xor` 65535 = 65533
6337 2 `xor` 1 = 3
6338 2 `xor` 2 = 0
6339 2 `xor` 3 = 1
6340  
6341 3 `xor` 65533 = 65534
6342 3 `xor` 65534 = 65533
6343 3 `xor` 65535 = 65532
6344 3 `xor` 1 = 2
6345 3 `xor` 2 = 1
6346 3 `xor` 3 = 0
6347  
6348 #
6349 complement 65533 = 2
6350 complement 65534 = 1
6351 complement 65535 = 0
6352 complement 0 = 65535
6353 complement 1 = 65534
6354 complement 2 = 65533
6355 complement 3 = 65532
6356 #
6357 65533 `shift` 0 = 65533
6358 65533 `shift` 1 = 65530
6359 65533 `shift` 2 = 65524
6360 65533 `shift` 3 = 65512
6361  
6362 65534 `shift` 0 = 65534
6363 65534 `shift` 1 = 65532
6364 65534 `shift` 2 = 65528
6365 65534 `shift` 3 = 65520
6366  
6367 65535 `shift` 0 = 65535
6368 65535 `shift` 1 = 65534
6369 65535 `shift` 2 = 65532
6370 65535 `shift` 3 = 65528
6371  
6372 0 `shift` 0 = 0
6373 0 `shift` 1 = 0
6374 0 `shift` 2 = 0
6375 0 `shift` 3 = 0
6376  
6377 1 `shift` 0 = 1
6378 1 `shift` 1 = 2
6379 1 `shift` 2 = 4
6380 1 `shift` 3 = 8
6381  
6382 2 `shift` 0 = 2
6383 2 `shift` 1 = 4
6384 2 `shift` 2 = 8
6385 2 `shift` 3 = 16
6386  
6387 3 `shift` 0 = 3
6388 3 `shift` 1 = 6
6389 3 `shift` 2 = 12
6390 3 `shift` 3 = 24
6391  
6392 #
6393 65533 `rotate` -3 = 49151
6394 65533 `rotate` -2 = 32767
6395 65533 `rotate` -1 = 65534
6396 65533 `rotate` 0 = 65533
6397 65533 `rotate` 1 = 65531
6398 65533 `rotate` 2 = 65527
6399 65533 `rotate` 3 = 65519
6400  
6401 65534 `rotate` -3 = 57343
6402 65534 `rotate` -2 = 49151
6403 65534 `rotate` -1 = 32767
6404 65534 `rotate` 0 = 65534
6405 65534 `rotate` 1 = 65533
6406 65534 `rotate` 2 = 65531
6407 65534 `rotate` 3 = 65527
6408  
6409 65535 `rotate` -3 = 65535
6410 65535 `rotate` -2 = 65535
6411 65535 `rotate` -1 = 65535
6412 65535 `rotate` 0 = 65535
6413 65535 `rotate` 1 = 65535
6414 65535 `rotate` 2 = 65535
6415 65535 `rotate` 3 = 65535
6416  
6417 0 `rotate` -3 = 0
6418 0 `rotate` -2 = 0
6419 0 `rotate` -1 = 0
6420 0 `rotate` 0 = 0
6421 0 `rotate` 1 = 0
6422 0 `rotate` 2 = 0
6423 0 `rotate` 3 = 0
6424  
6425 1 `rotate` -3 = 8192
6426 1 `rotate` -2 = 16384
6427 1 `rotate` -1 = 32768
6428 1 `rotate` 0 = 1
6429 1 `rotate` 1 = 2
6430 1 `rotate` 2 = 4
6431 1 `rotate` 3 = 8
6432  
6433 2 `rotate` -3 = 16384
6434 2 `rotate` -2 = 32768
6435 2 `rotate` -1 = 1
6436 2 `rotate` 0 = 2
6437 2 `rotate` 1 = 4
6438 2 `rotate` 2 = 8
6439 2 `rotate` 3 = 16
6440  
6441 3 `rotate` -3 = 24576
6442 3 `rotate` -2 = 49152
6443 3 `rotate` -1 = 32769
6444 3 `rotate` 0 = 3
6445 3 `rotate` 1 = 6
6446 3 `rotate` 2 = 12
6447 3 `rotate` 3 = 24
6448  
6449 #
6450 bit 0 = 1
6451 bit 1 = 2
6452 bit 2 = 4
6453 bit 3 = 8
6454 #
6455 65533 `setBit` 0 = 65533
6456 65533 `setBit` 1 = 65535
6457 65533 `setBit` 2 = 65533
6458 65533 `setBit` 3 = 65533
6459  
6460 65534 `setBit` 0 = 65535
6461 65534 `setBit` 1 = 65534
6462 65534 `setBit` 2 = 65534
6463 65534 `setBit` 3 = 65534
6464  
6465 65535 `setBit` 0 = 65535
6466 65535 `setBit` 1 = 65535
6467 65535 `setBit` 2 = 65535
6468 65535 `setBit` 3 = 65535
6469  
6470 0 `setBit` 0 = 1
6471 0 `setBit` 1 = 2
6472 0 `setBit` 2 = 4
6473 0 `setBit` 3 = 8
6474  
6475 1 `setBit` 0 = 1
6476 1 `setBit` 1 = 3
6477 1 `setBit` 2 = 5
6478 1 `setBit` 3 = 9
6479  
6480 2 `setBit` 0 = 3
6481 2 `setBit` 1 = 2
6482 2 `setBit` 2 = 6
6483 2 `setBit` 3 = 10
6484  
6485 3 `setBit` 0 = 3
6486 3 `setBit` 1 = 3
6487 3 `setBit` 2 = 7
6488 3 `setBit` 3 = 11
6489  
6490 #
6491 65533 `clearBit` 0 = 65532
6492 65533 `clearBit` 1 = 65533
6493 65533 `clearBit` 2 = 65529
6494 65533 `clearBit` 3 = 65525
6495  
6496 65534 `clearBit` 0 = 65534
6497 65534 `clearBit` 1 = 65532
6498 65534 `clearBit` 2 = 65530
6499 65534 `clearBit` 3 = 65526
6500  
6501 65535 `clearBit` 0 = 65534
6502 65535 `clearBit` 1 = 65533
6503 65535 `clearBit` 2 = 65531
6504 65535 `clearBit` 3 = 65527
6505  
6506 0 `clearBit` 0 = 0
6507 0 `clearBit` 1 = 0
6508 0 `clearBit` 2 = 0
6509 0 `clearBit` 3 = 0
6510  
6511 1 `clearBit` 0 = 0
6512 1 `clearBit` 1 = 1
6513 1 `clearBit` 2 = 1
6514 1 `clearBit` 3 = 1
6515  
6516 2 `clearBit` 0 = 2
6517 2 `clearBit` 1 = 0
6518 2 `clearBit` 2 = 2
6519 2 `clearBit` 3 = 2
6520  
6521 3 `clearBit` 0 = 2
6522 3 `clearBit` 1 = 1
6523 3 `clearBit` 2 = 3
6524 3 `clearBit` 3 = 3
6525  
6526 #
6527 65533 `complementBit` 0 = 65532
6528 65533 `complementBit` 1 = 65535
6529 65533 `complementBit` 2 = 65529
6530 65533 `complementBit` 3 = 65525
6531  
6532 65534 `complementBit` 0 = 65535
6533 65534 `complementBit` 1 = 65532
6534 65534 `complementBit` 2 = 65530
6535 65534 `complementBit` 3 = 65526
6536  
6537 65535 `complementBit` 0 = 65534
6538 65535 `complementBit` 1 = 65533
6539 65535 `complementBit` 2 = 65531
6540 65535 `complementBit` 3 = 65527
6541  
6542 0 `complementBit` 0 = 1
6543 0 `complementBit` 1 = 2
6544 0 `complementBit` 2 = 4
6545 0 `complementBit` 3 = 8
6546  
6547 1 `complementBit` 0 = 0
6548 1 `complementBit` 1 = 3
6549 1 `complementBit` 2 = 5
6550 1 `complementBit` 3 = 9
6551  
6552 2 `complementBit` 0 = 3
6553 2 `complementBit` 1 = 0
6554 2 `complementBit` 2 = 6
6555 2 `complementBit` 3 = 10
6556  
6557 3 `complementBit` 0 = 2
6558 3 `complementBit` 1 = 1
6559 3 `complementBit` 2 = 7
6560 3 `complementBit` 3 = 11
6561  
6562 #
6563 65533 `testBit` 0 = True
6564 65533 `testBit` 1 = False
6565 65533 `testBit` 2 = True
6566 65533 `testBit` 3 = True
6567  
6568 65534 `testBit` 0 = False
6569 65534 `testBit` 1 = True
6570 65534 `testBit` 2 = True
6571 65534 `testBit` 3 = True
6572  
6573 65535 `testBit` 0 = True
6574 65535 `testBit` 1 = True
6575 65535 `testBit` 2 = True
6576 65535 `testBit` 3 = True
6577  
6578 0 `testBit` 0 = False
6579 0 `testBit` 1 = False
6580 0 `testBit` 2 = False
6581 0 `testBit` 3 = False
6582  
6583 1 `testBit` 0 = True
6584 1 `testBit` 1 = False
6585 1 `testBit` 2 = False
6586 1 `testBit` 3 = False
6587  
6588 2 `testBit` 0 = False
6589 2 `testBit` 1 = True
6590 2 `testBit` 2 = False
6591 2 `testBit` 3 = False
6592  
6593 3 `testBit` 0 = True
6594 3 `testBit` 1 = True
6595 3 `testBit` 2 = False
6596 3 `testBit` 3 = False
6597  
6598 #
6599 bitSize 65533 = 16
6600 bitSize 65534 = 16
6601 bitSize 65535 = 16
6602 bitSize 0 = 16
6603 bitSize 1 = 16
6604 bitSize 2 = 16
6605 bitSize 3 = 16
6606 #
6607 isSigned 65533 = False
6608 isSigned 65534 = False
6609 isSigned 65535 = False
6610 isSigned 0 = False
6611 isSigned 1 = False
6612 isSigned 2 = False
6613 isSigned 3 = False
6614 #
6615 --------------------------------
6616 --------------------------------
6617 --Testing Word32
6618 --------------------------------
6619 testBounded
6620 (4294967295,0,1)
6621 (4294967294,4294967295,0)
6622 testEnum
6623 []
6624 []
6625 [0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]
6626 [0,2,4,6,8,10,12,14,16,18,20]
6627 testReadShow
6628 [4294967293,4294967294,4294967295,0,1,2,3]
6629 [4294967293,4294967294,4294967295,0,1,2,3]
6630 testEq
6631 4294967293 == 4294967293 = True
6632 4294967293 == 4294967294 = False
6633 4294967293 == 4294967295 = False
6634 4294967293 == 0 = False
6635 4294967293 == 1 = False
6636 4294967293 == 2 = False
6637 4294967293 == 3 = False
6638  
6639 4294967294 == 4294967293 = False
6640 4294967294 == 4294967294 = True
6641 4294967294 == 4294967295 = False
6642 4294967294 == 0 = False
6643 4294967294 == 1 = False
6644 4294967294 == 2 = False
6645 4294967294 == 3 = False
6646  
6647 4294967295 == 4294967293 = False
6648 4294967295 == 4294967294 = False
6649 4294967295 == 4294967295 = True
6650 4294967295 == 0 = False
6651 4294967295 == 1 = False
6652 4294967295 == 2 = False
6653 4294967295 == 3 = False
6654  
6655 0 == 4294967293 = False
6656 0 == 4294967294 = False
6657 0 == 4294967295 = False
6658 0 == 0 = True
6659 0 == 1 = False
6660 0 == 2 = False
6661 0 == 3 = False
6662  
6663 1 == 4294967293 = False
6664 1 == 4294967294 = False
6665 1 == 4294967295 = False
6666 1 == 0 = False
6667 1 == 1 = True
6668 1 == 2 = False
6669 1 == 3 = False
6670  
6671 2 == 4294967293 = False
6672 2 == 4294967294 = False
6673 2 == 4294967295 = False
6674 2 == 0 = False
6675 2 == 1 = False
6676 2 == 2 = True
6677 2 == 3 = False
6678  
6679 3 == 4294967293 = False
6680 3 == 4294967294 = False
6681 3 == 4294967295 = False
6682 3 == 0 = False
6683 3 == 1 = False
6684 3 == 2 = False
6685 3 == 3 = True
6686  
6687 #
6688 4294967293 /= 4294967293 = False
6689 4294967293 /= 4294967294 = True
6690 4294967293 /= 4294967295 = True
6691 4294967293 /= 0 = True
6692 4294967293 /= 1 = True
6693 4294967293 /= 2 = True
6694 4294967293 /= 3 = True
6695  
6696 4294967294 /= 4294967293 = True
6697 4294967294 /= 4294967294 = False
6698 4294967294 /= 4294967295 = True
6699 4294967294 /= 0 = True
6700 4294967294 /= 1 = True
6701 4294967294 /= 2 = True
6702 4294967294 /= 3 = True
6703  
6704 4294967295 /= 4294967293 = True
6705 4294967295 /= 4294967294 = True
6706 4294967295 /= 4294967295 = False
6707 4294967295 /= 0 = True
6708 4294967295 /= 1 = True
6709 4294967295 /= 2 = True
6710 4294967295 /= 3 = True
6711  
6712 0 /= 4294967293 = True
6713 0 /= 4294967294 = True
6714 0 /= 4294967295 = True
6715 0 /= 0 = False
6716 0 /= 1 = True
6717 0 /= 2 = True
6718 0 /= 3 = True
6719  
6720 1 /= 4294967293 = True
6721 1 /= 4294967294 = True
6722 1 /= 4294967295 = True
6723 1 /= 0 = True
6724 1 /= 1 = False
6725 1 /= 2 = True
6726 1 /= 3 = True
6727  
6728 2 /= 4294967293 = True
6729 2 /= 4294967294 = True
6730 2 /= 4294967295 = True
6731 2 /= 0 = True
6732 2 /= 1 = True
6733 2 /= 2 = False
6734 2 /= 3 = True
6735  
6736 3 /= 4294967293 = True
6737 3 /= 4294967294 = True
6738 3 /= 4294967295 = True
6739 3 /= 0 = True
6740 3 /= 1 = True
6741 3 /= 2 = True
6742 3 /= 3 = False
6743  
6744 #
6745 testOrd
6746 4294967293 <= 4294967293 = True
6747 4294967293 <= 4294967294 = True
6748 4294967293 <= 4294967295 = True
6749 4294967293 <= 0 = False
6750 4294967293 <= 1 = False
6751 4294967293 <= 2 = False
6752 4294967293 <= 3 = False
6753  
6754 4294967294 <= 4294967293 = False
6755 4294967294 <= 4294967294 = True
6756 4294967294 <= 4294967295 = True
6757 4294967294 <= 0 = False
6758 4294967294 <= 1 = False
6759 4294967294 <= 2 = False
6760 4294967294 <= 3 = False
6761  
6762 4294967295 <= 4294967293 = False
6763 4294967295 <= 4294967294 = False
6764 4294967295 <= 4294967295 = True
6765 4294967295 <= 0 = False
6766 4294967295 <= 1 = False
6767 4294967295 <= 2 = False
6768 4294967295 <= 3 = False
6769  
6770 0 <= 4294967293 = True
6771 0 <= 4294967294 = True
6772 0 <= 4294967295 = True
6773 0 <= 0 = True
6774 0 <= 1 = True
6775 0 <= 2 = True
6776 0 <= 3 = True
6777  
6778 1 <= 4294967293 = True
6779 1 <= 4294967294 = True
6780 1 <= 4294967295 = True
6781 1 <= 0 = False
6782 1 <= 1 = True
6783 1 <= 2 = True
6784 1 <= 3 = True
6785  
6786 2 <= 4294967293 = True
6787 2 <= 4294967294 = True
6788 2 <= 4294967295 = True
6789 2 <= 0 = False
6790 2 <= 1 = False
6791 2 <= 2 = True
6792 2 <= 3 = True
6793  
6794 3 <= 4294967293 = True
6795 3 <= 4294967294 = True
6796 3 <= 4294967295 = True
6797 3 <= 0 = False
6798 3 <= 1 = False
6799 3 <= 2 = False
6800 3 <= 3 = True
6801  
6802 #
6803 4294967293 <  4294967293 = False
6804 4294967293 <  4294967294 = True
6805 4294967293 <  4294967295 = True
6806 4294967293 <  0 = False
6807 4294967293 <  1 = False
6808 4294967293 <  2 = False
6809 4294967293 <  3 = False
6810  
6811 4294967294 <  4294967293 = False
6812 4294967294 <  4294967294 = False
6813 4294967294 <  4294967295 = True
6814 4294967294 <  0 = False
6815 4294967294 <  1 = False
6816 4294967294 <  2 = False
6817 4294967294 <  3 = False
6818  
6819 4294967295 <  4294967293 = False
6820 4294967295 <  4294967294 = False
6821 4294967295 <  4294967295 = False
6822 4294967295 <  0 = False
6823 4294967295 <  1 = False
6824 4294967295 <  2 = False
6825 4294967295 <  3 = False
6826  
6827 0 <  4294967293 = True
6828 0 <  4294967294 = True
6829 0 <  4294967295 = True
6830 0 <  0 = False
6831 0 <  1 = True
6832 0 <  2 = True
6833 0 <  3 = True
6834  
6835 1 <  4294967293 = True
6836 1 <  4294967294 = True
6837 1 <  4294967295 = True
6838 1 <  0 = False
6839 1 <  1 = False
6840 1 <  2 = True
6841 1 <  3 = True
6842  
6843 2 <  4294967293 = True
6844 2 <  4294967294 = True
6845 2 <  4294967295 = True
6846 2 <  0 = False
6847 2 <  1 = False
6848 2 <  2 = False
6849 2 <  3 = True
6850  
6851 3 <  4294967293 = True
6852 3 <  4294967294 = True
6853 3 <  4294967295 = True
6854 3 <  0 = False
6855 3 <  1 = False
6856 3 <  2 = False
6857 3 <  3 = False
6858  
6859 #
6860 4294967293 >  4294967293 = False
6861 4294967293 >  4294967294 = False
6862 4294967293 >  4294967295 = False
6863 4294967293 >  0 = True
6864 4294967293 >  1 = True
6865 4294967293 >  2 = True
6866 4294967293 >  3 = True
6867  
6868 4294967294 >  4294967293 = True
6869 4294967294 >  4294967294 = False
6870 4294967294 >  4294967295 = False
6871 4294967294 >  0 = True
6872 4294967294 >  1 = True
6873 4294967294 >  2 = True
6874 4294967294 >  3 = True
6875  
6876 4294967295 >  4294967293 = True
6877 4294967295 >  4294967294 = True
6878 4294967295 >  4294967295 = False
6879 4294967295 >  0 = True
6880 4294967295 >  1 = True
6881 4294967295 >  2 = True
6882 4294967295 >  3 = True
6883  
6884 0 >  4294967293 = False
6885 0 >  4294967294 = False
6886 0 >  4294967295 = False
6887 0 >  0 = False
6888 0 >  1 = False
6889 0 >  2 = False
6890 0 >  3 = False
6891  
6892 1 >  4294967293 = False
6893 1 >  4294967294 = False
6894 1 >  4294967295 = False
6895 1 >  0 = True
6896 1 >  1 = False
6897 1 >  2 = False
6898 1 >  3 = False
6899  
6900 2 >  4294967293 = False
6901 2 >  4294967294 = False
6902 2 >  4294967295 = False
6903 2 >  0 = True
6904 2 >  1 = True
6905 2 >  2 = False
6906 2 >  3 = False
6907  
6908 3 >  4294967293 = False
6909 3 >  4294967294 = False
6910 3 >  4294967295 = False
6911 3 >  0 = True
6912 3 >  1 = True
6913 3 >  2 = True
6914 3 >  3 = False
6915  
6916 #
6917 4294967293 >= 4294967293 = True
6918 4294967293 >= 4294967294 = False
6919 4294967293 >= 4294967295 = False
6920 4294967293 >= 0 = True
6921 4294967293 >= 1 = True
6922 4294967293 >= 2 = True
6923 4294967293 >= 3 = True
6924  
6925 4294967294 >= 4294967293 = True
6926 4294967294 >= 4294967294 = True
6927 4294967294 >= 4294967295 = False
6928 4294967294 >= 0 = True
6929 4294967294 >= 1 = True
6930 4294967294 >= 2 = True
6931 4294967294 >= 3 = True
6932  
6933 4294967295 >= 4294967293 = True
6934 4294967295 >= 4294967294 = True
6935 4294967295 >= 4294967295 = True
6936 4294967295 >= 0 = True
6937 4294967295 >= 1 = True
6938 4294967295 >= 2 = True
6939 4294967295 >= 3 = True
6940  
6941 0 >= 4294967293 = False
6942 0 >= 4294967294 = False
6943 0 >= 4294967295 = False
6944 0 >= 0 = True
6945 0 >= 1 = False
6946 0 >= 2 = False
6947 0 >= 3 = False
6948  
6949 1 >= 4294967293 = False
6950 1 >= 4294967294 = False
6951 1 >= 4294967295 = False
6952 1 >= 0 = True
6953 1 >= 1 = True
6954 1 >= 2 = False
6955 1 >= 3 = False
6956  
6957 2 >= 4294967293 = False
6958 2 >= 4294967294 = False
6959 2 >= 4294967295 = False
6960 2 >= 0 = True
6961 2 >= 1 = True
6962 2 >= 2 = True
6963 2 >= 3 = False
6964  
6965 3 >= 4294967293 = False
6966 3 >= 4294967294 = False
6967 3 >= 4294967295 = False
6968 3 >= 0 = True
6969 3 >= 1 = True
6970 3 >= 2 = True
6971 3 >= 3 = True
6972  
6973 #
6974 4294967293 `compare` 4294967293 = EQ
6975 4294967293 `compare` 4294967294 = LT
6976 4294967293 `compare` 4294967295 = LT
6977 4294967293 `compare` 0 = GT
6978 4294967293 `compare` 1 = GT
6979 4294967293 `compare` 2 = GT
6980 4294967293 `compare` 3 = GT
6981  
6982 4294967294 `compare` 4294967293 = GT
6983 4294967294 `compare` 4294967294 = EQ
6984 4294967294 `compare` 4294967295 = LT
6985 4294967294 `compare` 0 = GT
6986 4294967294 `compare` 1 = GT
6987 4294967294 `compare` 2 = GT
6988 4294967294 `compare` 3 = GT
6989  
6990 4294967295 `compare` 4294967293 = GT
6991 4294967295 `compare` 4294967294 = GT
6992 4294967295 `compare` 4294967295 = EQ
6993 4294967295 `compare` 0 = GT
6994 4294967295 `compare` 1 = GT
6995 4294967295 `compare` 2 = GT
6996 4294967295 `compare` 3 = GT
6997  
6998 0 `compare` 4294967293 = LT
6999 0 `compare` 4294967294 = LT
7000 0 `compare` 4294967295 = LT
7001 0 `compare` 0 = EQ
7002 0 `compare` 1 = LT
7003 0 `compare` 2 = LT
7004 0 `compare` 3 = LT
7005  
7006 1 `compare` 4294967293 = LT
7007 1 `compare` 4294967294 = LT
7008 1 `compare` 4294967295 = LT
7009 1 `compare` 0 = GT
7010 1 `compare` 1 = EQ
7011 1 `compare` 2 = LT
7012 1 `compare` 3 = LT
7013  
7014 2 `compare` 4294967293 = LT
7015 2 `compare` 4294967294 = LT
7016 2 `compare` 4294967295 = LT
7017 2 `compare` 0 = GT
7018 2 `compare` 1 = GT
7019 2 `compare` 2 = EQ
7020 2 `compare` 3 = LT
7021  
7022 3 `compare` 4294967293 = LT
7023 3 `compare` 4294967294 = LT
7024 3 `compare` 4294967295 = LT
7025 3 `compare` 0 = GT
7026 3 `compare` 1 = GT
7027 3 `compare` 2 = GT
7028 3 `compare` 3 = EQ
7029  
7030 #
7031 testNum
7032 4294967293 + 4294967293 = 4294967290
7033 4294967293 + 4294967294 = 4294967291
7034 4294967293 + 4294967295 = 4294967292
7035 4294967293 + 0 = 4294967293
7036 4294967293 + 1 = 4294967294
7037 4294967293 + 2 = 4294967295
7038 4294967293 + 3 = 0
7039  
7040 4294967294 + 4294967293 = 4294967291
7041 4294967294 + 4294967294 = 4294967292
7042 4294967294 + 4294967295 = 4294967293
7043 4294967294 + 0 = 4294967294
7044 4294967294 + 1 = 4294967295
7045 4294967294 + 2 = 0
7046 4294967294 + 3 = 1
7047  
7048 4294967295 + 4294967293 = 4294967292
7049 4294967295 + 4294967294 = 4294967293
7050 4294967295 + 4294967295 = 4294967294
7051 4294967295 + 0 = 4294967295
7052 4294967295 + 1 = 0
7053 4294967295 + 2 = 1
7054 4294967295 + 3 = 2
7055  
7056 0 + 4294967293 = 4294967293
7057 0 + 4294967294 = 4294967294
7058 0 + 4294967295 = 4294967295
7059 0 + 0 = 0
7060 0 + 1 = 1
7061 0 + 2 = 2
7062 0 + 3 = 3
7063  
7064 1 + 4294967293 = 4294967294
7065 1 + 4294967294 = 4294967295
7066 1 + 4294967295 = 0
7067 1 + 0 = 1
7068 1 + 1 = 2
7069 1 + 2 = 3
7070 1 + 3 = 4
7071  
7072 2 + 4294967293 = 4294967295
7073 2 + 4294967294 = 0
7074 2 + 4294967295 = 1
7075 2 + 0 = 2
7076 2 + 1 = 3
7077 2 + 2 = 4
7078 2 + 3 = 5
7079  
7080 3 + 4294967293 = 0
7081 3 + 4294967294 = 1
7082 3 + 4294967295 = 2
7083 3 + 0 = 3
7084 3 + 1 = 4
7085 3 + 2 = 5
7086 3 + 3 = 6
7087  
7088 #
7089 4294967293 - 4294967293 = 0
7090 4294967293 - 4294967294 = 4294967295
7091 4294967293 - 4294967295 = 4294967294
7092 4294967293 - 0 = 4294967293
7093 4294967293 - 1 = 4294967292
7094 4294967293 - 2 = 4294967291
7095 4294967293 - 3 = 4294967290
7096  
7097 4294967294 - 4294967293 = 1
7098 4294967294 - 4294967294 = 0
7099 4294967294 - 4294967295 = 4294967295
7100 4294967294 - 0 = 4294967294
7101 4294967294 - 1 = 4294967293
7102 4294967294 - 2 = 4294967292
7103 4294967294 - 3 = 4294967291
7104  
7105 4294967295 - 4294967293 = 2
7106 4294967295 - 4294967294 = 1
7107 4294967295 - 4294967295 = 0
7108 4294967295 - 0 = 4294967295
7109 4294967295 - 1 = 4294967294
7110 4294967295 - 2 = 4294967293
7111 4294967295 - 3 = 4294967292
7112  
7113 0 - 4294967293 = 3
7114 0 - 4294967294 = 2
7115 0 - 4294967295 = 1
7116 0 - 0 = 0
7117 0 - 1 = 4294967295
7118 0 - 2 = 4294967294
7119 0 - 3 = 4294967293
7120  
7121 1 - 4294967293 = 4
7122 1 - 4294967294 = 3
7123 1 - 4294967295 = 2
7124 1 - 0 = 1
7125 1 - 1 = 0
7126 1 - 2 = 4294967295
7127 1 - 3 = 4294967294
7128  
7129 2 - 4294967293 = 5
7130 2 - 4294967294 = 4
7131 2 - 4294967295 = 3
7132 2 - 0 = 2
7133 2 - 1 = 1
7134 2 - 2 = 0
7135 2 - 3 = 4294967295
7136  
7137 3 - 4294967293 = 6
7138 3 - 4294967294 = 5
7139 3 - 4294967295 = 4
7140 3 - 0 = 3
7141 3 - 1 = 2
7142 3 - 2 = 1
7143 3 - 3 = 0
7144  
7145 #
7146 4294967293 * 4294967293 = 9
7147 4294967293 * 4294967294 = 6
7148 4294967293 * 4294967295 = 3
7149 4294967293 * 0 = 0
7150 4294967293 * 1 = 4294967293
7151 4294967293 * 2 = 4294967290
7152 4294967293 * 3 = 4294967287
7153  
7154 4294967294 * 4294967293 = 6
7155 4294967294 * 4294967294 = 4
7156 4294967294 * 4294967295 = 2
7157 4294967294 * 0 = 0
7158 4294967294 * 1 = 4294967294
7159 4294967294 * 2 = 4294967292
7160 4294967294 * 3 = 4294967290
7161  
7162 4294967295 * 4294967293 = 3
7163 4294967295 * 4294967294 = 2
7164 4294967295 * 4294967295 = 1
7165 4294967295 * 0 = 0
7166 4294967295 * 1 = 4294967295
7167 4294967295 * 2 = 4294967294
7168 4294967295 * 3 = 4294967293
7169  
7170 0 * 4294967293 = 0
7171 0 * 4294967294 = 0
7172 0 * 4294967295 = 0
7173 0 * 0 = 0
7174 0 * 1 = 0
7175 0 * 2 = 0
7176 0 * 3 = 0
7177  
7178 1 * 4294967293 = 4294967293
7179 1 * 4294967294 = 4294967294
7180 1 * 4294967295 = 4294967295
7181 1 * 0 = 0
7182 1 * 1 = 1
7183 1 * 2 = 2
7184 1 * 3 = 3
7185  
7186 2 * 4294967293 = 4294967290
7187 2 * 4294967294 = 4294967292
7188 2 * 4294967295 = 4294967294
7189 2 * 0 = 0
7190 2 * 1 = 2
7191 2 * 2 = 4
7192 2 * 3 = 6
7193  
7194 3 * 4294967293 = 4294967287
7195 3 * 4294967294 = 4294967290
7196 3 * 4294967295 = 4294967293
7197 3 * 0 = 0
7198 3 * 1 = 3
7199 3 * 2 = 6
7200 3 * 3 = 9
7201  
7202 #
7203 negate 4294967293 = 3
7204 negate 4294967294 = 2
7205 negate 4294967295 = 1
7206 negate 0 = 0
7207 negate 1 = 4294967295
7208 negate 2 = 4294967294
7209 negate 3 = 4294967293
7210 #
7211 testReal
7212 toRational 4294967293 = 4294967293 % 1
7213 toRational 4294967294 = 4294967294 % 1
7214 toRational 4294967295 = 4294967295 % 1
7215 toRational 0 = 0 % 1
7216 toRational 1 = 1 % 1
7217 toRational 2 = 2 % 1
7218 toRational 3 = 3 % 1
7219 #
7220 testIntegral
7221 4294967293 `divMod`  4294967293 = (1,0)
7222 4294967293 `divMod`  4294967294 = (0,4294967293)
7223 4294967293 `divMod`  4294967295 = (0,4294967293)
7224 4294967293 `divMod`  1 = (4294967293,0)
7225 4294967293 `divMod`  2 = (2147483646,1)
7226 4294967293 `divMod`  3 = (1431655764,1)
7227  
7228 4294967294 `divMod`  4294967293 = (1,1)
7229 4294967294 `divMod`  4294967294 = (1,0)
7230 4294967294 `divMod`  4294967295 = (0,4294967294)
7231 4294967294 `divMod`  1 = (4294967294,0)
7232 4294967294 `divMod`  2 = (2147483647,0)
7233 4294967294 `divMod`  3 = (1431655764,2)
7234  
7235 4294967295 `divMod`  4294967293 = (1,2)
7236 4294967295 `divMod`  4294967294 = (1,1)
7237 4294967295 `divMod`  4294967295 = (1,0)
7238 4294967295 `divMod`  1 = (4294967295,0)
7239 4294967295 `divMod`  2 = (2147483647,1)
7240 4294967295 `divMod`  3 = (1431655765,0)
7241  
7242 0 `divMod`  4294967293 = (0,0)
7243 0 `divMod`  4294967294 = (0,0)
7244 0 `divMod`  4294967295 = (0,0)
7245 0 `divMod`  1 = (0,0)
7246 0 `divMod`  2 = (0,0)
7247 0 `divMod`  3 = (0,0)
7248  
7249 1 `divMod`  4294967293 = (0,1)
7250 1 `divMod`  4294967294 = (0,1)
7251 1 `divMod`  4294967295 = (0,1)
7252 1 `divMod`  1 = (1,0)
7253 1 `divMod`  2 = (0,1)
7254 1 `divMod`  3 = (0,1)
7255  
7256 2 `divMod`  4294967293 = (0,2)
7257 2 `divMod`  4294967294 = (0,2)
7258 2 `divMod`  4294967295 = (0,2)
7259 2 `divMod`  1 = (2,0)
7260 2 `divMod`  2 = (1,0)
7261 2 `divMod`  3 = (0,2)
7262  
7263 3 `divMod`  4294967293 = (0,3)
7264 3 `divMod`  4294967294 = (0,3)
7265 3 `divMod`  4294967295 = (0,3)
7266 3 `divMod`  1 = (3,0)
7267 3 `divMod`  2 = (1,1)
7268 3 `divMod`  3 = (1,0)
7269  
7270 #
7271 4294967293 `div`     4294967293 = 1
7272 4294967293 `div`     4294967294 = 0
7273 4294967293 `div`     4294967295 = 0
7274 4294967293 `div`     1 = 4294967293
7275 4294967293 `div`     2 = 2147483646
7276 4294967293 `div`     3 = 1431655764
7277  
7278 4294967294 `div`     4294967293 = 1
7279 4294967294 `div`     4294967294 = 1
7280 4294967294 `div`     4294967295 = 0
7281 4294967294 `div`     1 = 4294967294
7282 4294967294 `div`     2 = 2147483647
7283 4294967294 `div`     3 = 1431655764
7284  
7285 4294967295 `div`     4294967293 = 1
7286 4294967295 `div`     4294967294 = 1
7287 4294967295 `div`     4294967295 = 1
7288 4294967295 `div`     1 = 4294967295
7289 4294967295 `div`     2 = 2147483647
7290 4294967295 `div`     3 = 1431655765
7291  
7292 0 `div`     4294967293 = 0
7293 0 `div`     4294967294 = 0
7294 0 `div`     4294967295 = 0
7295 0 `div`     1 = 0
7296 0 `div`     2 = 0
7297 0 `div`     3 = 0
7298  
7299 1 `div`     4294967293 = 0
7300 1 `div`     4294967294 = 0
7301 1 `div`     4294967295 = 0
7302 1 `div`     1 = 1
7303 1 `div`     2 = 0
7304 1 `div`     3 = 0
7305  
7306 2 `div`     4294967293 = 0
7307 2 `div`     4294967294 = 0
7308 2 `div`     4294967295 = 0
7309 2 `div`     1 = 2
7310 2 `div`     2 = 1
7311 2 `div`     3 = 0
7312  
7313 3 `div`     4294967293 = 0
7314 3 `div`     4294967294 = 0
7315 3 `div`     4294967295 = 0
7316 3 `div`     1 = 3
7317 3 `div`     2 = 1
7318 3 `div`     3 = 1
7319  
7320 #
7321 4294967293 `mod`     4294967293 = 0
7322 4294967293 `mod`     4294967294 = 4294967293
7323 4294967293 `mod`     4294967295 = 4294967293
7324 4294967293 `mod`     1 = 0
7325 4294967293 `mod`     2 = 1
7326 4294967293 `mod`     3 = 1
7327  
7328 4294967294 `mod`     4294967293 = 1
7329 4294967294 `mod`     4294967294 = 0
7330 4294967294 `mod`     4294967295 = 4294967294
7331 4294967294 `mod`     1 = 0
7332 4294967294 `mod`     2 = 0
7333 4294967294 `mod`     3 = 2
7334  
7335 4294967295 `mod`     4294967293 = 2
7336 4294967295 `mod`     4294967294 = 1
7337 4294967295 `mod`     4294967295 = 0
7338 4294967295 `mod`     1 = 0
7339 4294967295 `mod`     2 = 1
7340 4294967295 `mod`     3 = 0
7341  
7342 0 `mod`     4294967293 = 0
7343 0 `mod`     4294967294 = 0
7344 0 `mod`     4294967295 = 0
7345 0 `mod`     1 = 0
7346 0 `mod`     2 = 0
7347 0 `mod`     3 = 0
7348  
7349 1 `mod`     4294967293 = 1
7350 1 `mod`     4294967294 = 1
7351 1 `mod`     4294967295 = 1
7352 1 `mod`     1 = 0
7353 1 `mod`     2 = 1
7354 1 `mod`     3 = 1
7355  
7356 2 `mod`     4294967293 = 2
7357 2 `mod`     4294967294 = 2
7358 2 `mod`     4294967295 = 2
7359 2 `mod`     1 = 0
7360 2 `mod`     2 = 0
7361 2 `mod`     3 = 2
7362  
7363 3 `mod`     4294967293 = 3
7364 3 `mod`     4294967294 = 3
7365 3 `mod`     4294967295 = 3
7366 3 `mod`     1 = 0
7367 3 `mod`     2 = 1
7368 3 `mod`     3 = 0
7369  
7370 #
7371 4294967293 `quotRem` 4294967293 = (1,0)
7372 4294967293 `quotRem` 4294967294 = (0,4294967293)
7373 4294967293 `quotRem` 4294967295 = (0,4294967293)
7374 4294967293 `quotRem` 1 = (4294967293,0)
7375 4294967293 `quotRem` 2 = (2147483646,1)
7376 4294967293 `quotRem` 3 = (1431655764,1)
7377  
7378 4294967294 `quotRem` 4294967293 = (1,1)
7379 4294967294 `quotRem` 4294967294 = (1,0)
7380 4294967294 `quotRem` 4294967295 = (0,4294967294)
7381 4294967294 `quotRem` 1 = (4294967294,0)
7382 4294967294 `quotRem` 2 = (2147483647,0)
7383 4294967294 `quotRem` 3 = (1431655764,2)
7384  
7385 4294967295 `quotRem` 4294967293 = (1,2)
7386 4294967295 `quotRem` 4294967294 = (1,1)
7387 4294967295 `quotRem` 4294967295 = (1,0)
7388 4294967295 `quotRem` 1 = (4294967295,0)
7389 4294967295 `quotRem` 2 = (2147483647,1)
7390 4294967295 `quotRem` 3 = (1431655765,0)
7391  
7392 0 `quotRem` 4294967293 = (0,0)
7393 0 `quotRem` 4294967294 = (0,0)
7394 0 `quotRem` 4294967295 = (0,0)
7395 0 `quotRem` 1 = (0,0)
7396 0 `quotRem` 2 = (0,0)
7397 0 `quotRem` 3 = (0,0)
7398  
7399 1 `quotRem` 4294967293 = (0,1)
7400 1 `quotRem` 4294967294 = (0,1)
7401 1 `quotRem` 4294967295 = (0,1)
7402 1 `quotRem` 1 = (1,0)
7403 1 `quotRem` 2 = (0,1)
7404 1 `quotRem` 3 = (0,1)
7405  
7406 2 `quotRem` 4294967293 = (0,2)
7407 2 `quotRem` 4294967294 = (0,2)
7408 2 `quotRem` 4294967295 = (0,2)
7409 2 `quotRem` 1 = (2,0)
7410 2 `quotRem` 2 = (1,0)
7411 2 `quotRem` 3 = (0,2)
7412  
7413 3 `quotRem` 4294967293 = (0,3)
7414 3 `quotRem` 4294967294 = (0,3)
7415 3 `quotRem` 4294967295 = (0,3)
7416 3 `quotRem` 1 = (3,0)
7417 3 `quotRem` 2 = (1,1)
7418 3 `quotRem` 3 = (1,0)
7419  
7420 #
7421 4294967293 `quot`    4294967293 = 1
7422 4294967293 `quot`    4294967294 = 0
7423 4294967293 `quot`    4294967295 = 0
7424 4294967293 `quot`    1 = 4294967293
7425 4294967293 `quot`    2 = 2147483646
7426 4294967293 `quot`    3 = 1431655764
7427  
7428 4294967294 `quot`    4294967293 = 1
7429 4294967294 `quot`    4294967294 = 1
7430 4294967294 `quot`    4294967295 = 0
7431 4294967294 `quot`    1 = 4294967294
7432 4294967294 `quot`    2 = 2147483647
7433 4294967294 `quot`    3 = 1431655764
7434  
7435 4294967295 `quot`    4294967293 = 1
7436 4294967295 `quot`    4294967294 = 1
7437 4294967295 `quot`    4294967295 = 1
7438 4294967295 `quot`    1 = 4294967295
7439 4294967295 `quot`    2 = 2147483647
7440 4294967295 `quot`    3 = 1431655765
7441  
7442 0 `quot`    4294967293 = 0
7443 0 `quot`    4294967294 = 0
7444 0 `quot`    4294967295 = 0
7445 0 `quot`    1 = 0
7446 0 `quot`    2 = 0
7447 0 `quot`    3 = 0
7448  
7449 1 `quot`    4294967293 = 0
7450 1 `quot`    4294967294 = 0
7451 1 `quot`    4294967295 = 0
7452 1 `quot`    1 = 1
7453 1 `quot`    2 = 0
7454 1 `quot`    3 = 0
7455  
7456 2 `quot`    4294967293 = 0
7457 2 `quot`    4294967294 = 0
7458 2 `quot`    4294967295 = 0
7459 2 `quot`    1 = 2
7460 2 `quot`    2 = 1
7461 2 `quot`    3 = 0
7462  
7463 3 `quot`    4294967293 = 0
7464 3 `quot`    4294967294 = 0
7465 3 `quot`    4294967295 = 0
7466 3 `quot`    1 = 3
7467 3 `quot`    2 = 1
7468 3 `quot`    3 = 1
7469  
7470 #
7471 4294967293 `rem`     4294967293 = 0
7472 4294967293 `rem`     4294967294 = 4294967293
7473 4294967293 `rem`     4294967295 = 4294967293
7474 4294967293 `rem`     1 = 0
7475 4294967293 `rem`     2 = 1
7476 4294967293 `rem`     3 = 1
7477  
7478 4294967294 `rem`     4294967293 = 1
7479 4294967294 `rem`     4294967294 = 0
7480 4294967294 `rem`     4294967295 = 4294967294
7481 4294967294 `rem`     1 = 0
7482 4294967294 `rem`     2 = 0
7483 4294967294 `rem`     3 = 2
7484  
7485 4294967295 `rem`     4294967293 = 2
7486 4294967295 `rem`     4294967294 = 1
7487 4294967295 `rem`     4294967295 = 0
7488 4294967295 `rem`     1 = 0
7489 4294967295 `rem`     2 = 1
7490 4294967295 `rem`     3 = 0
7491  
7492 0 `rem`     4294967293 = 0
7493 0 `rem`     4294967294 = 0
7494 0 `rem`     4294967295 = 0
7495 0 `rem`     1 = 0
7496 0 `rem`     2 = 0
7497 0 `rem`     3 = 0
7498  
7499 1 `rem`     4294967293 = 1
7500 1 `rem`     4294967294 = 1
7501 1 `rem`     4294967295 = 1
7502 1 `rem`     1 = 0
7503 1 `rem`     2 = 1
7504 1 `rem`     3 = 1
7505  
7506 2 `rem`     4294967293 = 2
7507 2 `rem`     4294967294 = 2
7508 2 `rem`     4294967295 = 2
7509 2 `rem`     1 = 0
7510 2 `rem`     2 = 0
7511 2 `rem`     3 = 2
7512  
7513 3 `rem`     4294967293 = 3
7514 3 `rem`     4294967294 = 3
7515 3 `rem`     4294967295 = 3
7516 3 `rem`     1 = 0
7517 3 `rem`     2 = 1
7518 3 `rem`     3 = 0
7519  
7520 #
7521 testBits
7522 4294967293 .&.   4294967293 = 4294967293
7523 4294967293 .&.   4294967294 = 4294967292
7524 4294967293 .&.   4294967295 = 4294967293
7525 4294967293 .&.   1 = 1
7526 4294967293 .&.   2 = 0
7527 4294967293 .&.   3 = 1
7528  
7529 4294967294 .&.   4294967293 = 4294967292
7530 4294967294 .&.   4294967294 = 4294967294
7531 4294967294 .&.   4294967295 = 4294967294
7532 4294967294 .&.   1 = 0
7533 4294967294 .&.   2 = 2
7534 4294967294 .&.   3 = 2
7535  
7536 4294967295 .&.   4294967293 = 4294967293
7537 4294967295 .&.   4294967294 = 4294967294
7538 4294967295 .&.   4294967295 = 4294967295
7539 4294967295 .&.   1 = 1
7540 4294967295 .&.   2 = 2
7541 4294967295 .&.   3 = 3
7542  
7543 0 .&.   4294967293 = 0
7544 0 .&.   4294967294 = 0
7545 0 .&.   4294967295 = 0
7546 0 .&.   1 = 0
7547 0 .&.   2 = 0
7548 0 .&.   3 = 0
7549  
7550 1 .&.   4294967293 = 1
7551 1 .&.   4294967294 = 0
7552 1 .&.   4294967295 = 1
7553 1 .&.   1 = 1
7554 1 .&.   2 = 0
7555 1 .&.   3 = 1
7556  
7557 2 .&.   4294967293 = 0
7558 2 .&.   4294967294 = 2
7559 2 .&.   4294967295 = 2
7560 2 .&.   1 = 0
7561 2 .&.   2 = 2
7562 2 .&.   3 = 2
7563  
7564 3 .&.   4294967293 = 1
7565 3 .&.   4294967294 = 2
7566 3 .&.   4294967295 = 3
7567 3 .&.   1 = 1
7568 3 .&.   2 = 2
7569 3 .&.   3 = 3
7570  
7571 #
7572 4294967293 .|.   4294967293 = 4294967293
7573 4294967293 .|.   4294967294 = 4294967295
7574 4294967293 .|.   4294967295 = 4294967295
7575 4294967293 .|.   1 = 4294967293
7576 4294967293 .|.   2 = 4294967295
7577 4294967293 .|.   3 = 4294967295
7578  
7579 4294967294 .|.   4294967293 = 4294967295
7580 4294967294 .|.   4294967294 = 4294967294
7581 4294967294 .|.   4294967295 = 4294967295
7582 4294967294 .|.   1 = 4294967295
7583 4294967294 .|.   2 = 4294967294
7584 4294967294 .|.   3 = 4294967295
7585  
7586 4294967295 .|.   4294967293 = 4294967295
7587 4294967295 .|.   4294967294 = 4294967295
7588 4294967295 .|.   4294967295 = 4294967295
7589 4294967295 .|.   1 = 4294967295
7590 4294967295 .|.   2 = 4294967295
7591 4294967295 .|.   3 = 4294967295
7592  
7593 0 .|.   4294967293 = 4294967293
7594 0 .|.   4294967294 = 4294967294
7595 0 .|.   4294967295 = 4294967295
7596 0 .|.   1 = 1
7597 0 .|.   2 = 2
7598 0 .|.   3 = 3
7599  
7600 1 .|.   4294967293 = 4294967293
7601 1 .|.   4294967294 = 4294967295
7602 1 .|.   4294967295 = 4294967295
7603 1 .|.   1 = 1
7604 1 .|.   2 = 3
7605 1 .|.   3 = 3
7606  
7607 2 .|.   4294967293 = 4294967295
7608 2 .|.   4294967294 = 4294967294
7609 2 .|.   4294967295 = 4294967295
7610 2 .|.   1 = 3
7611 2 .|.   2 = 2
7612 2 .|.   3 = 3
7613  
7614 3 .|.   4294967293 = 4294967295
7615 3 .|.   4294967294 = 4294967295
7616 3 .|.   4294967295 = 4294967295
7617 3 .|.   1 = 3
7618 3 .|.   2 = 3
7619 3 .|.   3 = 3
7620  
7621 #
7622 4294967293 `xor` 4294967293 = 0
7623 4294967293 `xor` 4294967294 = 3
7624 4294967293 `xor` 4294967295 = 2
7625 4294967293 `xor` 1 = 4294967292
7626 4294967293 `xor` 2 = 4294967295
7627 4294967293 `xor` 3 = 4294967294
7628  
7629 4294967294 `xor` 4294967293 = 3
7630 4294967294 `xor` 4294967294 = 0
7631 4294967294 `xor` 4294967295 = 1
7632 4294967294 `xor` 1 = 4294967295
7633 4294967294 `xor` 2 = 4294967292
7634 4294967294 `xor` 3 = 4294967293
7635  
7636 4294967295 `xor` 4294967293 = 2
7637 4294967295 `xor` 4294967294 = 1
7638 4294967295 `xor` 4294967295 = 0
7639 4294967295 `xor` 1 = 4294967294
7640 4294967295 `xor` 2 = 4294967293
7641 4294967295 `xor` 3 = 4294967292
7642  
7643 0 `xor` 4294967293 = 4294967293
7644 0 `xor` 4294967294 = 4294967294
7645 0 `xor` 4294967295 = 4294967295
7646 0 `xor` 1 = 1
7647 0 `xor` 2 = 2
7648 0 `xor` 3 = 3
7649  
7650 1 `xor` 4294967293 = 4294967292
7651 1 `xor` 4294967294 = 4294967295
7652 1 `xor` 4294967295 = 4294967294
7653 1 `xor` 1 = 0
7654 1 `xor` 2 = 3
7655 1 `xor` 3 = 2
7656  
7657 2 `xor` 4294967293 = 4294967295
7658 2 `xor` 4294967294 = 4294967292
7659 2 `xor` 4294967295 = 4294967293
7660 2 `xor` 1 = 3
7661 2 `xor` 2 = 0
7662 2 `xor` 3 = 1
7663  
7664 3 `xor` 4294967293 = 4294967294
7665 3 `xor` 4294967294 = 4294967293
7666 3 `xor` 4294967295 = 4294967292
7667 3 `xor` 1 = 2
7668 3 `xor` 2 = 1
7669 3 `xor` 3 = 0
7670  
7671 #
7672 complement 4294967293 = 2
7673 complement 4294967294 = 1
7674 complement 4294967295 = 0
7675 complement 0 = 4294967295
7676 complement 1 = 4294967294
7677 complement 2 = 4294967293
7678 complement 3 = 4294967292
7679 #
7680 4294967293 `shift` 0 = 4294967293
7681 4294967293 `shift` 1 = 4294967290
7682 4294967293 `shift` 2 = 4294967284
7683 4294967293 `shift` 3 = 4294967272
7684  
7685 4294967294 `shift` 0 = 4294967294
7686 4294967294 `shift` 1 = 4294967292
7687 4294967294 `shift` 2 = 4294967288
7688 4294967294 `shift` 3 = 4294967280
7689  
7690 4294967295 `shift` 0 = 4294967295
7691 4294967295 `shift` 1 = 4294967294
7692 4294967295 `shift` 2 = 4294967292
7693 4294967295 `shift` 3 = 4294967288
7694  
7695 0 `shift` 0 = 0
7696 0 `shift` 1 = 0
7697 0 `shift` 2 = 0
7698 0 `shift` 3 = 0
7699  
7700 1 `shift` 0 = 1
7701 1 `shift` 1 = 2
7702 1 `shift` 2 = 4
7703 1 `shift` 3 = 8
7704  
7705 2 `shift` 0 = 2
7706 2 `shift` 1 = 4
7707 2 `shift` 2 = 8
7708 2 `shift` 3 = 16
7709  
7710 3 `shift` 0 = 3
7711 3 `shift` 1 = 6
7712 3 `shift` 2 = 12
7713 3 `shift` 3 = 24
7714  
7715 #
7716 4294967293 `rotate` -3 = 3221225471
7717 4294967293 `rotate` -2 = 2147483647
7718 4294967293 `rotate` -1 = 4294967294
7719 4294967293 `rotate` 0 = 4294967293
7720 4294967293 `rotate` 1 = 4294967291
7721 4294967293 `rotate` 2 = 4294967287
7722 4294967293 `rotate` 3 = 4294967279
7723  
7724 4294967294 `rotate` -3 = 3758096383
7725 4294967294 `rotate` -2 = 3221225471
7726 4294967294 `rotate` -1 = 2147483647
7727 4294967294 `rotate` 0 = 4294967294
7728 4294967294 `rotate` 1 = 4294967293
7729 4294967294 `rotate` 2 = 4294967291
7730 4294967294 `rotate` 3 = 4294967287
7731  
7732 4294967295 `rotate` -3 = 4294967295
7733 4294967295 `rotate` -2 = 4294967295
7734 4294967295 `rotate` -1 = 4294967295
7735 4294967295 `rotate` 0 = 4294967295
7736 4294967295 `rotate` 1 = 4294967295
7737 4294967295 `rotate` 2 = 4294967295
7738 4294967295 `rotate` 3 = 4294967295
7739  
7740 0 `rotate` -3 = 0
7741 0 `rotate` -2 = 0
7742 0 `rotate` -1 = 0
7743 0 `rotate` 0 = 0
7744 0 `rotate` 1 = 0
7745 0 `rotate` 2 = 0
7746 0 `rotate` 3 = 0
7747  
7748 1 `rotate` -3 = 536870912
7749 1 `rotate` -2 = 1073741824
7750 1 `rotate` -1 = 2147483648
7751 1 `rotate` 0 = 1
7752 1 `rotate` 1 = 2
7753 1 `rotate` 2 = 4
7754 1 `rotate` 3 = 8
7755  
7756 2 `rotate` -3 = 1073741824
7757 2 `rotate` -2 = 2147483648
7758 2 `rotate` -1 = 1
7759 2 `rotate` 0 = 2
7760 2 `rotate` 1 = 4
7761 2 `rotate` 2 = 8
7762 2 `rotate` 3 = 16
7763  
7764 3 `rotate` -3 = 1610612736
7765 3 `rotate` -2 = 3221225472
7766 3 `rotate` -1 = 2147483649
7767 3 `rotate` 0 = 3
7768 3 `rotate` 1 = 6
7769 3 `rotate` 2 = 12
7770 3 `rotate` 3 = 24
7771  
7772 #
7773 bit 0 = 1
7774 bit 1 = 2
7775 bit 2 = 4
7776 bit 3 = 8
7777 #
7778 4294967293 `setBit` 0 = 4294967293
7779 4294967293 `setBit` 1 = 4294967295
7780 4294967293 `setBit` 2 = 4294967293
7781 4294967293 `setBit` 3 = 4294967293
7782  
7783 4294967294 `setBit` 0 = 4294967295
7784 4294967294 `setBit` 1 = 4294967294
7785 4294967294 `setBit` 2 = 4294967294
7786 4294967294 `setBit` 3 = 4294967294
7787  
7788 4294967295 `setBit` 0 = 4294967295
7789 4294967295 `setBit` 1 = 4294967295
7790 4294967295 `setBit` 2 = 4294967295
7791 4294967295 `setBit` 3 = 4294967295
7792  
7793 0 `setBit` 0 = 1
7794 0 `setBit` 1 = 2
7795 0 `setBit` 2 = 4
7796 0 `setBit` 3 = 8
7797  
7798 1 `setBit` 0 = 1
7799 1 `setBit` 1 = 3
7800 1 `setBit` 2 = 5
7801 1 `setBit` 3 = 9
7802  
7803 2 `setBit` 0 = 3
7804 2 `setBit` 1 = 2
7805 2 `setBit` 2 = 6
7806 2 `setBit` 3 = 10
7807  
7808 3 `setBit` 0 = 3
7809 3 `setBit` 1 = 3
7810 3 `setBit` 2 = 7
7811 3 `setBit` 3 = 11
7812  
7813 #
7814 4294967293 `clearBit` 0 = 4294967292
7815 4294967293 `clearBit` 1 = 4294967293
7816 4294967293 `clearBit` 2 = 4294967289
7817 4294967293 `clearBit` 3 = 4294967285
7818  
7819 4294967294 `clearBit` 0 = 4294967294
7820 4294967294 `clearBit` 1 = 4294967292
7821 4294967294 `clearBit` 2 = 4294967290
7822 4294967294 `clearBit` 3 = 4294967286
7823  
7824 4294967295 `clearBit` 0 = 4294967294
7825 4294967295 `clearBit` 1 = 4294967293
7826 4294967295 `clearBit` 2 = 4294967291
7827 4294967295 `clearBit` 3 = 4294967287
7828  
7829 0 `clearBit` 0 = 0
7830 0 `clearBit` 1 = 0
7831 0 `clearBit` 2 = 0
7832 0 `clearBit` 3 = 0
7833  
7834 1 `clearBit` 0 = 0
7835 1 `clearBit` 1 = 1
7836 1 `clearBit` 2 = 1
7837 1 `clearBit` 3 = 1
7838  
7839 2 `clearBit` 0 = 2
7840 2 `clearBit` 1 = 0
7841 2 `clearBit` 2 = 2
7842 2 `clearBit` 3 = 2
7843  
7844 3 `clearBit` 0 = 2
7845 3 `clearBit` 1 = 1
7846 3 `clearBit` 2 = 3
7847 3 `clearBit` 3 = 3
7848  
7849 #
7850 4294967293 `complementBit` 0 = 4294967292
7851 4294967293 `complementBit` 1 = 4294967295
7852 4294967293 `complementBit` 2 = 4294967289
7853 4294967293 `complementBit` 3 = 4294967285
7854  
7855 4294967294 `complementBit` 0 = 4294967295
7856 4294967294 `complementBit` 1 = 4294967292
7857 4294967294 `complementBit` 2 = 4294967290
7858 4294967294 `complementBit` 3 = 4294967286
7859  
7860 4294967295 `complementBit` 0 = 4294967294
7861 4294967295 `complementBit` 1 = 4294967293
7862 4294967295 `complementBit` 2 = 4294967291
7863 4294967295 `complementBit` 3 = 4294967287
7864  
7865 0 `complementBit` 0 = 1
7866 0 `complementBit` 1 = 2
7867 0 `complementBit` 2 = 4
7868 0 `complementBit` 3 = 8
7869  
7870 1 `complementBit` 0 = 0
7871 1 `complementBit` 1 = 3
7872 1 `complementBit` 2 = 5
7873 1 `complementBit` 3 = 9
7874  
7875 2 `complementBit` 0 = 3
7876 2 `complementBit` 1 = 0
7877 2 `complementBit` 2 = 6
7878 2 `complementBit` 3 = 10
7879  
7880 3 `complementBit` 0 = 2
7881 3 `complementBit` 1 = 1
7882 3 `complementBit` 2 = 7
7883 3 `complementBit` 3 = 11
7884  
7885 #
7886 4294967293 `testBit` 0 = True
7887 4294967293 `testBit` 1 = False
7888 4294967293 `testBit` 2 = True
7889 4294967293 `testBit` 3 = True
7890  
7891 4294967294 `testBit` 0 = False
7892 4294967294 `testBit` 1 = True
7893 4294967294 `testBit` 2 = True
7894 4294967294 `testBit` 3 = True
7895  
7896 4294967295 `testBit` 0 = True
7897 4294967295 `testBit` 1 = True
7898 4294967295 `testBit` 2 = True
7899 4294967295 `testBit` 3 = True
7900  
7901 0 `testBit` 0 = False
7902 0 `testBit` 1 = False
7903 0 `testBit` 2 = False
7904 0 `testBit` 3 = False
7905  
7906 1 `testBit` 0 = True
7907 1 `testBit` 1 = False
7908 1 `testBit` 2 = False
7909 1 `testBit` 3 = False
7910  
7911 2 `testBit` 0 = False
7912 2 `testBit` 1 = True
7913 2 `testBit` 2 = False
7914 2 `testBit` 3 = False
7915  
7916 3 `testBit` 0 = True
7917 3 `testBit` 1 = True
7918 3 `testBit` 2 = False
7919 3 `testBit` 3 = False
7920  
7921 #
7922 bitSize 4294967293 = 32
7923 bitSize 4294967294 = 32
7924 bitSize 4294967295 = 32
7925 bitSize 0 = 32
7926 bitSize 1 = 32
7927 bitSize 2 = 32
7928 bitSize 3 = 32
7929 #
7930 isSigned 4294967293 = False
7931 isSigned 4294967294 = False
7932 isSigned 4294967295 = False
7933 isSigned 0 = False
7934 isSigned 1 = False
7935 isSigned 2 = False
7936 isSigned 3 = False
7937 #
7938 --------------------------------