@@ -12,6 +12,43 @@ function macro ( t , A , B , C ) {
12
12
13
13
macro . title = ( _ , A , B , C ) => `add(${ A } ,${ B } ) = ${ C } ` ;
14
14
15
+ test ( macro , '0' , '0' , '0' ) ;
16
+ test ( macro , '0' , '1' , '1' ) ;
17
+ test ( macro , '0' , '-1' , '-1' ) ;
18
+ test ( macro , '0' , '3' , '3' ) ;
19
+ test ( macro , '0' , '-3' , '-3' ) ;
20
+ test ( macro , '0' , '7' , '7' ) ;
21
+ test ( macro , '0' , '-7' , '-7' ) ;
22
+ test ( macro , '0' , '9' , '9' ) ;
23
+ test ( macro , '0' , '-9' , '-9' ) ;
24
+ test ( macro , '0' , '11' , '11' ) ;
25
+ test ( macro , '0' , '-11' , '-11' ) ;
26
+ test ( macro , '0' , '17' , '17' ) ;
27
+ test ( macro , '0' , '-17' , '-17' ) ;
28
+ test ( macro , '0' , '22' , '22' ) ;
29
+ test ( macro , '0' , '-22' , '-22' ) ;
30
+ test ( macro , '0' , '24' , '24' ) ;
31
+ test ( macro , '0' , '-24' , '-24' ) ;
32
+ test ( macro , '0' , '27' , '27' ) ;
33
+ test ( macro , '0' , '-27' , '-27' ) ;
34
+ test ( macro , '0' , '29' , '29' ) ;
35
+ test ( macro , '0' , '-29' , '-29' ) ;
36
+ test ( macro , '0' , '1234' , '1234' ) ;
37
+ test ( macro , '0' , '-1234' , '-1234' ) ;
38
+ test ( macro , '0' , '5678' , '5678' ) ;
39
+ test ( macro , '0' , '-5678' , '-5678' ) ;
40
+ test ( macro , '0' , '94906265' , '94906265' ) ;
41
+ test ( macro , '0' , '-94906265' , '-94906265' ) ;
42
+ test ( macro , '0' , '94906266' , '94906266' ) ;
43
+ test ( macro , '0' , '-94906266' , '-94906266' ) ;
44
+ test ( macro , '0' , '1073741824' , '1073741824' ) ;
45
+ test ( macro , '0' , '-1073741824' , '-1073741824' ) ;
46
+ test ( macro , '0' , '51676101935731' , '51676101935731' ) ;
47
+ test ( macro , '0' , '-51676101935731' , '-51676101935731' ) ;
48
+ test ( macro , '0' , '717897987691852588770249' , '717897987691852588770249' ) ;
49
+ test ( macro , '0' , '-717897987691852588770249' , '-717897987691852588770249' ) ;
50
+ test ( macro , '1' , '0' , '1' ) ;
51
+ test ( macro , '-1' , '0' , '-1' ) ;
15
52
test ( macro , '1' , '1' , '2' ) ;
16
53
test ( macro , '-1' , '1' , '0' ) ;
17
54
test ( macro , '1' , '-1' , '0' ) ;
@@ -80,6 +117,8 @@ test( macro , '1' , '717897987691852588770249' , '717897987691852588770250' ) ;
80
117
test ( macro , '-1' , '717897987691852588770249' , '717897987691852588770248' ) ;
81
118
test ( macro , '1' , '-717897987691852588770249' , '-717897987691852588770248' ) ;
82
119
test ( macro , '-1' , '-717897987691852588770249' , '-717897987691852588770250' ) ;
120
+ test ( macro , '3' , '0' , '3' ) ;
121
+ test ( macro , '-3' , '0' , '-3' ) ;
83
122
test ( macro , '3' , '1' , '4' ) ;
84
123
test ( macro , '-3' , '1' , '-2' ) ;
85
124
test ( macro , '3' , '-1' , '2' ) ;
@@ -148,6 +187,8 @@ test( macro , '3' , '717897987691852588770249' , '717897987691852588770252' ) ;
148
187
test ( macro , '-3' , '717897987691852588770249' , '717897987691852588770246' ) ;
149
188
test ( macro , '3' , '-717897987691852588770249' , '-717897987691852588770246' ) ;
150
189
test ( macro , '-3' , '-717897987691852588770249' , '-717897987691852588770252' ) ;
190
+ test ( macro , '7' , '0' , '7' ) ;
191
+ test ( macro , '-7' , '0' , '-7' ) ;
151
192
test ( macro , '7' , '1' , '8' ) ;
152
193
test ( macro , '-7' , '1' , '-6' ) ;
153
194
test ( macro , '7' , '-1' , '6' ) ;
@@ -216,6 +257,8 @@ test( macro , '7' , '717897987691852588770249' , '717897987691852588770256' ) ;
216
257
test ( macro , '-7' , '717897987691852588770249' , '717897987691852588770242' ) ;
217
258
test ( macro , '7' , '-717897987691852588770249' , '-717897987691852588770242' ) ;
218
259
test ( macro , '-7' , '-717897987691852588770249' , '-717897987691852588770256' ) ;
260
+ test ( macro , '9' , '0' , '9' ) ;
261
+ test ( macro , '-9' , '0' , '-9' ) ;
219
262
test ( macro , '9' , '1' , '10' ) ;
220
263
test ( macro , '-9' , '1' , '-8' ) ;
221
264
test ( macro , '9' , '-1' , '8' ) ;
@@ -284,6 +327,8 @@ test( macro , '9' , '717897987691852588770249' , '717897987691852588770258' ) ;
284
327
test ( macro , '-9' , '717897987691852588770249' , '717897987691852588770240' ) ;
285
328
test ( macro , '9' , '-717897987691852588770249' , '-717897987691852588770240' ) ;
286
329
test ( macro , '-9' , '-717897987691852588770249' , '-717897987691852588770258' ) ;
330
+ test ( macro , '11' , '0' , '11' ) ;
331
+ test ( macro , '-11' , '0' , '-11' ) ;
287
332
test ( macro , '11' , '1' , '12' ) ;
288
333
test ( macro , '-11' , '1' , '-10' ) ;
289
334
test ( macro , '11' , '-1' , '10' ) ;
@@ -352,6 +397,8 @@ test( macro , '11' , '717897987691852588770249' , '717897987691852588770260' ) ;
352
397
test ( macro , '-11' , '717897987691852588770249' , '717897987691852588770238' ) ;
353
398
test ( macro , '11' , '-717897987691852588770249' , '-717897987691852588770238' ) ;
354
399
test ( macro , '-11' , '-717897987691852588770249' , '-717897987691852588770260' ) ;
400
+ test ( macro , '17' , '0' , '17' ) ;
401
+ test ( macro , '-17' , '0' , '-17' ) ;
355
402
test ( macro , '17' , '1' , '18' ) ;
356
403
test ( macro , '-17' , '1' , '-16' ) ;
357
404
test ( macro , '17' , '-1' , '16' ) ;
@@ -420,6 +467,8 @@ test( macro , '17' , '717897987691852588770249' , '717897987691852588770266' ) ;
420
467
test ( macro , '-17' , '717897987691852588770249' , '717897987691852588770232' ) ;
421
468
test ( macro , '17' , '-717897987691852588770249' , '-717897987691852588770232' ) ;
422
469
test ( macro , '-17' , '-717897987691852588770249' , '-717897987691852588770266' ) ;
470
+ test ( macro , '22' , '0' , '22' ) ;
471
+ test ( macro , '-22' , '0' , '-22' ) ;
423
472
test ( macro , '22' , '1' , '23' ) ;
424
473
test ( macro , '-22' , '1' , '-21' ) ;
425
474
test ( macro , '22' , '-1' , '21' ) ;
@@ -488,6 +537,8 @@ test( macro , '22' , '717897987691852588770249' , '717897987691852588770271' ) ;
488
537
test ( macro , '-22' , '717897987691852588770249' , '717897987691852588770227' ) ;
489
538
test ( macro , '22' , '-717897987691852588770249' , '-717897987691852588770227' ) ;
490
539
test ( macro , '-22' , '-717897987691852588770249' , '-717897987691852588770271' ) ;
540
+ test ( macro , '24' , '0' , '24' ) ;
541
+ test ( macro , '-24' , '0' , '-24' ) ;
491
542
test ( macro , '24' , '1' , '25' ) ;
492
543
test ( macro , '-24' , '1' , '-23' ) ;
493
544
test ( macro , '24' , '-1' , '23' ) ;
@@ -556,6 +607,8 @@ test( macro , '24' , '717897987691852588770249' , '717897987691852588770273' ) ;
556
607
test ( macro , '-24' , '717897987691852588770249' , '717897987691852588770225' ) ;
557
608
test ( macro , '24' , '-717897987691852588770249' , '-717897987691852588770225' ) ;
558
609
test ( macro , '-24' , '-717897987691852588770249' , '-717897987691852588770273' ) ;
610
+ test ( macro , '27' , '0' , '27' ) ;
611
+ test ( macro , '-27' , '0' , '-27' ) ;
559
612
test ( macro , '27' , '1' , '28' ) ;
560
613
test ( macro , '-27' , '1' , '-26' ) ;
561
614
test ( macro , '27' , '-1' , '26' ) ;
@@ -624,6 +677,8 @@ test( macro , '27' , '717897987691852588770249' , '717897987691852588770276' ) ;
624
677
test ( macro , '-27' , '717897987691852588770249' , '717897987691852588770222' ) ;
625
678
test ( macro , '27' , '-717897987691852588770249' , '-717897987691852588770222' ) ;
626
679
test ( macro , '-27' , '-717897987691852588770249' , '-717897987691852588770276' ) ;
680
+ test ( macro , '29' , '0' , '29' ) ;
681
+ test ( macro , '-29' , '0' , '-29' ) ;
627
682
test ( macro , '29' , '1' , '30' ) ;
628
683
test ( macro , '-29' , '1' , '-28' ) ;
629
684
test ( macro , '29' , '-1' , '28' ) ;
@@ -692,6 +747,8 @@ test( macro , '29' , '717897987691852588770249' , '717897987691852588770278' ) ;
692
747
test ( macro , '-29' , '717897987691852588770249' , '717897987691852588770220' ) ;
693
748
test ( macro , '29' , '-717897987691852588770249' , '-717897987691852588770220' ) ;
694
749
test ( macro , '-29' , '-717897987691852588770249' , '-717897987691852588770278' ) ;
750
+ test ( macro , '1234' , '0' , '1234' ) ;
751
+ test ( macro , '-1234' , '0' , '-1234' ) ;
695
752
test ( macro , '1234' , '1' , '1235' ) ;
696
753
test ( macro , '-1234' , '1' , '-1233' ) ;
697
754
test ( macro , '1234' , '-1' , '1233' ) ;
@@ -760,6 +817,8 @@ test( macro , '1234' , '717897987691852588770249' , '717897987691852588771483' )
760
817
test ( macro , '-1234' , '717897987691852588770249' , '717897987691852588769015' ) ;
761
818
test ( macro , '1234' , '-717897987691852588770249' , '-717897987691852588769015' ) ;
762
819
test ( macro , '-1234' , '-717897987691852588770249' , '-717897987691852588771483' ) ;
820
+ test ( macro , '5678' , '0' , '5678' ) ;
821
+ test ( macro , '-5678' , '0' , '-5678' ) ;
763
822
test ( macro , '5678' , '1' , '5679' ) ;
764
823
test ( macro , '-5678' , '1' , '-5677' ) ;
765
824
test ( macro , '5678' , '-1' , '5677' ) ;
@@ -828,6 +887,8 @@ test( macro , '5678' , '717897987691852588770249' , '717897987691852588775927' )
828
887
test ( macro , '-5678' , '717897987691852588770249' , '717897987691852588764571' ) ;
829
888
test ( macro , '5678' , '-717897987691852588770249' , '-717897987691852588764571' ) ;
830
889
test ( macro , '-5678' , '-717897987691852588770249' , '-717897987691852588775927' ) ;
890
+ test ( macro , '94906265' , '0' , '94906265' ) ;
891
+ test ( macro , '-94906265' , '0' , '-94906265' ) ;
831
892
test ( macro , '94906265' , '1' , '94906266' ) ;
832
893
test ( macro , '-94906265' , '1' , '-94906264' ) ;
833
894
test ( macro , '94906265' , '-1' , '94906264' ) ;
@@ -896,6 +957,8 @@ test( macro , '94906265' , '717897987691852588770249' , '71789798769185268367651
896
957
test ( macro , '-94906265' , '717897987691852588770249' , '717897987691852493863984' ) ;
897
958
test ( macro , '94906265' , '-717897987691852588770249' , '-717897987691852493863984' ) ;
898
959
test ( macro , '-94906265' , '-717897987691852588770249' , '-717897987691852683676514' ) ;
960
+ test ( macro , '94906266' , '0' , '94906266' ) ;
961
+ test ( macro , '-94906266' , '0' , '-94906266' ) ;
899
962
test ( macro , '94906266' , '1' , '94906267' ) ;
900
963
test ( macro , '-94906266' , '1' , '-94906265' ) ;
901
964
test ( macro , '94906266' , '-1' , '94906265' ) ;
@@ -964,6 +1027,8 @@ test( macro , '94906266' , '717897987691852588770249' , '71789798769185268367651
964
1027
test ( macro , '-94906266' , '717897987691852588770249' , '717897987691852493863983' ) ;
965
1028
test ( macro , '94906266' , '-717897987691852588770249' , '-717897987691852493863983' ) ;
966
1029
test ( macro , '-94906266' , '-717897987691852588770249' , '-717897987691852683676515' ) ;
1030
+ test ( macro , '1073741824' , '0' , '1073741824' ) ;
1031
+ test ( macro , '-1073741824' , '0' , '-1073741824' ) ;
967
1032
test ( macro , '1073741824' , '1' , '1073741825' ) ;
968
1033
test ( macro , '-1073741824' , '1' , '-1073741823' ) ;
969
1034
test ( macro , '1073741824' , '-1' , '1073741823' ) ;
@@ -1032,6 +1097,8 @@ test( macro , '1073741824' , '717897987691852588770249' , '717897987691853662512
1032
1097
test ( macro , '-1073741824' , '717897987691852588770249' , '717897987691851515028425' ) ;
1033
1098
test ( macro , '1073741824' , '-717897987691852588770249' , '-717897987691851515028425' ) ;
1034
1099
test ( macro , '-1073741824' , '-717897987691852588770249' , '-717897987691853662512073' ) ;
1100
+ test ( macro , '51676101935731' , '0' , '51676101935731' ) ;
1101
+ test ( macro , '-51676101935731' , '0' , '-51676101935731' ) ;
1035
1102
test ( macro , '51676101935731' , '1' , '51676101935732' ) ;
1036
1103
test ( macro , '-51676101935731' , '1' , '-51676101935730' ) ;
1037
1104
test ( macro , '51676101935731' , '-1' , '51676101935730' ) ;
@@ -1100,6 +1167,8 @@ test( macro , '51676101935731' , '717897987691852588770249' , '71789798774352869
1100
1167
test ( macro , '-51676101935731' , '717897987691852588770249' , '717897987640176486834518' ) ;
1101
1168
test ( macro , '51676101935731' , '-717897987691852588770249' , '-717897987640176486834518' ) ;
1102
1169
test ( macro , '-51676101935731' , '-717897987691852588770249' , '-717897987743528690705980' ) ;
1170
+ test ( macro , '717897987691852588770249' , '0' , '717897987691852588770249' ) ;
1171
+ test ( macro , '-717897987691852588770249' , '0' , '-717897987691852588770249' ) ;
1103
1172
test ( macro , '717897987691852588770249' , '1' , '717897987691852588770250' ) ;
1104
1173
test ( macro , '-717897987691852588770249' , '1' , '-717897987691852588770248' ) ;
1105
1174
test ( macro , '717897987691852588770249' , '-1' , '717897987691852588770248' ) ;
0 commit comments