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