1 val arg
: { v
: IntInf
.int, b
: string, oc
: string, d
: string, x
: string} list
= [
2 {v
= 0, b
= "0", oc
= "0", d
= "0", x
= "0"},
3 {v
= ~
0, b
= "~0", oc
= "~0", d
= "~0", x
= "~0"},
4 {v
= 1, b
= "1", oc
= "1", d
= "1", x
= "1"},
5 {v
= ~
1, b
= "~1", oc
= "~1", d
= "~1", x
= "~1"},
6 {v
= 2, b
= "10", oc
= "2", d
= "2", x
= "2"},
7 {v
= ~
2, b
= "~10", oc
= "~2", d
= "~2", x
= "~2"},
8 {v
= 3, b
= "11", oc
= "3", d
= "3", x
= "3"},
9 {v
= ~
3, b
= "~11", oc
= "~3", d
= "~3", x
= "~3"},
10 {v
= 4, b
= "100", oc
= "4", d
= "4", x
= "4"},
11 {v
= ~
4, b
= "~100", oc
= "~4", d
= "~4", x
= "~4"},
12 {v
= 5, b
= "101", oc
= "5", d
= "5", x
= "5"},
13 {v
= ~
5, b
= "~101", oc
= "~5", d
= "~5", x
= "~5"},
14 {v
= 6, b
= "110", oc
= "6", d
= "6", x
= "6"},
15 {v
= ~
6, b
= "~110", oc
= "~6", d
= "~6", x
= "~6"},
16 {v
= 7, b
= "111", oc
= "7", d
= "7", x
= "7"},
17 {v
= ~
7, b
= "~111", oc
= "~7", d
= "~7", x
= "~7"},
18 {v
= 8, b
= "1000", oc
= "10", d
= "8", x
= "8"},
19 {v
= ~
8, b
= "~1000", oc
= "~10", d
= "~8", x
= "~8"},
20 {v
= 9, b
= "1001", oc
= "11", d
= "9", x
= "9"},
21 {v
= ~
9, b
= "~1001", oc
= "~11", d
= "~9", x
= "~9"},
22 {v
= 10, b
= "1010", oc
= "12", d
= "10", x
= "A"},
23 {v
= ~
10, b
= "~1010", oc
= "~12", d
= "~10", x
= "~A"},
24 {v
= 11, b
= "1011", oc
= "13", d
= "11", x
= "B"},
25 {v
= ~
11, b
= "~1011", oc
= "~13", d
= "~11", x
= "~B"},
26 {v
= 12, b
= "1100", oc
= "14", d
= "12", x
= "C"},
27 {v
= ~
12, b
= "~1100", oc
= "~14", d
= "~12", x
= "~C"},
28 {v
= 13, b
= "1101", oc
= "15", d
= "13", x
= "D"},
29 {v
= ~
13, b
= "~1101", oc
= "~15", d
= "~13", x
= "~D"},
30 {v
= 14, b
= "1110", oc
= "16", d
= "14", x
= "E"},
31 {v
= ~
14, b
= "~1110", oc
= "~16", d
= "~14", x
= "~E"},
32 {v
= 15, b
= "1111", oc
= "17", d
= "15", x
= "F"},
33 {v
= ~
15, b
= "~1111", oc
= "~17", d
= "~15", x
= "~F"},
34 {v
= 16, b
= "10000", oc
= "20", d
= "16", x
= "10"},
35 {v
= ~
16, b
= "~10000", oc
= "~20", d
= "~16", x
= "~10"},
36 {v
= 17, b
= "10001", oc
= "21", d
= "17", x
= "11"},
37 {v
= ~
17, b
= "~10001", oc
= "~21", d
= "~17", x
= "~11"},
38 {v
= 18, b
= "10010", oc
= "22", d
= "18", x
= "12"},
39 {v
= ~
18, b
= "~10010", oc
= "~22", d
= "~18", x
= "~12"},
40 {v
= 19, b
= "10011", oc
= "23", d
= "19", x
= "13"},
41 {v
= ~
19, b
= "~10011", oc
= "~23", d
= "~19", x
= "~13"},
42 {v
= 20, b
= "10100", oc
= "24", d
= "20", x
= "14"},
43 {v
= ~
20, b
= "~10100", oc
= "~24", d
= "~20", x
= "~14"},
44 {v
= 21, b
= "10101", oc
= "25", d
= "21", x
= "15"},
45 {v
= ~
21, b
= "~10101", oc
= "~25", d
= "~21", x
= "~15"},
46 {v
= 22, b
= "10110", oc
= "26", d
= "22", x
= "16"},
47 {v
= ~
22, b
= "~10110", oc
= "~26", d
= "~22", x
= "~16"},
48 {v
= 23, b
= "10111", oc
= "27", d
= "23", x
= "17"},
49 {v
= ~
23, b
= "~10111", oc
= "~27", d
= "~23", x
= "~17"},
50 {v
= 24, b
= "11000", oc
= "30", d
= "24", x
= "18"},
51 {v
= ~
24, b
= "~11000", oc
= "~30", d
= "~24", x
= "~18"},
52 {v
= 25, b
= "11001", oc
= "31", d
= "25", x
= "19"},
53 {v
= ~
25, b
= "~11001", oc
= "~31", d
= "~25", x
= "~19"},
54 {v
= 26, b
= "11010", oc
= "32", d
= "26", x
= "1A"},
55 {v
= ~
26, b
= "~11010", oc
= "~32", d
= "~26", x
= "~1A"},
56 {v
= 27, b
= "11011", oc
= "33", d
= "27", x
= "1B"},
57 {v
= ~
27, b
= "~11011", oc
= "~33", d
= "~27", x
= "~1B"},
58 {v
= 28, b
= "11100", oc
= "34", d
= "28", x
= "1C"},
59 {v
= ~
28, b
= "~11100", oc
= "~34", d
= "~28", x
= "~1C"},
60 {v
= 29, b
= "11101", oc
= "35", d
= "29", x
= "1D"},
61 {v
= ~
29, b
= "~11101", oc
= "~35", d
= "~29", x
= "~1D"},
62 {v
= 30, b
= "11110", oc
= "36", d
= "30", x
= "1E"},
63 {v
= ~
30, b
= "~11110", oc
= "~36", d
= "~30", x
= "~1E"},
64 {v
= 31, b
= "11111", oc
= "37", d
= "31", x
= "1F"},
65 {v
= ~
31, b
= "~11111", oc
= "~37", d
= "~31", x
= "~1F"},
66 {v
= 32, b
= "100000", oc
= "40", d
= "32", x
= "20"},
67 {v
= ~
32, b
= "~100000", oc
= "~40", d
= "~32", x
= "~20"},
68 {v
= 33, b
= "100001", oc
= "41", d
= "33", x
= "21"},
69 {v
= ~
33, b
= "~100001", oc
= "~41", d
= "~33", x
= "~21"},
70 {v
= 34, b
= "100010", oc
= "42", d
= "34", x
= "22"},
71 {v
= ~
34, b
= "~100010", oc
= "~42", d
= "~34", x
= "~22"},
72 {v
= 35, b
= "100011", oc
= "43", d
= "35", x
= "23"},
73 {v
= ~
35, b
= "~100011", oc
= "~43", d
= "~35", x
= "~23"},
74 {v
= 36, b
= "100100", oc
= "44", d
= "36", x
= "24"},
75 {v
= ~
36, b
= "~100100", oc
= "~44", d
= "~36", x
= "~24"},
76 {v
= 37, b
= "100101", oc
= "45", d
= "37", x
= "25"},
77 {v
= ~
37, b
= "~100101", oc
= "~45", d
= "~37", x
= "~25"},
78 {v
= 38, b
= "100110", oc
= "46", d
= "38", x
= "26"},
79 {v
= ~
38, b
= "~100110", oc
= "~46", d
= "~38", x
= "~26"},
80 {v
= 39, b
= "100111", oc
= "47", d
= "39", x
= "27"},
81 {v
= ~
39, b
= "~100111", oc
= "~47", d
= "~39", x
= "~27"},
82 {v
= 40, b
= "101000", oc
= "50", d
= "40", x
= "28"},
83 {v
= ~
40, b
= "~101000", oc
= "~50", d
= "~40", x
= "~28"},
84 {v
= 41, b
= "101001", oc
= "51", d
= "41", x
= "29"},
85 {v
= ~
41, b
= "~101001", oc
= "~51", d
= "~41", x
= "~29"},
86 {v
= 42, b
= "101010", oc
= "52", d
= "42", x
= "2A"},
87 {v
= ~
42, b
= "~101010", oc
= "~52", d
= "~42", x
= "~2A"},
88 {v
= 43, b
= "101011", oc
= "53", d
= "43", x
= "2B"},
89 {v
= ~
43, b
= "~101011", oc
= "~53", d
= "~43", x
= "~2B"},
90 {v
= 44, b
= "101100", oc
= "54", d
= "44", x
= "2C"},
91 {v
= ~
44, b
= "~101100", oc
= "~54", d
= "~44", x
= "~2C"},
92 {v
= 45, b
= "101101", oc
= "55", d
= "45", x
= "2D"},
93 {v
= ~
45, b
= "~101101", oc
= "~55", d
= "~45", x
= "~2D"},
94 {v
= 46, b
= "101110", oc
= "56", d
= "46", x
= "2E"},
95 {v
= ~
46, b
= "~101110", oc
= "~56", d
= "~46", x
= "~2E"},
96 {v
= 47, b
= "101111", oc
= "57", d
= "47", x
= "2F"},
97 {v
= ~
47, b
= "~101111", oc
= "~57", d
= "~47", x
= "~2F"},
98 {v
= 48, b
= "110000", oc
= "60", d
= "48", x
= "30"},
99 {v
= ~
48, b
= "~110000", oc
= "~60", d
= "~48", x
= "~30"},
100 {v
= 49, b
= "110001", oc
= "61", d
= "49", x
= "31"},
101 {v
= ~
49, b
= "~110001", oc
= "~61", d
= "~49", x
= "~31"},
102 {v
= 50, b
= "110010", oc
= "62", d
= "50", x
= "32"},
103 {v
= ~
50, b
= "~110010", oc
= "~62", d
= "~50", x
= "~32"},
104 {v
= 51, b
= "110011", oc
= "63", d
= "51", x
= "33"},
105 {v
= ~
51, b
= "~110011", oc
= "~63", d
= "~51", x
= "~33"},
106 {v
= 52, b
= "110100", oc
= "64", d
= "52", x
= "34"},
107 {v
= ~
52, b
= "~110100", oc
= "~64", d
= "~52", x
= "~34"},
108 {v
= 53, b
= "110101", oc
= "65", d
= "53", x
= "35"},
109 {v
= ~
53, b
= "~110101", oc
= "~65", d
= "~53", x
= "~35"},
110 {v
= 54, b
= "110110", oc
= "66", d
= "54", x
= "36"},
111 {v
= ~
54, b
= "~110110", oc
= "~66", d
= "~54", x
= "~36"},
112 {v
= 55, b
= "110111", oc
= "67", d
= "55", x
= "37"},
113 {v
= ~
55, b
= "~110111", oc
= "~67", d
= "~55", x
= "~37"},
114 {v
= 56, b
= "111000", oc
= "70", d
= "56", x
= "38"},
115 {v
= ~
56, b
= "~111000", oc
= "~70", d
= "~56", x
= "~38"},
116 {v
= 57, b
= "111001", oc
= "71", d
= "57", x
= "39"},
117 {v
= ~
57, b
= "~111001", oc
= "~71", d
= "~57", x
= "~39"},
118 {v
= 58, b
= "111010", oc
= "72", d
= "58", x
= "3A"},
119 {v
= ~
58, b
= "~111010", oc
= "~72", d
= "~58", x
= "~3A"},
120 {v
= 59, b
= "111011", oc
= "73", d
= "59", x
= "3B"},
121 {v
= ~
59, b
= "~111011", oc
= "~73", d
= "~59", x
= "~3B"},
122 {v
= 60, b
= "111100", oc
= "74", d
= "60", x
= "3C"},
123 {v
= ~
60, b
= "~111100", oc
= "~74", d
= "~60", x
= "~3C"},
124 {v
= 61, b
= "111101", oc
= "75", d
= "61", x
= "3D"},
125 {v
= ~
61, b
= "~111101", oc
= "~75", d
= "~61", x
= "~3D"},
126 {v
= 62, b
= "111110", oc
= "76", d
= "62", x
= "3E"},
127 {v
= ~
62, b
= "~111110", oc
= "~76", d
= "~62", x
= "~3E"},
128 {v
= 63, b
= "111111", oc
= "77", d
= "63", x
= "3F"},
129 {v
= ~
63, b
= "~111111", oc
= "~77", d
= "~63", x
= "~3F"},
130 {v
= 64, b
= "1000000", oc
= "100", d
= "64", x
= "40"},
131 {v
= ~
64, b
= "~1000000", oc
= "~100", d
= "~64", x
= "~40"},
132 {v
= 65, b
= "1000001", oc
= "101", d
= "65", x
= "41"},
133 {v
= ~
65, b
= "~1000001", oc
= "~101", d
= "~65", x
= "~41"},
134 {v
= 66, b
= "1000010", oc
= "102", d
= "66", x
= "42"},
135 {v
= ~
66, b
= "~1000010", oc
= "~102", d
= "~66", x
= "~42"},
136 {v
= 67, b
= "1000011", oc
= "103", d
= "67", x
= "43"},
137 {v
= ~
67, b
= "~1000011", oc
= "~103", d
= "~67", x
= "~43"},
138 {v
= 68, b
= "1000100", oc
= "104", d
= "68", x
= "44"},
139 {v
= ~
68, b
= "~1000100", oc
= "~104", d
= "~68", x
= "~44"},
140 {v
= 69, b
= "1000101", oc
= "105", d
= "69", x
= "45"},
141 {v
= ~
69, b
= "~1000101", oc
= "~105", d
= "~69", x
= "~45"},
142 {v
= 70, b
= "1000110", oc
= "106", d
= "70", x
= "46"},
143 {v
= ~
70, b
= "~1000110", oc
= "~106", d
= "~70", x
= "~46"},
144 {v
= 71, b
= "1000111", oc
= "107", d
= "71", x
= "47"},
145 {v
= ~
71, b
= "~1000111", oc
= "~107", d
= "~71", x
= "~47"},
146 {v
= 72, b
= "1001000", oc
= "110", d
= "72", x
= "48"},
147 {v
= ~
72, b
= "~1001000", oc
= "~110", d
= "~72", x
= "~48"},
148 {v
= 73, b
= "1001001", oc
= "111", d
= "73", x
= "49"},
149 {v
= ~
73, b
= "~1001001", oc
= "~111", d
= "~73", x
= "~49"},
150 {v
= 74, b
= "1001010", oc
= "112", d
= "74", x
= "4A"},
151 {v
= ~
74, b
= "~1001010", oc
= "~112", d
= "~74", x
= "~4A"},
152 {v
= 75, b
= "1001011", oc
= "113", d
= "75", x
= "4B"},
153 {v
= ~
75, b
= "~1001011", oc
= "~113", d
= "~75", x
= "~4B"},
154 {v
= 76, b
= "1001100", oc
= "114", d
= "76", x
= "4C"},
155 {v
= ~
76, b
= "~1001100", oc
= "~114", d
= "~76", x
= "~4C"},
156 {v
= 77, b
= "1001101", oc
= "115", d
= "77", x
= "4D"},
157 {v
= ~
77, b
= "~1001101", oc
= "~115", d
= "~77", x
= "~4D"},
158 {v
= 78, b
= "1001110", oc
= "116", d
= "78", x
= "4E"},
159 {v
= ~
78, b
= "~1001110", oc
= "~116", d
= "~78", x
= "~4E"},
160 {v
= 79, b
= "1001111", oc
= "117", d
= "79", x
= "4F"},
161 {v
= ~
79, b
= "~1001111", oc
= "~117", d
= "~79", x
= "~4F"},
162 {v
= 80, b
= "1010000", oc
= "120", d
= "80", x
= "50"},
163 {v
= ~
80, b
= "~1010000", oc
= "~120", d
= "~80", x
= "~50"},
164 {v
= 81, b
= "1010001", oc
= "121", d
= "81", x
= "51"},
165 {v
= ~
81, b
= "~1010001", oc
= "~121", d
= "~81", x
= "~51"},
166 {v
= 82, b
= "1010010", oc
= "122", d
= "82", x
= "52"},
167 {v
= ~
82, b
= "~1010010", oc
= "~122", d
= "~82", x
= "~52"},
168 {v
= 83, b
= "1010011", oc
= "123", d
= "83", x
= "53"},
169 {v
= ~
83, b
= "~1010011", oc
= "~123", d
= "~83", x
= "~53"},
170 {v
= 84, b
= "1010100", oc
= "124", d
= "84", x
= "54"},
171 {v
= ~
84, b
= "~1010100", oc
= "~124", d
= "~84", x
= "~54"},
172 {v
= 85, b
= "1010101", oc
= "125", d
= "85", x
= "55"},
173 {v
= ~
85, b
= "~1010101", oc
= "~125", d
= "~85", x
= "~55"},
174 {v
= 86, b
= "1010110", oc
= "126", d
= "86", x
= "56"},
175 {v
= ~
86, b
= "~1010110", oc
= "~126", d
= "~86", x
= "~56"},
176 {v
= 87, b
= "1010111", oc
= "127", d
= "87", x
= "57"},
177 {v
= ~
87, b
= "~1010111", oc
= "~127", d
= "~87", x
= "~57"},
178 {v
= 88, b
= "1011000", oc
= "130", d
= "88", x
= "58"},
179 {v
= ~
88, b
= "~1011000", oc
= "~130", d
= "~88", x
= "~58"},
180 {v
= 89, b
= "1011001", oc
= "131", d
= "89", x
= "59"},
181 {v
= ~
89, b
= "~1011001", oc
= "~131", d
= "~89", x
= "~59"},
182 {v
= 90, b
= "1011010", oc
= "132", d
= "90", x
= "5A"},
183 {v
= ~
90, b
= "~1011010", oc
= "~132", d
= "~90", x
= "~5A"},
184 {v
= 91, b
= "1011011", oc
= "133", d
= "91", x
= "5B"},
185 {v
= ~
91, b
= "~1011011", oc
= "~133", d
= "~91", x
= "~5B"},
186 {v
= 92, b
= "1011100", oc
= "134", d
= "92", x
= "5C"},
187 {v
= ~
92, b
= "~1011100", oc
= "~134", d
= "~92", x
= "~5C"},
188 {v
= 93, b
= "1011101", oc
= "135", d
= "93", x
= "5D"},
189 {v
= ~
93, b
= "~1011101", oc
= "~135", d
= "~93", x
= "~5D"},
190 {v
= 94, b
= "1011110", oc
= "136", d
= "94", x
= "5E"},
191 {v
= ~
94, b
= "~1011110", oc
= "~136", d
= "~94", x
= "~5E"},
192 {v
= 95, b
= "1011111", oc
= "137", d
= "95", x
= "5F"},
193 {v
= ~
95, b
= "~1011111", oc
= "~137", d
= "~95", x
= "~5F"},
194 {v
= 96, b
= "1100000", oc
= "140", d
= "96", x
= "60"},
195 {v
= ~
96, b
= "~1100000", oc
= "~140", d
= "~96", x
= "~60"},
196 {v
= 97, b
= "1100001", oc
= "141", d
= "97", x
= "61"},
197 {v
= ~
97, b
= "~1100001", oc
= "~141", d
= "~97", x
= "~61"},
198 {v
= 98, b
= "1100010", oc
= "142", d
= "98", x
= "62"},
199 {v
= ~
98, b
= "~1100010", oc
= "~142", d
= "~98", x
= "~62"},
200 {v
= 99, b
= "1100011", oc
= "143", d
= "99", x
= "63"},
201 {v
= ~
99, b
= "~1100011", oc
= "~143", d
= "~99", x
= "~63"},
202 {v
= 128, b
= "10000000", oc
= "200", d
= "128", x
= "80"},
203 {v
= ~
128, b
= "~10000000", oc
= "~200", d
= "~128", x
= "~80"},
204 {v
= 256, b
= "100000000", oc
= "400", d
= "256", x
= "100"},
205 {v
= ~
256, b
= "~100000000", oc
= "~400", d
= "~256", x
= "~100"},
206 {v
= 512, b
= "1000000000", oc
= "1000", d
= "512", x
= "200"},
207 {v
= ~
512, b
= "~1000000000", oc
= "~1000", d
= "~512", x
= "~200"},
208 {v
= 1024, b
= "10000000000", oc
= "2000", d
= "1024", x
= "400"},
209 {v
= ~
1024, b
= "~10000000000", oc
= "~2000", d
= "~1024", x
= "~400"},
210 {v
= 2048, b
= "100000000000", oc
= "4000", d
= "2048", x
= "800"},
211 {v
= ~
2048, b
= "~100000000000", oc
= "~4000", d
= "~2048", x
= "~800"},
212 {v
= 4096, b
= "1000000000000", oc
= "10000", d
= "4096", x
= "1000"},
213 {v
= ~
4096, b
= "~1000000000000", oc
= "~10000", d
= "~4096", x
= "~1000"},
214 {v
= 8192, b
= "10000000000000", oc
= "20000", d
= "8192", x
= "2000"},
215 {v
= ~
8192, b
= "~10000000000000", oc
= "~20000", d
= "~8192", x
= "~2000"},
216 {v
= 16384, b
= "100000000000000", oc
= "40000", d
= "16384", x
= "4000"},
217 {v
= ~
16384, b
= "~100000000000000", oc
= "~40000", d
= "~16384", x
= "~4000"},
218 {v
= 32768, b
= "1000000000000000", oc
= "100000", d
= "32768", x
= "8000"},
219 {v
= ~
32768, b
= "~1000000000000000", oc
= "~100000", d
= "~32768", x
= "~8000"},
220 {v
= 65536, b
= "10000000000000000", oc
= "200000", d
= "65536", x
= "10000"},
221 {v
= ~
65536, b
= "~10000000000000000", oc
= "~200000", d
= "~65536", x
= "~10000"},
222 {v
= 131072, b
= "100000000000000000", oc
= "400000", d
= "131072", x
= "20000"},
223 {v
= ~
131072, b
= "~100000000000000000", oc
= "~400000", d
= "~131072", x
= "~20000"},
224 {v
= 262144, b
= "1000000000000000000", oc
= "1000000", d
= "262144", x
= "40000"},
225 {v
= ~
262144, b
= "~1000000000000000000", oc
= "~1000000", d
= "~262144", x
= "~40000"},
226 {v
= 524288, b
= "10000000000000000000", oc
= "2000000", d
= "524288", x
= "80000"},
227 {v
= ~
524288, b
= "~10000000000000000000", oc
= "~2000000", d
= "~524288", x
= "~80000"},
228 {v
= 1048576, b
= "100000000000000000000", oc
= "4000000", d
= "1048576", x
= "100000"},
229 {v
= ~
1048576, b
= "~100000000000000000000", oc
= "~4000000", d
= "~1048576", x
= "~100000"},
230 {v
= 2097152, b
= "1000000000000000000000", oc
= "10000000", d
= "2097152", x
= "200000"},
231 {v
= ~
2097152, b
= "~1000000000000000000000", oc
= "~10000000", d
= "~2097152", x
= "~200000"},
232 {v
= 4194304, b
= "10000000000000000000000", oc
= "20000000", d
= "4194304", x
= "400000"},
233 {v
= ~
4194304, b
= "~10000000000000000000000", oc
= "~20000000", d
= "~4194304", x
= "~400000"},
234 {v
= 8388608, b
= "100000000000000000000000", oc
= "40000000", d
= "8388608", x
= "800000"},
235 {v
= ~
8388608, b
= "~100000000000000000000000", oc
= "~40000000", d
= "~8388608", x
= "~800000"},
236 {v
= 16777216, b
= "1000000000000000000000000", oc
= "100000000", d
= "16777216", x
= "1000000"},
237 {v
= ~
16777216, b
= "~1000000000000000000000000", oc
= "~100000000", d
= "~16777216", x
= "~1000000"},
238 {v
= 33554432, b
= "10000000000000000000000000", oc
= "200000000", d
= "33554432", x
= "2000000"},
239 {v
= ~
33554432, b
= "~10000000000000000000000000", oc
= "~200000000", d
= "~33554432", x
= "~2000000"},
240 {v
= 67108864, b
= "100000000000000000000000000", oc
= "400000000", d
= "67108864", x
= "4000000"},
241 {v
= ~
67108864, b
= "~100000000000000000000000000", oc
= "~400000000", d
= "~67108864", x
= "~4000000"},
242 {v
= 100000000, b
= "101111101011110000100000000", oc
= "575360400", d
= "100000000", x
= "5F5E100"},
243 {v
= ~
100000000, b
= "~101111101011110000100000000", oc
= "~575360400", d
= "~100000000", x
= "~5F5E100"},
244 {v
= 134217728, b
= "1000000000000000000000000000", oc
= "1000000000", d
= "134217728", x
= "8000000"},
245 {v
= ~
134217728, b
= "~1000000000000000000000000000", oc
= "~1000000000", d
= "~134217728", x
= "~8000000"},
246 {v
= 268435456, b
= "10000000000000000000000000000", oc
= "2000000000", d
= "268435456", x
= "10000000"},
247 {v
= ~
268435456, b
= "~10000000000000000000000000000", oc
= "~2000000000", d
= "~268435456", x
= "~10000000"},
248 {v
= 536870912, b
= "100000000000000000000000000000", oc
= "4000000000", d
= "536870912", x
= "20000000"},
249 {v
= ~
536870912, b
= "~100000000000000000000000000000", oc
= "~4000000000", d
= "~536870912", x
= "~20000000"},
250 {v
= 1073741822, b
= "111111111111111111111111111110", oc
= "7777777776", d
= "1073741822", x
= "3FFFFFFE"},
251 {v
= ~
1073741822, b
= "~111111111111111111111111111110", oc
= "~7777777776", d
= "~1073741822", x
= "~3FFFFFFE"},
252 {v
= 1073741823, b
= "111111111111111111111111111111", oc
= "7777777777", d
= "1073741823", x
= "3FFFFFFF"},
253 {v
= ~
1073741823, b
= "~111111111111111111111111111111", oc
= "~7777777777", d
= "~1073741823", x
= "~3FFFFFFF"},
254 {v
= 1073741824, b
= "1000000000000000000000000000000", oc
= "10000000000", d
= "1073741824", x
= "40000000"},
255 {v
= ~
1073741824, b
= "~1000000000000000000000000000000", oc
= "~10000000000", d
= "~1073741824", x
= "~40000000"},
256 {v
= 1073741825, b
= "1000000000000000000000000000001", oc
= "10000000001", d
= "1073741825", x
= "40000001"},
257 {v
= ~
1073741825, b
= "~1000000000000000000000000000001", oc
= "~10000000001", d
= "~1073741825", x
= "~40000001"},
258 {v
= 1073741826, b
= "1000000000000000000000000000010", oc
= "10000000002", d
= "1073741826", x
= "40000002"},
259 {v
= ~
1073741826, b
= "~1000000000000000000000000000010", oc
= "~10000000002", d
= "~1073741826", x
= "~40000002"},
260 {v
= 2147483648, b
= "10000000000000000000000000000000", oc
= "20000000000", d
= "2147483648", x
= "80000000"},
261 {v
= ~
2147483648, b
= "~10000000000000000000000000000000", oc
= "~20000000000", d
= "~2147483648", x
= "~80000000"},
262 {v
= 4294967296, b
= "100000000000000000000000000000000", oc
= "40000000000", d
= "4294967296", x
= "100000000"},
263 {v
= ~
4294967296, b
= "~100000000000000000000000000000000", oc
= "~40000000000", d
= "~4294967296", x
= "~100000000"},
264 {v
= 4304967296, b
= "100000000100110001001011010000000", oc
= "40046113200", d
= "4304967296", x
= "100989680"},
265 {v
= ~
4304967296, b
= "~100000000100110001001011010000000", oc
= "~40046113200", d
= "~4304967296", x
= "~100989680"},
266 {v
= 8589934592, b
= "1000000000000000000000000000000000", oc
= "100000000000", d
= "8589934592", x
= "200000000"},
267 {v
= ~
8589934592, b
= "~1000000000000000000000000000000000", oc
= "~100000000000", d
= "~8589934592", x
= "~200000000"},
268 {v
= 17179869184, b
= "10000000000000000000000000000000000", oc
= "200000000000", d
= "17179869184", x
= "400000000"},
269 {v
= ~
17179869184, b
= "~10000000000000000000000000000000000", oc
= "~200000000000", d
= "~17179869184", x
= "~400000000"},
270 {v
= 34359738368, b
= "100000000000000000000000000000000000", oc
= "400000000000", d
= "34359738368", x
= "800000000"},
271 {v
= ~
34359738368, b
= "~100000000000000000000000000000000000", oc
= "~400000000000", d
= "~34359738368", x
= "~800000000"},
272 {v
= 68719476736, b
= "1000000000000000000000000000000000000", oc
= "1000000000000", d
= "68719476736", x
= "1000000000"},
273 {v
= ~
68719476736, b
= "~1000000000000000000000000000000000000", oc
= "~1000000000000", d
= "~68719476736", x
= "~1000000000"},
274 {v
= 137438953472, b
= "10000000000000000000000000000000000000", oc
= "2000000000000", d
= "137438953472", x
= "2000000000"},
275 {v
= ~
137438953472, b
= "~10000000000000000000000000000000000000", oc
= "~2000000000000", d
= "~137438953472", x
= "~2000000000"},
276 {v
= 274877906944, b
= "100000000000000000000000000000000000000", oc
= "4000000000000", d
= "274877906944", x
= "4000000000"},
277 {v
= ~
274877906944, b
= "~100000000000000000000000000000000000000", oc
= "~4000000000000", d
= "~274877906944", x
= "~4000000000"},
278 {v
= 549755813888, b
= "1000000000000000000000000000000000000000", oc
= "10000000000000", d
= "549755813888", x
= "8000000000"},
279 {v
= ~
549755813888, b
= "~1000000000000000000000000000000000000000", oc
= "~10000000000000", d
= "~549755813888", x
= "~8000000000"},
280 {v
= 1099511627776, b
= "10000000000000000000000000000000000000000", oc
= "20000000000000", d
= "1099511627776", x
= "10000000000"},
281 {v
= ~
1099511627776, b
= "~10000000000000000000000000000000000000000", oc
= "~20000000000000", d
= "~1099511627776", x
= "~10000000000"},
282 {v
= 2199023255552, b
= "100000000000000000000000000000000000000000", oc
= "40000000000000", d
= "2199023255552", x
= "20000000000"},
283 {v
= ~
2199023255552, b
= "~100000000000000000000000000000000000000000", oc
= "~40000000000000", d
= "~2199023255552", x
= "~20000000000"},
284 {v
= 4398046511104, b
= "1000000000000000000000000000000000000000000", oc
= "100000000000000", d
= "4398046511104", x
= "40000000000"},
285 {v
= ~
4398046511104, b
= "~1000000000000000000000000000000000000000000", oc
= "~100000000000000", d
= "~4398046511104", x
= "~40000000000"},
286 {v
= 8796093022208, b
= "10000000000000000000000000000000000000000000", oc
= "200000000000000", d
= "8796093022208", x
= "80000000000"},
287 {v
= ~
8796093022208, b
= "~10000000000000000000000000000000000000000000", oc
= "~200000000000000", d
= "~8796093022208", x
= "~80000000000"},
288 {v
= 17592186044416, b
= "100000000000000000000000000000000000000000000", oc
= "400000000000000", d
= "17592186044416", x
= "100000000000"},
289 {v
= ~
17592186044416, b
= "~100000000000000000000000000000000000000000000", oc
= "~400000000000000", d
= "~17592186044416", x
= "~100000000000"},
290 {v
= 35184372088832, b
= "1000000000000000000000000000000000000000000000", oc
= "1000000000000000", d
= "35184372088832", x
= "200000000000"},
291 {v
= ~
35184372088832, b
= "~1000000000000000000000000000000000000000000000", oc
= "~1000000000000000", d
= "~35184372088832", x
= "~200000000000"},
292 {v
= 70368744177664, b
= "10000000000000000000000000000000000000000000000", oc
= "2000000000000000", d
= "70368744177664", x
= "400000000000"},
293 {v
= ~
70368744177664, b
= "~10000000000000000000000000000000000000000000000", oc
= "~2000000000000000", d
= "~70368744177664", x
= "~400000000000"},
294 {v
= 140737488355328, b
= "100000000000000000000000000000000000000000000000", oc
= "4000000000000000", d
= "140737488355328", x
= "800000000000"},
295 {v
= ~
140737488355328, b
= "~100000000000000000000000000000000000000000000000", oc
= "~4000000000000000", d
= "~140737488355328", x
= "~800000000000"},
296 {v
= 281474976710656, b
= "1000000000000000000000000000000000000000000000000", oc
= "10000000000000000", d
= "281474976710656", x
= "1000000000000"},
297 {v
= ~
281474976710656, b
= "~1000000000000000000000000000000000000000000000000", oc
= "~10000000000000000", d
= "~281474976710656", x
= "~1000000000000"},
298 {v
= 562949953421312, b
= "10000000000000000000000000000000000000000000000000", oc
= "20000000000000000", d
= "562949953421312", x
= "2000000000000"},
299 {v
= ~
562949953421312, b
= "~10000000000000000000000000000000000000000000000000", oc
= "~20000000000000000", d
= "~562949953421312", x
= "~2000000000000"},
300 {v
= 1125899906842624, b
= "100000000000000000000000000000000000000000000000000", oc
= "40000000000000000", d
= "1125899906842624", x
= "4000000000000"},
301 {v
= ~
1125899906842624, b
= "~100000000000000000000000000000000000000000000000000", oc
= "~40000000000000000", d
= "~1125899906842624", x
= "~4000000000000"},
302 {v
= 2251799813685248, b
= "1000000000000000000000000000000000000000000000000000", oc
= "100000000000000000", d
= "2251799813685248", x
= "8000000000000"},
303 {v
= ~
2251799813685248, b
= "~1000000000000000000000000000000000000000000000000000", oc
= "~100000000000000000", d
= "~2251799813685248", x
= "~8000000000000"},
304 {v
= 4503599627370496, b
= "10000000000000000000000000000000000000000000000000000", oc
= "200000000000000000", d
= "4503599627370496", x
= "10000000000000"},
305 {v
= ~
4503599627370496, b
= "~10000000000000000000000000000000000000000000000000000", oc
= "~200000000000000000", d
= "~4503599627370496", x
= "~10000000000000"},
306 {v
= 9007199254740992, b
= "100000000000000000000000000000000000000000000000000000", oc
= "400000000000000000", d
= "9007199254740992", x
= "20000000000000"},
307 {v
= ~
9007199254740992, b
= "~100000000000000000000000000000000000000000000000000000", oc
= "~400000000000000000", d
= "~9007199254740992", x
= "~20000000000000"},
308 {v
= 18014398509481984, b
= "1000000000000000000000000000000000000000000000000000000", oc
= "1000000000000000000", d
= "18014398509481984", x
= "40000000000000"},
309 {v
= ~
18014398509481984, b
= "~1000000000000000000000000000000000000000000000000000000", oc
= "~1000000000000000000", d
= "~18014398509481984", x
= "~40000000000000"},
310 {v
= 36028797018963968, b
= "10000000000000000000000000000000000000000000000000000000", oc
= "2000000000000000000", d
= "36028797018963968", x
= "80000000000000"},
311 {v
= ~
36028797018963968, b
= "~10000000000000000000000000000000000000000000000000000000", oc
= "~2000000000000000000", d
= "~36028797018963968", x
= "~80000000000000"},
312 {v
= 72057594037927936, b
= "100000000000000000000000000000000000000000000000000000000", oc
= "4000000000000000000", d
= "72057594037927936", x
= "100000000000000"},
313 {v
= ~
72057594037927936, b
= "~100000000000000000000000000000000000000000000000000000000", oc
= "~4000000000000000000", d
= "~72057594037927936", x
= "~100000000000000"},
314 {v
= 144115188075855872, b
= "1000000000000000000000000000000000000000000000000000000000", oc
= "10000000000000000000", d
= "144115188075855872", x
= "200000000000000"},
315 {v
= ~
144115188075855872, b
= "~1000000000000000000000000000000000000000000000000000000000", oc
= "~10000000000000000000", d
= "~144115188075855872", x
= "~200000000000000"},
316 {v
= 288230376151711744, b
= "10000000000000000000000000000000000000000000000000000000000", oc
= "20000000000000000000", d
= "288230376151711744", x
= "400000000000000"},
317 {v
= ~
288230376151711744, b
= "~10000000000000000000000000000000000000000000000000000000000", oc
= "~20000000000000000000", d
= "~288230376151711744", x
= "~400000000000000"},
318 {v
= 576460752303423488, b
= "100000000000000000000000000000000000000000000000000000000000", oc
= "40000000000000000000", d
= "576460752303423488", x
= "800000000000000"},
319 {v
= ~
576460752303423488, b
= "~100000000000000000000000000000000000000000000000000000000000", oc
= "~40000000000000000000", d
= "~576460752303423488", x
= "~800000000000000"},
320 {v
= 1152921504606846976, b
= "1000000000000000000000000000000000000000000000000000000000000", oc
= "100000000000000000000", d
= "1152921504606846976", x
= "1000000000000000"},
321 {v
= ~
1152921504606846976, b
= "~1000000000000000000000000000000000000000000000000000000000000", oc
= "~100000000000000000000", d
= "~1152921504606846976", x
= "~1000000000000000"},
322 {v
= 2305843009213693952, b
= "10000000000000000000000000000000000000000000000000000000000000", oc
= "200000000000000000000", d
= "2305843009213693952", x
= "2000000000000000"},
323 {v
= ~
2305843009213693952, b
= "~10000000000000000000000000000000000000000000000000000000000000", oc
= "~200000000000000000000", d
= "~2305843009213693952", x
= "~2000000000000000"},
324 {v
= 4611686018427387904, b
= "100000000000000000000000000000000000000000000000000000000000000", oc
= "400000000000000000000", d
= "4611686018427387904", x
= "4000000000000000"},
325 {v
= ~
4611686018427387904, b
= "~100000000000000000000000000000000000000000000000000000000000000", oc
= "~400000000000000000000", d
= "~4611686018427387904", x
= "~4000000000000000"},
326 {v
= 9223372036854775808, b
= "1000000000000000000000000000000000000000000000000000000000000000", oc
= "1000000000000000000000", d
= "9223372036854775808", x
= "8000000000000000"},
327 {v
= ~
9223372036854775808, b
= "~1000000000000000000000000000000000000000000000000000000000000000", oc
= "~1000000000000000000000", d
= "~9223372036854775808", x
= "~8000000000000000"},
328 {v
= 18446744073709551616, b
= "10000000000000000000000000000000000000000000000000000000000000000", oc
= "2000000000000000000000", d
= "18446744073709551616", x
= "10000000000000000"},
329 {v
= ~
18446744073709551616, b
= "~10000000000000000000000000000000000000000000000000000000000000000", oc
= "~2000000000000000000000", d
= "~18446744073709551616", x
= "~10000000000000000"},
330 {v
= 36893488147419103232, b
= "100000000000000000000000000000000000000000000000000000000000000000", oc
= "4000000000000000000000", d
= "36893488147419103232", x
= "20000000000000000"},
331 {v
= ~
36893488147419103232, b
= "~100000000000000000000000000000000000000000000000000000000000000000", oc
= "~4000000000000000000000", d
= "~36893488147419103232", x
= "~20000000000000000"},
332 {v
= 73786976294838206464, b
= "1000000000000000000000000000000000000000000000000000000000000000000", oc
= "10000000000000000000000", d
= "73786976294838206464", x
= "40000000000000000"},
333 {v
= ~
73786976294838206464, b
= "~1000000000000000000000000000000000000000000000000000000000000000000", oc
= "~10000000000000000000000", d
= "~73786976294838206464", x
= "~40000000000000000"},
334 {v
= 147573952589676412928, b
= "10000000000000000000000000000000000000000000000000000000000000000000", oc
= "20000000000000000000000", d
= "147573952589676412928", x
= "80000000000000000"},
335 {v
= ~
147573952589676412928, b
= "~10000000000000000000000000000000000000000000000000000000000000000000", oc
= "~20000000000000000000000", d
= "~147573952589676412928", x
= "~80000000000000000"},
336 {v
= 295147905179352825856, b
= "100000000000000000000000000000000000000000000000000000000000000000000", oc
= "40000000000000000000000", d
= "295147905179352825856", x
= "100000000000000000"},
337 {v
= ~
295147905179352825856, b
= "~100000000000000000000000000000000000000000000000000000000000000000000", oc
= "~40000000000000000000000", d
= "~295147905179352825856", x
= "~100000000000000000"},
338 {v
= 590295810358705651712, b
= "1000000000000000000000000000000000000000000000000000000000000000000000", oc
= "100000000000000000000000", d
= "590295810358705651712", x
= "200000000000000000"},
339 {v
= ~
590295810358705651712, b
= "~1000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~100000000000000000000000", d
= "~590295810358705651712", x
= "~200000000000000000"},
340 {v
= 1180591620717411303424, b
= "10000000000000000000000000000000000000000000000000000000000000000000000", oc
= "200000000000000000000000", d
= "1180591620717411303424", x
= "400000000000000000"},
341 {v
= ~
1180591620717411303424, b
= "~10000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~200000000000000000000000", d
= "~1180591620717411303424", x
= "~400000000000000000"},
342 {v
= 2361183241434822606848, b
= "100000000000000000000000000000000000000000000000000000000000000000000000", oc
= "400000000000000000000000", d
= "2361183241434822606848", x
= "800000000000000000"},
343 {v
= ~
2361183241434822606848, b
= "~100000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~400000000000000000000000", d
= "~2361183241434822606848", x
= "~800000000000000000"},
344 {v
= 4722366482869645213696, b
= "1000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "1000000000000000000000000", d
= "4722366482869645213696", x
= "1000000000000000000"},
345 {v
= ~
4722366482869645213696, b
= "~1000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~1000000000000000000000000", d
= "~4722366482869645213696", x
= "~1000000000000000000"},
346 {v
= 9444732965739290427392, b
= "10000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "2000000000000000000000000", d
= "9444732965739290427392", x
= "2000000000000000000"},
347 {v
= ~
9444732965739290427392, b
= "~10000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~2000000000000000000000000", d
= "~9444732965739290427392", x
= "~2000000000000000000"},
348 {v
= 18889465931478580854784, b
= "100000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "4000000000000000000000000", d
= "18889465931478580854784", x
= "4000000000000000000"},
349 {v
= ~
18889465931478580854784, b
= "~100000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~4000000000000000000000000", d
= "~18889465931478580854784", x
= "~4000000000000000000"},
350 {v
= 37778931862957161709568, b
= "1000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "10000000000000000000000000", d
= "37778931862957161709568", x
= "8000000000000000000"},
351 {v
= ~
37778931862957161709568, b
= "~1000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~10000000000000000000000000", d
= "~37778931862957161709568", x
= "~8000000000000000000"},
352 {v
= 75557863725914323419136, b
= "10000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "20000000000000000000000000", d
= "75557863725914323419136", x
= "10000000000000000000"},
353 {v
= ~
75557863725914323419136, b
= "~10000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~20000000000000000000000000", d
= "~75557863725914323419136", x
= "~10000000000000000000"},
354 {v
= 151115727451828646838272, b
= "100000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "40000000000000000000000000", d
= "151115727451828646838272", x
= "20000000000000000000"},
355 {v
= ~
151115727451828646838272, b
= "~100000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~40000000000000000000000000", d
= "~151115727451828646838272", x
= "~20000000000000000000"},
356 {v
= 302231454903657293676544, b
= "1000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "100000000000000000000000000", d
= "302231454903657293676544", x
= "40000000000000000000"},
357 {v
= ~
302231454903657293676544, b
= "~1000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~100000000000000000000000000", d
= "~302231454903657293676544", x
= "~40000000000000000000"},
358 {v
= 604462909807314587353088, b
= "10000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "200000000000000000000000000", d
= "604462909807314587353088", x
= "80000000000000000000"},
359 {v
= ~
604462909807314587353088, b
= "~10000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~200000000000000000000000000", d
= "~604462909807314587353088", x
= "~80000000000000000000"},
360 {v
= 1208925819614629174706176, b
= "100000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "400000000000000000000000000", d
= "1208925819614629174706176", x
= "100000000000000000000"},
361 {v
= ~
1208925819614629174706176, b
= "~100000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~400000000000000000000000000", d
= "~1208925819614629174706176", x
= "~100000000000000000000"},
362 {v
= 2417851639229258349412352, b
= "1000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "1000000000000000000000000000", d
= "2417851639229258349412352", x
= "200000000000000000000"},
363 {v
= ~
2417851639229258349412352, b
= "~1000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~1000000000000000000000000000", d
= "~2417851639229258349412352", x
= "~200000000000000000000"},
364 {v
= 4835703278458516698824704, b
= "10000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "2000000000000000000000000000", d
= "4835703278458516698824704", x
= "400000000000000000000"},
365 {v
= ~
4835703278458516698824704, b
= "~10000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~2000000000000000000000000000", d
= "~4835703278458516698824704", x
= "~400000000000000000000"},
366 {v
= 9671406556917033397649408, b
= "100000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "4000000000000000000000000000", d
= "9671406556917033397649408", x
= "800000000000000000000"},
367 {v
= ~
9671406556917033397649408, b
= "~100000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~4000000000000000000000000000", d
= "~9671406556917033397649408", x
= "~800000000000000000000"},
368 {v
= 19342813113834066795298816, b
= "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "10000000000000000000000000000", d
= "19342813113834066795298816", x
= "1000000000000000000000"},
369 {v
= ~
19342813113834066795298816, b
= "~1000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~10000000000000000000000000000", d
= "~19342813113834066795298816", x
= "~1000000000000000000000"},
370 {v
= 38685626227668133590597632, b
= "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "20000000000000000000000000000", d
= "38685626227668133590597632", x
= "2000000000000000000000"},
371 {v
= ~
38685626227668133590597632, b
= "~10000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~20000000000000000000000000000", d
= "~38685626227668133590597632", x
= "~2000000000000000000000"},
372 {v
= 77371252455336267181195264, b
= "100000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "40000000000000000000000000000", d
= "77371252455336267181195264", x
= "4000000000000000000000"},
373 {v
= ~
77371252455336267181195264, b
= "~100000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~40000000000000000000000000000", d
= "~77371252455336267181195264", x
= "~4000000000000000000000"},
374 {v
= 154742504910672534362390528, b
= "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "100000000000000000000000000000", d
= "154742504910672534362390528", x
= "8000000000000000000000"},
375 {v
= ~
154742504910672534362390528, b
= "~1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~100000000000000000000000000000", d
= "~154742504910672534362390528", x
= "~8000000000000000000000"},
376 {v
= 309485009821345068724781056, b
= "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "200000000000000000000000000000", d
= "309485009821345068724781056", x
= "10000000000000000000000"},
377 {v
= ~
309485009821345068724781056, b
= "~10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~200000000000000000000000000000", d
= "~309485009821345068724781056", x
= "~10000000000000000000000"},
378 {v
= 618970019642690137449562112, b
= "100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "400000000000000000000000000000", d
= "618970019642690137449562112", x
= "20000000000000000000000"},
379 {v
= ~
618970019642690137449562112, b
= "~100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~400000000000000000000000000000", d
= "~618970019642690137449562112", x
= "~20000000000000000000000"},
380 {v
= 1237940039285380274899124224, b
= "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "1000000000000000000000000000000", d
= "1237940039285380274899124224", x
= "40000000000000000000000"},
381 {v
= ~
1237940039285380274899124224, b
= "~1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~1000000000000000000000000000000", d
= "~1237940039285380274899124224", x
= "~40000000000000000000000"},
382 {v
= 2475880078570760549798248448, b
= "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "2000000000000000000000000000000", d
= "2475880078570760549798248448", x
= "80000000000000000000000"},
383 {v
= ~
2475880078570760549798248448, b
= "~10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~2000000000000000000000000000000", d
= "~2475880078570760549798248448", x
= "~80000000000000000000000"},
384 {v
= 4951760157141521099596496896, b
= "100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "4000000000000000000000000000000", d
= "4951760157141521099596496896", x
= "100000000000000000000000"},
385 {v
= ~
4951760157141521099596496896, b
= "~100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~4000000000000000000000000000000", d
= "~4951760157141521099596496896", x
= "~100000000000000000000000"},
386 {v
= 9903520314283042199192993792, b
= "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "10000000000000000000000000000000", d
= "9903520314283042199192993792", x
= "200000000000000000000000"},
387 {v
= ~
9903520314283042199192993792, b
= "~1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~10000000000000000000000000000000", d
= "~9903520314283042199192993792", x
= "~200000000000000000000000"},
388 {v
= 19807040628566084398385987584, b
= "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "20000000000000000000000000000000", d
= "19807040628566084398385987584", x
= "400000000000000000000000"},
389 {v
= ~
19807040628566084398385987584, b
= "~10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~20000000000000000000000000000000", d
= "~19807040628566084398385987584", x
= "~400000000000000000000000"},
390 {v
= 39614081257132168796771975168, b
= "100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "40000000000000000000000000000000", d
= "39614081257132168796771975168", x
= "800000000000000000000000"},
391 {v
= ~
39614081257132168796771975168, b
= "~100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~40000000000000000000000000000000", d
= "~39614081257132168796771975168", x
= "~800000000000000000000000"},
392 {v
= 79228162514264337593543950336, b
= "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "100000000000000000000000000000000", d
= "79228162514264337593543950336", x
= "1000000000000000000000000"},
393 {v
= ~
79228162514264337593543950336, b
= "~1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~100000000000000000000000000000000", d
= "~79228162514264337593543950336", x
= "~1000000000000000000000000"},
394 {v
= 158456325028528675187087900672, b
= "10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "200000000000000000000000000000000", d
= "158456325028528675187087900672", x
= "2000000000000000000000000"},
395 {v
= ~
158456325028528675187087900672, b
= "~10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~200000000000000000000000000000000", d
= "~158456325028528675187087900672", x
= "~2000000000000000000000000"},
396 {v
= 316912650057057350374175801344, b
= "100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "400000000000000000000000000000000", d
= "316912650057057350374175801344", x
= "4000000000000000000000000"},
397 {v
= ~
316912650057057350374175801344, b
= "~100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~400000000000000000000000000000000", d
= "~316912650057057350374175801344", x
= "~4000000000000000000000000"},
398 {v
= 633825300114114700748351602688, b
= "1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "1000000000000000000000000000000000", d
= "633825300114114700748351602688", x
= "8000000000000000000000000"},
399 {v
= ~
633825300114114700748351602688, b
= "~1000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", oc
= "~1000000000000000000000000000000000", d
= "~633825300114114700748351602688", x
= "~8000000000000000000000000"}
403 let val len
= String.size str
405 if pos
= String.size str
407 else SOME (String.sub (str
, pos
), pos
+ 1)
411 exception FailRead
of StringCvt.radix
* string
412 exception FailWrite
of StringCvt.radix
* IntInf
.int
414 fun read2 str
= case IntInf
.scan
StringCvt.BIN (makeReader str
) 0 of
415 NONE
=> raise (FailRead (StringCvt.BIN
, str
))
416 |
SOME (v
, p
) => if p
= String.size str
418 else raise (FailRead (StringCvt.BIN
,
421 fun read8 str
= case IntInf
.scan
StringCvt.OCT (makeReader str
) 0 of
422 NONE
=> raise (FailRead (StringCvt.OCT
, str
))
423 |
SOME (v
, p
) => if p
= String.size str
425 else raise (FailRead (StringCvt.OCT
,
428 fun read10 str
= case IntInf
.scan
StringCvt.DEC (makeReader str
) 0 of
429 NONE
=> raise (FailRead (StringCvt.DEC
, str
))
430 |
SOME (v
, p
) => if p
= String.size str
432 else raise (FailRead (StringCvt.DEC
,
435 fun read16 str
= case IntInf
.scan
StringCvt.HEX (makeReader str
) 0 of
436 NONE
=> raise (FailRead (StringCvt.HEX
, str
))
437 |
SOME (v
, p
) => if p
= String.size str
439 else raise (FailRead (StringCvt.HEX
,
442 fun read str
= case IntInf
.fromString str
of
443 NONE
=> raise (FailRead (StringCvt.DEC
, str
))
446 fun toStr2 v
= IntInf
.fmt
StringCvt.BIN v
448 fun toStr8 v
= IntInf
.fmt
StringCvt.OCT v
450 fun toStr10 v
= IntInf
.fmt
StringCvt.DEC v
452 fun toStr16 v
= IntInf
.fmt
StringCvt.HEX v
454 fun toStr v
= IntInf
.toString v
456 fun baseToStr (base
: StringCvt.radix
): string =
458 StringCvt.BIN
=> "BIN"
459 |
StringCvt.OCT
=> "OCT"
460 |
StringCvt.DEC
=> "DEC"
461 |
StringCvt.HEX
=> "HEX"
463 fun f ({ v
: IntInf
.int, b
: string, oc
: string, d
: string, x
: string}): unit
=
470 then raise (FailRead (StringCvt.BIN
, b
))
472 then raise (FailRead (StringCvt.OCT
, oc
))
474 then raise (FailRead (StringCvt.DEC
, d
))
476 then raise (FailRead (StringCvt.HEX
, x
))
478 then raise (FailRead (StringCvt.DEC
, d
))
479 else let val vb
= toStr2 v
484 val (b
, oc
, d
, x
) = if v
= 0 andalso String.sub (d
, 0) = #
"~"
485 then ("0", "0", "0", "0")
488 then raise (FailWrite (StringCvt.BIN
, v
))
490 then raise (FailWrite (StringCvt.OCT
, v
))
492 then raise (FailWrite (StringCvt.DEC
, v
))
494 then raise (FailWrite (StringCvt.HEX
, v
))
496 then raise (FailWrite (StringCvt.DEC
, v
))
499 end handle FailRead (base
, str
) =>
500 print ("FailRead, base = " ^
(baseToStr base
)
501 ^
", str = |" ^ str ^
"|\n")
502 |
FailWrite (base
, v
) =>
503 print ("FailWrite, base = " ^
(baseToStr base
)
504 ^
", d = |" ^ d ^
"|\n")
506 val _
= List.app f arg
507 val _
= print
"All ok\n"