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