1 |
|
---|
2 | /*============================================================================
|
---|
3 |
|
---|
4 | This C source file is part of TestFloat, Release 3e, a package of programs for
|
---|
5 | testing the correctness of floating-point arithmetic complying with the IEEE
|
---|
6 | Standard for Floating-Point, by John R. Hauser.
|
---|
7 |
|
---|
8 | Copyright 2011, 2012, 2013, 2014 The Regents of the University of California.
|
---|
9 | All rights reserved.
|
---|
10 |
|
---|
11 | Redistribution and use in source and binary forms, with or without
|
---|
12 | modification, are permitted provided that the following conditions are met:
|
---|
13 |
|
---|
14 | 1. Redistributions of source code must retain the above copyright notice,
|
---|
15 | this list of conditions, and the following disclaimer.
|
---|
16 |
|
---|
17 | 2. Redistributions in binary form must reproduce the above copyright notice,
|
---|
18 | this list of conditions, and the following disclaimer in the documentation
|
---|
19 | and/or other materials provided with the distribution.
|
---|
20 |
|
---|
21 | 3. Neither the name of the University nor the names of its contributors may
|
---|
22 | be used to endorse or promote products derived from this software without
|
---|
23 | specific prior written permission.
|
---|
24 |
|
---|
25 | THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS "AS IS", AND ANY
|
---|
26 | EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
---|
27 | WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, ARE
|
---|
28 | DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY
|
---|
29 | DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
---|
30 | (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
---|
31 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
---|
32 | ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
---|
33 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
---|
34 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
---|
35 |
|
---|
36 | =============================================================================*/
|
---|
37 |
|
---|
38 | #include <stdbool.h>
|
---|
39 | #include <stdint.h>
|
---|
40 | #include "platform.h"
|
---|
41 | #include "uint128.h"
|
---|
42 | #include "random.h"
|
---|
43 | #include "softfloat.h"
|
---|
44 | #include "genCases.h"
|
---|
45 |
|
---|
46 | #ifdef FLOAT128
|
---|
47 |
|
---|
48 | struct sequence {
|
---|
49 | int expNum, term1Num, term2Num;
|
---|
50 | bool done;
|
---|
51 | };
|
---|
52 |
|
---|
53 | enum {
|
---|
54 | f128NumQIn = 22,
|
---|
55 | f128NumQOut = 78,
|
---|
56 | f128NumP1 = 4,
|
---|
57 | f128NumP2 = 443
|
---|
58 | };
|
---|
59 | static const uint64_t f128QIn[f128NumQIn] = {
|
---|
60 | UINT64_C( 0x0000000000000000 ), /* positive, subnormal */
|
---|
61 | UINT64_C( 0x0001000000000000 ), /* positive, -16382 */
|
---|
62 | UINT64_C( 0x3F8E000000000000 ), /* positive, -113 */
|
---|
63 | UINT64_C( 0x3FFD000000000000 ), /* positive, -2 */
|
---|
64 | UINT64_C( 0x3FFE000000000000 ), /* positive, -1 */
|
---|
65 | UINT64_C( 0x3FFF000000000000 ), /* positive, 0 */
|
---|
66 | UINT64_C( 0x4000000000000000 ), /* positive, 1 */
|
---|
67 | UINT64_C( 0x4001000000000000 ), /* positive, 2 */
|
---|
68 | UINT64_C( 0x4070000000000000 ), /* positive, 113 */
|
---|
69 | UINT64_C( 0x7FFE000000000000 ), /* positive, 16383 */
|
---|
70 | UINT64_C( 0x7FFF000000000000 ), /* positive, infinity or NaN */
|
---|
71 | UINT64_C( 0x8000000000000000 ), /* negative, subnormal */
|
---|
72 | UINT64_C( 0x8001000000000000 ), /* negative, -16382 */
|
---|
73 | UINT64_C( 0xBF8E000000000000 ), /* negative, -113 */
|
---|
74 | UINT64_C( 0xBFFD000000000000 ), /* negative, -2 */
|
---|
75 | UINT64_C( 0xBFFE000000000000 ), /* negative, -1 */
|
---|
76 | UINT64_C( 0xBFFF000000000000 ), /* negative, 0 */
|
---|
77 | UINT64_C( 0xC000000000000000 ), /* negative, 1 */
|
---|
78 | UINT64_C( 0xC001000000000000 ), /* negative, 2 */
|
---|
79 | UINT64_C( 0xC070000000000000 ), /* negative, 113 */
|
---|
80 | UINT64_C( 0xFFFE000000000000 ), /* negative, 16383 */
|
---|
81 | UINT64_C( 0xFFFF000000000000 ) /* negative, infinity or NaN */
|
---|
82 | };
|
---|
83 | static const uint64_t f128QOut[f128NumQOut] = {
|
---|
84 | UINT64_C( 0x0000000000000000 ), /* positive, subnormal */
|
---|
85 | UINT64_C( 0x0001000000000000 ), /* positive, -16382 */
|
---|
86 | UINT64_C( 0x0002000000000000 ), /* positive, -16381 */
|
---|
87 | UINT64_C( 0x3BFE000000000000 ), /* positive, -1025 */
|
---|
88 | UINT64_C( 0x3BFF000000000000 ), /* positive, -1024 */
|
---|
89 | UINT64_C( 0x3C00000000000000 ), /* positive, -1023 */
|
---|
90 | UINT64_C( 0x3C01000000000000 ), /* positive, -1022 */
|
---|
91 | UINT64_C( 0x3F7E000000000000 ), /* positive, -129 */
|
---|
92 | UINT64_C( 0x3F7F000000000000 ), /* positive, -128 */
|
---|
93 | UINT64_C( 0x3F80000000000000 ), /* positive, -127 */
|
---|
94 | UINT64_C( 0x3F81000000000000 ), /* positive, -126 */
|
---|
95 | UINT64_C( 0x3F8E000000000000 ), /* positive, -113 */
|
---|
96 | UINT64_C( 0x3FFB000000000000 ), /* positive, -4 */
|
---|
97 | UINT64_C( 0x3FFC000000000000 ), /* positive, -3 */
|
---|
98 | UINT64_C( 0x3FFD000000000000 ), /* positive, -2 */
|
---|
99 | UINT64_C( 0x3FFE000000000000 ), /* positive, -1 */
|
---|
100 | UINT64_C( 0x3FFF000000000000 ), /* positive, 0 */
|
---|
101 | UINT64_C( 0x4000000000000000 ), /* positive, 1 */
|
---|
102 | UINT64_C( 0x4001000000000000 ), /* positive, 2 */
|
---|
103 | UINT64_C( 0x4002000000000000 ), /* positive, 3 */
|
---|
104 | UINT64_C( 0x4003000000000000 ), /* positive, 4 */
|
---|
105 | UINT64_C( 0x401C000000000000 ), /* positive, 29 */
|
---|
106 | UINT64_C( 0x401D000000000000 ), /* positive, 30 */
|
---|
107 | UINT64_C( 0x401E000000000000 ), /* positive, 31 */
|
---|
108 | UINT64_C( 0x401F000000000000 ), /* positive, 32 */
|
---|
109 | UINT64_C( 0x403C000000000000 ), /* positive, 61 */
|
---|
110 | UINT64_C( 0x403D000000000000 ), /* positive, 62 */
|
---|
111 | UINT64_C( 0x403E000000000000 ), /* positive, 63 */
|
---|
112 | UINT64_C( 0x403F000000000000 ), /* positive, 64 */
|
---|
113 | UINT64_C( 0x4070000000000000 ), /* positive, 113 */
|
---|
114 | UINT64_C( 0x407E000000000000 ), /* positive, 127 */
|
---|
115 | UINT64_C( 0x407F000000000000 ), /* positive, 128 */
|
---|
116 | UINT64_C( 0x4080000000000000 ), /* positive, 129 */
|
---|
117 | UINT64_C( 0x43FE000000000000 ), /* positive, 1023 */
|
---|
118 | UINT64_C( 0x43FF000000000000 ), /* positive, 1024 */
|
---|
119 | UINT64_C( 0x4400000000000000 ), /* positive, 1025 */
|
---|
120 | UINT64_C( 0x7FFD000000000000 ), /* positive, 16382 */
|
---|
121 | UINT64_C( 0x7FFE000000000000 ), /* positive, 16383 */
|
---|
122 | UINT64_C( 0x7FFF000000000000 ), /* positive, infinity or NaN */
|
---|
123 | UINT64_C( 0x8000000000000000 ), /* negative, subnormal */
|
---|
124 | UINT64_C( 0x8001000000000000 ), /* negative, -16382 */
|
---|
125 | UINT64_C( 0x8002000000000000 ), /* negative, -16381 */
|
---|
126 | UINT64_C( 0xBBFE000000000000 ), /* negative, -1025 */
|
---|
127 | UINT64_C( 0xBBFF000000000000 ), /* negative, -1024 */
|
---|
128 | UINT64_C( 0xBC00000000000000 ), /* negative, -1023 */
|
---|
129 | UINT64_C( 0xBC01000000000000 ), /* negative, -1022 */
|
---|
130 | UINT64_C( 0xBF7E000000000000 ), /* negative, -129 */
|
---|
131 | UINT64_C( 0xBF7F000000000000 ), /* negative, -128 */
|
---|
132 | UINT64_C( 0xBF80000000000000 ), /* negative, -127 */
|
---|
133 | UINT64_C( 0xBF81000000000000 ), /* negative, -126 */
|
---|
134 | UINT64_C( 0xBF8E000000000000 ), /* negative, -113 */
|
---|
135 | UINT64_C( 0xBFFB000000000000 ), /* negative, -4 */
|
---|
136 | UINT64_C( 0xBFFC000000000000 ), /* negative, -3 */
|
---|
137 | UINT64_C( 0xBFFD000000000000 ), /* negative, -2 */
|
---|
138 | UINT64_C( 0xBFFE000000000000 ), /* negative, -1 */
|
---|
139 | UINT64_C( 0xBFFF000000000000 ), /* negative, 0 */
|
---|
140 | UINT64_C( 0xC000000000000000 ), /* negative, 1 */
|
---|
141 | UINT64_C( 0xC001000000000000 ), /* negative, 2 */
|
---|
142 | UINT64_C( 0xC002000000000000 ), /* negative, 3 */
|
---|
143 | UINT64_C( 0xC003000000000000 ), /* negative, 4 */
|
---|
144 | UINT64_C( 0xC01C000000000000 ), /* negative, 29 */
|
---|
145 | UINT64_C( 0xC01D000000000000 ), /* negative, 30 */
|
---|
146 | UINT64_C( 0xC01E000000000000 ), /* negative, 31 */
|
---|
147 | UINT64_C( 0xC01F000000000000 ), /* negative, 32 */
|
---|
148 | UINT64_C( 0xC03C000000000000 ), /* negative, 61 */
|
---|
149 | UINT64_C( 0xC03D000000000000 ), /* negative, 62 */
|
---|
150 | UINT64_C( 0xC03E000000000000 ), /* negative, 63 */
|
---|
151 | UINT64_C( 0xC03F000000000000 ), /* negative, 64 */
|
---|
152 | UINT64_C( 0xC070000000000000 ), /* negative, 113 */
|
---|
153 | UINT64_C( 0xC07E000000000000 ), /* negative, 127 */
|
---|
154 | UINT64_C( 0xC07F000000000000 ), /* negative, 128 */
|
---|
155 | UINT64_C( 0xC080000000000000 ), /* negative, 129 */
|
---|
156 | UINT64_C( 0xC3FE000000000000 ), /* negative, 1023 */
|
---|
157 | UINT64_C( 0xC3FF000000000000 ), /* negative, 1024 */
|
---|
158 | UINT64_C( 0xC400000000000000 ), /* negative, 1025 */
|
---|
159 | UINT64_C( 0xFFFD000000000000 ), /* negative, 16382 */
|
---|
160 | UINT64_C( 0xFFFE000000000000 ), /* negative, 16383 */
|
---|
161 | UINT64_C( 0xFFFF000000000000 ) /* negative, infinity or NaN */
|
---|
162 | };
|
---|
163 | static const struct { uint64_t v64, v0; } f128P1[f128NumP1] = {
|
---|
164 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
165 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000001 ) },
|
---|
166 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
167 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFE ) }
|
---|
168 | };
|
---|
169 | static const struct { uint64_t v64, v0; } f128P2[f128NumP2] = {
|
---|
170 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
171 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000001 ) },
|
---|
172 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000002 ) },
|
---|
173 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000004 ) },
|
---|
174 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000008 ) },
|
---|
175 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000010 ) },
|
---|
176 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000020 ) },
|
---|
177 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000040 ) },
|
---|
178 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000080 ) },
|
---|
179 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000100 ) },
|
---|
180 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000200 ) },
|
---|
181 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000400 ) },
|
---|
182 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000800 ) },
|
---|
183 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000001000 ) },
|
---|
184 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000002000 ) },
|
---|
185 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000004000 ) },
|
---|
186 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000008000 ) },
|
---|
187 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000010000 ) },
|
---|
188 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000020000 ) },
|
---|
189 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000040000 ) },
|
---|
190 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000080000 ) },
|
---|
191 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000100000 ) },
|
---|
192 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000200000 ) },
|
---|
193 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000400000 ) },
|
---|
194 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000800000 ) },
|
---|
195 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000001000000 ) },
|
---|
196 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000002000000 ) },
|
---|
197 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000004000000 ) },
|
---|
198 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000008000000 ) },
|
---|
199 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000010000000 ) },
|
---|
200 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000020000000 ) },
|
---|
201 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000040000000 ) },
|
---|
202 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000080000000 ) },
|
---|
203 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000100000000 ) },
|
---|
204 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000200000000 ) },
|
---|
205 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000400000000 ) },
|
---|
206 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000800000000 ) },
|
---|
207 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000001000000000 ) },
|
---|
208 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000002000000000 ) },
|
---|
209 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000004000000000 ) },
|
---|
210 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000008000000000 ) },
|
---|
211 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000010000000000 ) },
|
---|
212 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000020000000000 ) },
|
---|
213 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000040000000000 ) },
|
---|
214 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000080000000000 ) },
|
---|
215 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000100000000000 ) },
|
---|
216 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000200000000000 ) },
|
---|
217 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000400000000000 ) },
|
---|
218 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000800000000000 ) },
|
---|
219 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0001000000000000 ) },
|
---|
220 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0002000000000000 ) },
|
---|
221 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0004000000000000 ) },
|
---|
222 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0008000000000000 ) },
|
---|
223 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0010000000000000 ) },
|
---|
224 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0020000000000000 ) },
|
---|
225 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0040000000000000 ) },
|
---|
226 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0080000000000000 ) },
|
---|
227 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0100000000000000 ) },
|
---|
228 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0200000000000000 ) },
|
---|
229 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0400000000000000 ) },
|
---|
230 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0800000000000000 ) },
|
---|
231 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x1000000000000000 ) },
|
---|
232 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x2000000000000000 ) },
|
---|
233 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x4000000000000000 ) },
|
---|
234 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x8000000000000000 ) },
|
---|
235 | { UINT64_C( 0x0000000000000001 ), UINT64_C( 0x0000000000000000 ) },
|
---|
236 | { UINT64_C( 0x0000000000000002 ), UINT64_C( 0x0000000000000000 ) },
|
---|
237 | { UINT64_C( 0x0000000000000004 ), UINT64_C( 0x0000000000000000 ) },
|
---|
238 | { UINT64_C( 0x0000000000000008 ), UINT64_C( 0x0000000000000000 ) },
|
---|
239 | { UINT64_C( 0x0000000000000010 ), UINT64_C( 0x0000000000000000 ) },
|
---|
240 | { UINT64_C( 0x0000000000000020 ), UINT64_C( 0x0000000000000000 ) },
|
---|
241 | { UINT64_C( 0x0000000000000040 ), UINT64_C( 0x0000000000000000 ) },
|
---|
242 | { UINT64_C( 0x0000000000000080 ), UINT64_C( 0x0000000000000000 ) },
|
---|
243 | { UINT64_C( 0x0000000000000100 ), UINT64_C( 0x0000000000000000 ) },
|
---|
244 | { UINT64_C( 0x0000000000000200 ), UINT64_C( 0x0000000000000000 ) },
|
---|
245 | { UINT64_C( 0x0000000000000400 ), UINT64_C( 0x0000000000000000 ) },
|
---|
246 | { UINT64_C( 0x0000000000000800 ), UINT64_C( 0x0000000000000000 ) },
|
---|
247 | { UINT64_C( 0x0000000000001000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
248 | { UINT64_C( 0x0000000000002000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
249 | { UINT64_C( 0x0000000000004000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
250 | { UINT64_C( 0x0000000000008000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
251 | { UINT64_C( 0x0000000000010000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
252 | { UINT64_C( 0x0000000000020000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
253 | { UINT64_C( 0x0000000000040000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
254 | { UINT64_C( 0x0000000000080000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
255 | { UINT64_C( 0x0000000000100000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
256 | { UINT64_C( 0x0000000000200000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
257 | { UINT64_C( 0x0000000000400000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
258 | { UINT64_C( 0x0000000000800000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
259 | { UINT64_C( 0x0000000001000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
260 | { UINT64_C( 0x0000000002000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
261 | { UINT64_C( 0x0000000004000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
262 | { UINT64_C( 0x0000000008000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
263 | { UINT64_C( 0x0000000010000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
264 | { UINT64_C( 0x0000000020000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
265 | { UINT64_C( 0x0000000040000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
266 | { UINT64_C( 0x0000000080000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
267 | { UINT64_C( 0x0000000100000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
268 | { UINT64_C( 0x0000000200000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
269 | { UINT64_C( 0x0000000400000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
270 | { UINT64_C( 0x0000000800000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
271 | { UINT64_C( 0x0000001000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
272 | { UINT64_C( 0x0000002000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
273 | { UINT64_C( 0x0000004000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
274 | { UINT64_C( 0x0000008000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
275 | { UINT64_C( 0x0000010000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
276 | { UINT64_C( 0x0000020000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
277 | { UINT64_C( 0x0000040000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
278 | { UINT64_C( 0x0000080000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
279 | { UINT64_C( 0x0000100000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
280 | { UINT64_C( 0x0000200000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
281 | { UINT64_C( 0x0000400000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
282 | { UINT64_C( 0x0000800000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
283 | { UINT64_C( 0x0000C00000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
284 | { UINT64_C( 0x0000E00000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
285 | { UINT64_C( 0x0000F00000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
286 | { UINT64_C( 0x0000F80000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
287 | { UINT64_C( 0x0000FC0000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
288 | { UINT64_C( 0x0000FE0000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
289 | { UINT64_C( 0x0000FF0000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
290 | { UINT64_C( 0x0000FF8000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
291 | { UINT64_C( 0x0000FFC000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
292 | { UINT64_C( 0x0000FFE000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
293 | { UINT64_C( 0x0000FFF000000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
294 | { UINT64_C( 0x0000FFF800000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
295 | { UINT64_C( 0x0000FFFC00000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
296 | { UINT64_C( 0x0000FFFE00000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
297 | { UINT64_C( 0x0000FFFF00000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
298 | { UINT64_C( 0x0000FFFF80000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
299 | { UINT64_C( 0x0000FFFFC0000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
300 | { UINT64_C( 0x0000FFFFE0000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
301 | { UINT64_C( 0x0000FFFFF0000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
302 | { UINT64_C( 0x0000FFFFF8000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
303 | { UINT64_C( 0x0000FFFFFC000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
304 | { UINT64_C( 0x0000FFFFFE000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
305 | { UINT64_C( 0x0000FFFFFF000000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
306 | { UINT64_C( 0x0000FFFFFF800000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
307 | { UINT64_C( 0x0000FFFFFFC00000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
308 | { UINT64_C( 0x0000FFFFFFE00000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
309 | { UINT64_C( 0x0000FFFFFFF00000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
310 | { UINT64_C( 0x0000FFFFFFF80000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
311 | { UINT64_C( 0x0000FFFFFFFC0000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
312 | { UINT64_C( 0x0000FFFFFFFE0000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
313 | { UINT64_C( 0x0000FFFFFFFF0000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
314 | { UINT64_C( 0x0000FFFFFFFF8000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
315 | { UINT64_C( 0x0000FFFFFFFFC000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
316 | { UINT64_C( 0x0000FFFFFFFFE000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
317 | { UINT64_C( 0x0000FFFFFFFFF000 ), UINT64_C( 0x0000000000000000 ) },
|
---|
318 | { UINT64_C( 0x0000FFFFFFFFF800 ), UINT64_C( 0x0000000000000000 ) },
|
---|
319 | { UINT64_C( 0x0000FFFFFFFFFC00 ), UINT64_C( 0x0000000000000000 ) },
|
---|
320 | { UINT64_C( 0x0000FFFFFFFFFE00 ), UINT64_C( 0x0000000000000000 ) },
|
---|
321 | { UINT64_C( 0x0000FFFFFFFFFF00 ), UINT64_C( 0x0000000000000000 ) },
|
---|
322 | { UINT64_C( 0x0000FFFFFFFFFF80 ), UINT64_C( 0x0000000000000000 ) },
|
---|
323 | { UINT64_C( 0x0000FFFFFFFFFFC0 ), UINT64_C( 0x0000000000000000 ) },
|
---|
324 | { UINT64_C( 0x0000FFFFFFFFFFE0 ), UINT64_C( 0x0000000000000000 ) },
|
---|
325 | { UINT64_C( 0x0000FFFFFFFFFFF0 ), UINT64_C( 0x0000000000000000 ) },
|
---|
326 | { UINT64_C( 0x0000FFFFFFFFFFF8 ), UINT64_C( 0x0000000000000000 ) },
|
---|
327 | { UINT64_C( 0x0000FFFFFFFFFFFC ), UINT64_C( 0x0000000000000000 ) },
|
---|
328 | { UINT64_C( 0x0000FFFFFFFFFFFE ), UINT64_C( 0x0000000000000000 ) },
|
---|
329 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0x0000000000000000 ) },
|
---|
330 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0x8000000000000000 ) },
|
---|
331 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xC000000000000000 ) },
|
---|
332 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xE000000000000000 ) },
|
---|
333 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xF000000000000000 ) },
|
---|
334 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xF800000000000000 ) },
|
---|
335 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFC00000000000000 ) },
|
---|
336 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFE00000000000000 ) },
|
---|
337 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFF00000000000000 ) },
|
---|
338 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFF80000000000000 ) },
|
---|
339 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFC0000000000000 ) },
|
---|
340 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFE0000000000000 ) },
|
---|
341 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFF0000000000000 ) },
|
---|
342 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFF8000000000000 ) },
|
---|
343 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFC000000000000 ) },
|
---|
344 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFE000000000000 ) },
|
---|
345 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFF000000000000 ) },
|
---|
346 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFF800000000000 ) },
|
---|
347 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFC00000000000 ) },
|
---|
348 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFE00000000000 ) },
|
---|
349 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFF00000000000 ) },
|
---|
350 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFF80000000000 ) },
|
---|
351 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFC0000000000 ) },
|
---|
352 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFE0000000000 ) },
|
---|
353 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFF0000000000 ) },
|
---|
354 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFF8000000000 ) },
|
---|
355 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFC000000000 ) },
|
---|
356 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFE000000000 ) },
|
---|
357 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFF000000000 ) },
|
---|
358 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFF800000000 ) },
|
---|
359 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFC00000000 ) },
|
---|
360 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFE00000000 ) },
|
---|
361 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFF00000000 ) },
|
---|
362 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFF80000000 ) },
|
---|
363 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFC0000000 ) },
|
---|
364 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFE0000000 ) },
|
---|
365 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFF0000000 ) },
|
---|
366 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFF8000000 ) },
|
---|
367 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFC000000 ) },
|
---|
368 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFE000000 ) },
|
---|
369 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFF000000 ) },
|
---|
370 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFF800000 ) },
|
---|
371 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFC00000 ) },
|
---|
372 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFE00000 ) },
|
---|
373 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFF00000 ) },
|
---|
374 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFF80000 ) },
|
---|
375 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFC0000 ) },
|
---|
376 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFE0000 ) },
|
---|
377 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFF0000 ) },
|
---|
378 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFF8000 ) },
|
---|
379 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFC000 ) },
|
---|
380 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFE000 ) },
|
---|
381 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFF000 ) },
|
---|
382 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFF800 ) },
|
---|
383 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFC00 ) },
|
---|
384 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFE00 ) },
|
---|
385 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFF00 ) },
|
---|
386 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFF80 ) },
|
---|
387 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFC0 ) },
|
---|
388 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFE0 ) },
|
---|
389 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFF0 ) },
|
---|
390 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFF8 ) },
|
---|
391 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFC ) },
|
---|
392 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFE ) },
|
---|
393 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
394 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFD ) },
|
---|
395 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFB ) },
|
---|
396 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFF7 ) },
|
---|
397 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFEF ) },
|
---|
398 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFDF ) },
|
---|
399 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFBF ) },
|
---|
400 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFF7F ) },
|
---|
401 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFEFF ) },
|
---|
402 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFDFF ) },
|
---|
403 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFBFF ) },
|
---|
404 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFF7FF ) },
|
---|
405 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFEFFF ) },
|
---|
406 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFDFFF ) },
|
---|
407 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFBFFF ) },
|
---|
408 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFF7FFF ) },
|
---|
409 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFEFFFF ) },
|
---|
410 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFDFFFF ) },
|
---|
411 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFBFFFF ) },
|
---|
412 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFF7FFFF ) },
|
---|
413 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFEFFFFF ) },
|
---|
414 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFDFFFFF ) },
|
---|
415 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFBFFFFF ) },
|
---|
416 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFF7FFFFF ) },
|
---|
417 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFEFFFFFF ) },
|
---|
418 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFDFFFFFF ) },
|
---|
419 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFBFFFFFF ) },
|
---|
420 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFF7FFFFFF ) },
|
---|
421 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFEFFFFFFF ) },
|
---|
422 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFDFFFFFFF ) },
|
---|
423 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFBFFFFFFF ) },
|
---|
424 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFF7FFFFFFF ) },
|
---|
425 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFEFFFFFFFF ) },
|
---|
426 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFDFFFFFFFF ) },
|
---|
427 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFBFFFFFFFF ) },
|
---|
428 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFF7FFFFFFFF ) },
|
---|
429 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFEFFFFFFFFF ) },
|
---|
430 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFDFFFFFFFFF ) },
|
---|
431 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFFBFFFFFFFFF ) },
|
---|
432 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFF7FFFFFFFFF ) },
|
---|
433 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFEFFFFFFFFFF ) },
|
---|
434 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFDFFFFFFFFFF ) },
|
---|
435 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFFBFFFFFFFFFF ) },
|
---|
436 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFF7FFFFFFFFFF ) },
|
---|
437 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFEFFFFFFFFFFF ) },
|
---|
438 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFDFFFFFFFFFFF ) },
|
---|
439 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFFBFFFFFFFFFFF ) },
|
---|
440 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFF7FFFFFFFFFFF ) },
|
---|
441 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFEFFFFFFFFFFFF ) },
|
---|
442 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFDFFFFFFFFFFFF ) },
|
---|
443 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFFBFFFFFFFFFFFF ) },
|
---|
444 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFF7FFFFFFFFFFFF ) },
|
---|
445 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFEFFFFFFFFFFFFF ) },
|
---|
446 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFDFFFFFFFFFFFFF ) },
|
---|
447 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFFBFFFFFFFFFFFFF ) },
|
---|
448 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFF7FFFFFFFFFFFFF ) },
|
---|
449 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFEFFFFFFFFFFFFFF ) },
|
---|
450 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFDFFFFFFFFFFFFFF ) },
|
---|
451 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xFBFFFFFFFFFFFFFF ) },
|
---|
452 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xF7FFFFFFFFFFFFFF ) },
|
---|
453 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xEFFFFFFFFFFFFFFF ) },
|
---|
454 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xDFFFFFFFFFFFFFFF ) },
|
---|
455 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0xBFFFFFFFFFFFFFFF ) },
|
---|
456 | { UINT64_C( 0x0000FFFFFFFFFFFF ), UINT64_C( 0x7FFFFFFFFFFFFFFF ) },
|
---|
457 | { UINT64_C( 0x0000FFFFFFFFFFFD ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
458 | { UINT64_C( 0x0000FFFFFFFFFFFB ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
459 | { UINT64_C( 0x0000FFFFFFFFFFF7 ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
460 | { UINT64_C( 0x0000FFFFFFFFFFEF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
461 | { UINT64_C( 0x0000FFFFFFFFFFDF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
462 | { UINT64_C( 0x0000FFFFFFFFFFBF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
463 | { UINT64_C( 0x0000FFFFFFFFFF7F ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
464 | { UINT64_C( 0x0000FFFFFFFFFEFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
465 | { UINT64_C( 0x0000FFFFFFFFFDFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
466 | { UINT64_C( 0x0000FFFFFFFFFBFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
467 | { UINT64_C( 0x0000FFFFFFFFF7FF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
468 | { UINT64_C( 0x0000FFFFFFFFEFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
469 | { UINT64_C( 0x0000FFFFFFFFDFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
470 | { UINT64_C( 0x0000FFFFFFFFBFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
471 | { UINT64_C( 0x0000FFFFFFFF7FFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
472 | { UINT64_C( 0x0000FFFFFFFEFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
473 | { UINT64_C( 0x0000FFFFFFFDFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
474 | { UINT64_C( 0x0000FFFFFFFBFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
475 | { UINT64_C( 0x0000FFFFFFF7FFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
476 | { UINT64_C( 0x0000FFFFFFEFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
477 | { UINT64_C( 0x0000FFFFFFDFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
478 | { UINT64_C( 0x0000FFFFFFBFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
479 | { UINT64_C( 0x0000FFFFFF7FFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
480 | { UINT64_C( 0x0000FFFFFEFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
481 | { UINT64_C( 0x0000FFFFFDFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
482 | { UINT64_C( 0x0000FFFFFBFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
483 | { UINT64_C( 0x0000FFFFF7FFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
484 | { UINT64_C( 0x0000FFFFEFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
485 | { UINT64_C( 0x0000FFFFDFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
486 | { UINT64_C( 0x0000FFFFBFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
487 | { UINT64_C( 0x0000FFFF7FFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
488 | { UINT64_C( 0x0000FFFEFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
489 | { UINT64_C( 0x0000FFFDFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
490 | { UINT64_C( 0x0000FFFBFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
491 | { UINT64_C( 0x0000FFF7FFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
492 | { UINT64_C( 0x0000FFEFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
493 | { UINT64_C( 0x0000FFDFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
494 | { UINT64_C( 0x0000FFBFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
495 | { UINT64_C( 0x0000FF7FFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
496 | { UINT64_C( 0x0000FEFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
497 | { UINT64_C( 0x0000FDFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
498 | { UINT64_C( 0x0000FBFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
499 | { UINT64_C( 0x0000F7FFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
500 | { UINT64_C( 0x0000EFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
501 | { UINT64_C( 0x0000DFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
502 | { UINT64_C( 0x0000BFFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
503 | { UINT64_C( 0x00007FFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
504 | { UINT64_C( 0x00003FFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
505 | { UINT64_C( 0x00001FFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
506 | { UINT64_C( 0x00000FFFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
507 | { UINT64_C( 0x000007FFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
508 | { UINT64_C( 0x000003FFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
509 | { UINT64_C( 0x000001FFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
510 | { UINT64_C( 0x000000FFFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
511 | { UINT64_C( 0x0000007FFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
512 | { UINT64_C( 0x0000003FFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
513 | { UINT64_C( 0x0000001FFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
514 | { UINT64_C( 0x0000000FFFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
515 | { UINT64_C( 0x00000007FFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
516 | { UINT64_C( 0x00000003FFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
517 | { UINT64_C( 0x00000001FFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
518 | { UINT64_C( 0x00000000FFFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
519 | { UINT64_C( 0x000000007FFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
520 | { UINT64_C( 0x000000003FFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
521 | { UINT64_C( 0x000000001FFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
522 | { UINT64_C( 0x000000000FFFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
523 | { UINT64_C( 0x0000000007FFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
524 | { UINT64_C( 0x0000000003FFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
525 | { UINT64_C( 0x0000000001FFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
526 | { UINT64_C( 0x0000000000FFFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
527 | { UINT64_C( 0x00000000007FFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
528 | { UINT64_C( 0x00000000003FFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
529 | { UINT64_C( 0x00000000001FFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
530 | { UINT64_C( 0x00000000000FFFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
531 | { UINT64_C( 0x000000000007FFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
532 | { UINT64_C( 0x000000000003FFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
533 | { UINT64_C( 0x000000000001FFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
534 | { UINT64_C( 0x000000000000FFFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
535 | { UINT64_C( 0x0000000000007FFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
536 | { UINT64_C( 0x0000000000003FFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
537 | { UINT64_C( 0x0000000000001FFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
538 | { UINT64_C( 0x0000000000000FFF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
539 | { UINT64_C( 0x00000000000007FF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
540 | { UINT64_C( 0x00000000000003FF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
541 | { UINT64_C( 0x00000000000001FF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
542 | { UINT64_C( 0x00000000000000FF ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
543 | { UINT64_C( 0x000000000000007F ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
544 | { UINT64_C( 0x000000000000003F ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
545 | { UINT64_C( 0x000000000000001F ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
546 | { UINT64_C( 0x000000000000000F ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
547 | { UINT64_C( 0x0000000000000007 ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
548 | { UINT64_C( 0x0000000000000003 ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
549 | { UINT64_C( 0x0000000000000001 ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
550 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0xFFFFFFFFFFFFFFFF ) },
|
---|
551 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x7FFFFFFFFFFFFFFF ) },
|
---|
552 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x3FFFFFFFFFFFFFFF ) },
|
---|
553 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x1FFFFFFFFFFFFFFF ) },
|
---|
554 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0FFFFFFFFFFFFFFF ) },
|
---|
555 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x07FFFFFFFFFFFFFF ) },
|
---|
556 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x03FFFFFFFFFFFFFF ) },
|
---|
557 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x01FFFFFFFFFFFFFF ) },
|
---|
558 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00FFFFFFFFFFFFFF ) },
|
---|
559 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x007FFFFFFFFFFFFF ) },
|
---|
560 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x003FFFFFFFFFFFFF ) },
|
---|
561 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x001FFFFFFFFFFFFF ) },
|
---|
562 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000FFFFFFFFFFFFF ) },
|
---|
563 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0007FFFFFFFFFFFF ) },
|
---|
564 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0003FFFFFFFFFFFF ) },
|
---|
565 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0001FFFFFFFFFFFF ) },
|
---|
566 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000FFFFFFFFFFFF ) },
|
---|
567 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00007FFFFFFFFFFF ) },
|
---|
568 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00003FFFFFFFFFFF ) },
|
---|
569 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00001FFFFFFFFFFF ) },
|
---|
570 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00000FFFFFFFFFFF ) },
|
---|
571 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000007FFFFFFFFFF ) },
|
---|
572 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000003FFFFFFFFFF ) },
|
---|
573 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000001FFFFFFFFFF ) },
|
---|
574 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000000FFFFFFFFFF ) },
|
---|
575 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000007FFFFFFFFF ) },
|
---|
576 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000003FFFFFFFFF ) },
|
---|
577 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000001FFFFFFFFF ) },
|
---|
578 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000FFFFFFFFF ) },
|
---|
579 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00000007FFFFFFFF ) },
|
---|
580 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00000003FFFFFFFF ) },
|
---|
581 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00000001FFFFFFFF ) },
|
---|
582 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00000000FFFFFFFF ) },
|
---|
583 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000000007FFFFFFF ) },
|
---|
584 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000000003FFFFFFF ) },
|
---|
585 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000000001FFFFFFF ) },
|
---|
586 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000000000FFFFFFF ) },
|
---|
587 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000007FFFFFF ) },
|
---|
588 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000003FFFFFF ) },
|
---|
589 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000001FFFFFF ) },
|
---|
590 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000FFFFFF ) },
|
---|
591 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00000000007FFFFF ) },
|
---|
592 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00000000003FFFFF ) },
|
---|
593 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00000000001FFFFF ) },
|
---|
594 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00000000000FFFFF ) },
|
---|
595 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000000000007FFFF ) },
|
---|
596 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000000000003FFFF ) },
|
---|
597 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000000000001FFFF ) },
|
---|
598 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000000000000FFFF ) },
|
---|
599 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000007FFF ) },
|
---|
600 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000003FFF ) },
|
---|
601 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000001FFF ) },
|
---|
602 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000FFF ) },
|
---|
603 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00000000000007FF ) },
|
---|
604 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00000000000003FF ) },
|
---|
605 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00000000000001FF ) },
|
---|
606 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x00000000000000FF ) },
|
---|
607 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000000000000007F ) },
|
---|
608 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000000000000003F ) },
|
---|
609 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000000000000001F ) },
|
---|
610 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x000000000000000F ) },
|
---|
611 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000007 ) },
|
---|
612 | { UINT64_C( 0x0000000000000000 ), UINT64_C( 0x0000000000000003 ) }
|
---|
613 | };
|
---|
614 |
|
---|
615 | static const uint_fast64_t f128NumQInP1 = f128NumQIn * f128NumP1;
|
---|
616 | static const uint_fast64_t f128NumQOutP1 = f128NumQOut * f128NumP1;
|
---|
617 |
|
---|
618 | static void f128NextQInP1( struct sequence *sequencePtr, float128_t *zPtr )
|
---|
619 | {
|
---|
620 | struct uint128 *uiZPtr;
|
---|
621 | int expNum, sigNum;
|
---|
622 |
|
---|
623 | uiZPtr = (struct uint128 *) zPtr;
|
---|
624 | expNum = sequencePtr->expNum;
|
---|
625 | sigNum = sequencePtr->term1Num;
|
---|
626 | uiZPtr->v64 = f128QIn[expNum] | f128P1[sigNum].v64;
|
---|
627 | uiZPtr->v0 = f128P1[sigNum].v0;
|
---|
628 | ++sigNum;
|
---|
629 | if ( f128NumP1 <= sigNum ) {
|
---|
630 | sigNum = 0;
|
---|
631 | ++expNum;
|
---|
632 | if ( f128NumQIn <= expNum ) {
|
---|
633 | expNum = 0;
|
---|
634 | sequencePtr->done = true;
|
---|
635 | }
|
---|
636 | sequencePtr->expNum = expNum;
|
---|
637 | }
|
---|
638 | sequencePtr->term1Num = sigNum;
|
---|
639 |
|
---|
640 | }
|
---|
641 |
|
---|
642 | static void f128NextQOutP1( struct sequence *sequencePtr, float128_t *zPtr )
|
---|
643 | {
|
---|
644 | struct uint128 *uiZPtr;
|
---|
645 | int expNum, sigNum;
|
---|
646 |
|
---|
647 | uiZPtr = (struct uint128 *) zPtr;
|
---|
648 | expNum = sequencePtr->expNum;
|
---|
649 | sigNum = sequencePtr->term1Num;
|
---|
650 | uiZPtr->v64 = f128QOut[expNum] | f128P1[sigNum].v64;
|
---|
651 | uiZPtr->v0 = f128P1[sigNum].v0;
|
---|
652 | ++sigNum;
|
---|
653 | if ( f128NumP1 <= sigNum ) {
|
---|
654 | sigNum = 0;
|
---|
655 | ++expNum;
|
---|
656 | if ( f128NumQOut <= expNum ) {
|
---|
657 | expNum = 0;
|
---|
658 | sequencePtr->done = true;
|
---|
659 | }
|
---|
660 | sequencePtr->expNum = expNum;
|
---|
661 | }
|
---|
662 | sequencePtr->term1Num = sigNum;
|
---|
663 |
|
---|
664 | }
|
---|
665 |
|
---|
666 | static const uint_fast64_t f128NumQInP2 = f128NumQIn * f128NumP2;
|
---|
667 | static const uint_fast64_t f128NumQOutP2 = f128NumQOut * f128NumP2;
|
---|
668 |
|
---|
669 | static void f128NextQInP2( struct sequence *sequencePtr, float128_t *zPtr )
|
---|
670 | {
|
---|
671 | struct uint128 *uiZPtr;
|
---|
672 | int expNum, sigNum;
|
---|
673 |
|
---|
674 | uiZPtr = (struct uint128 *) zPtr;
|
---|
675 | expNum = sequencePtr->expNum;
|
---|
676 | sigNum = sequencePtr->term1Num;
|
---|
677 | uiZPtr->v64 = f128QIn[expNum] | f128P2[sigNum].v64;
|
---|
678 | uiZPtr->v0 = f128P2[sigNum].v0;
|
---|
679 | ++sigNum;
|
---|
680 | if ( f128NumP2 <= sigNum ) {
|
---|
681 | sigNum = 0;
|
---|
682 | ++expNum;
|
---|
683 | if ( f128NumQIn <= expNum ) {
|
---|
684 | expNum = 0;
|
---|
685 | sequencePtr->done = true;
|
---|
686 | }
|
---|
687 | sequencePtr->expNum = expNum;
|
---|
688 | }
|
---|
689 | sequencePtr->term1Num = sigNum;
|
---|
690 |
|
---|
691 | }
|
---|
692 |
|
---|
693 | static void f128NextQOutP2( struct sequence *sequencePtr, float128_t *zPtr )
|
---|
694 | {
|
---|
695 | struct uint128 *uiZPtr;
|
---|
696 | int expNum, sigNum;
|
---|
697 |
|
---|
698 | uiZPtr = (struct uint128 *) zPtr;
|
---|
699 | expNum = sequencePtr->expNum;
|
---|
700 | sigNum = sequencePtr->term1Num;
|
---|
701 | uiZPtr->v64 = f128QOut[expNum] | f128P2[sigNum].v64;
|
---|
702 | uiZPtr->v0 = f128P2[sigNum].v0;
|
---|
703 | ++sigNum;
|
---|
704 | if ( f128NumP2 <= sigNum ) {
|
---|
705 | sigNum = 0;
|
---|
706 | ++expNum;
|
---|
707 | if ( f128NumQOut <= expNum ) {
|
---|
708 | expNum = 0;
|
---|
709 | sequencePtr->done = true;
|
---|
710 | }
|
---|
711 | sequencePtr->expNum = expNum;
|
---|
712 | }
|
---|
713 | sequencePtr->term1Num = sigNum;
|
---|
714 |
|
---|
715 | }
|
---|
716 |
|
---|
717 | static void f128RandomQOutP3( float128_t *zPtr )
|
---|
718 | {
|
---|
719 | struct uint128 *uiZPtr;
|
---|
720 | int sigNum1, sigNum2;
|
---|
721 | uint_fast64_t sig1_0;
|
---|
722 |
|
---|
723 | uiZPtr = (struct uint128 *) zPtr;
|
---|
724 | sigNum1 = randomN_ui16( f128NumP2 );
|
---|
725 | sigNum2 = randomN_ui16( f128NumP2 );
|
---|
726 | sig1_0 = f128P2[sigNum1].v0;
|
---|
727 | uiZPtr->v0 = sig1_0 + f128P2[sigNum2].v0;
|
---|
728 | uiZPtr->v64 =
|
---|
729 | f128QOut[randomN_ui8( f128NumQOut )]
|
---|
730 | | ((f128P2[sigNum1].v64 + f128P2[sigNum2].v64 + (uiZPtr->v0 < sig1_0))
|
---|
731 | & UINT64_C( 0x0000FFFFFFFFFFFF ));
|
---|
732 |
|
---|
733 | }
|
---|
734 |
|
---|
735 | static void f128RandomQOutPInf( float128_t *zPtr )
|
---|
736 | {
|
---|
737 | struct uint128 *uiZPtr;
|
---|
738 |
|
---|
739 | uiZPtr = (struct uint128 *) zPtr;
|
---|
740 | uiZPtr->v64 =
|
---|
741 | f128QOut[randomN_ui8( f128NumQOut )]
|
---|
742 | | (random_ui64() & UINT64_C( 0x0000FFFFFFFFFFFF ));
|
---|
743 | uiZPtr->v0 = random_ui64();
|
---|
744 |
|
---|
745 | }
|
---|
746 |
|
---|
747 | enum { f128NumQInfWeightMasks = 14 };
|
---|
748 | static const uint64_t f128QInfWeightMasks[f128NumQInfWeightMasks] = {
|
---|
749 | UINT64_C( 0xFFFF000000000000 ),
|
---|
750 | UINT64_C( 0xFFFF000000000000 ),
|
---|
751 | UINT64_C( 0xBFFF000000000000 ),
|
---|
752 | UINT64_C( 0x9FFF000000000000 ),
|
---|
753 | UINT64_C( 0x87FF000000000000 ),
|
---|
754 | UINT64_C( 0x87FF000000000000 ),
|
---|
755 | UINT64_C( 0x83FF000000000000 ),
|
---|
756 | UINT64_C( 0x81FF000000000000 ),
|
---|
757 | UINT64_C( 0x80FF000000000000 ),
|
---|
758 | UINT64_C( 0x807F000000000000 ),
|
---|
759 | UINT64_C( 0x803F000000000000 ),
|
---|
760 | UINT64_C( 0x801F000000000000 ),
|
---|
761 | UINT64_C( 0x800F000000000000 ),
|
---|
762 | UINT64_C( 0x8007000000000000 )
|
---|
763 | };
|
---|
764 | static const uint64_t f128QInfWeightOffsets[f128NumQInfWeightMasks] = {
|
---|
765 | UINT64_C( 0x0000000000000000 ),
|
---|
766 | UINT64_C( 0x0000000000000000 ),
|
---|
767 | UINT64_C( 0x2000000000000000 ),
|
---|
768 | UINT64_C( 0x3000000000000000 ),
|
---|
769 | UINT64_C( 0x3800000000000000 ),
|
---|
770 | UINT64_C( 0x3C00000000000000 ),
|
---|
771 | UINT64_C( 0x3E00000000000000 ),
|
---|
772 | UINT64_C( 0x3F00000000000000 ),
|
---|
773 | UINT64_C( 0x3F80000000000000 ),
|
---|
774 | UINT64_C( 0x3FC0000000000000 ),
|
---|
775 | UINT64_C( 0x3FE0000000000000 ),
|
---|
776 | UINT64_C( 0x3FF0000000000000 ),
|
---|
777 | UINT64_C( 0x3FF8000000000000 ),
|
---|
778 | UINT64_C( 0x3FFC000000000000 )
|
---|
779 | };
|
---|
780 |
|
---|
781 | static void f128RandomQInfP3( float128_t *zPtr )
|
---|
782 | {
|
---|
783 | struct uint128 *uiZPtr;
|
---|
784 | int sigNum1, sigNum2;
|
---|
785 | uint_fast64_t sig1_0;
|
---|
786 | int weightMaskNum;
|
---|
787 |
|
---|
788 | uiZPtr = (struct uint128 *) zPtr;
|
---|
789 | sigNum1 = randomN_ui16( f128NumP2 );
|
---|
790 | sigNum2 = randomN_ui16( f128NumP2 );
|
---|
791 | sig1_0 = f128P2[sigNum1].v0;
|
---|
792 | uiZPtr->v0 = sig1_0 + f128P2[sigNum2].v0;
|
---|
793 | weightMaskNum = randomN_ui8( f128NumQInfWeightMasks );
|
---|
794 | uiZPtr->v64 =
|
---|
795 | (((uint_fast64_t) random_ui16()<<48
|
---|
796 | & f128QInfWeightMasks[weightMaskNum])
|
---|
797 | + f128QInfWeightOffsets[weightMaskNum])
|
---|
798 | | ((f128P2[sigNum1].v64 + f128P2[sigNum2].v64 + (uiZPtr->v0 < sig1_0))
|
---|
799 | & UINT64_C( 0x0000FFFFFFFFFFFF ));
|
---|
800 |
|
---|
801 | }
|
---|
802 |
|
---|
803 | static void f128RandomQInfPInf( float128_t *zPtr )
|
---|
804 | {
|
---|
805 | struct uint128 *uiZPtr;
|
---|
806 | int weightMaskNum;
|
---|
807 |
|
---|
808 | uiZPtr = (struct uint128 *) zPtr;
|
---|
809 | weightMaskNum = randomN_ui8( f128NumQInfWeightMasks );
|
---|
810 | uiZPtr->v64 =
|
---|
811 | (random_ui64()
|
---|
812 | & (f128QInfWeightMasks[weightMaskNum]
|
---|
813 | | UINT64_C( 0x0000FFFFFFFFFFFF )))
|
---|
814 | + f128QInfWeightOffsets[weightMaskNum];
|
---|
815 | uiZPtr->v0 = random_ui64();
|
---|
816 |
|
---|
817 | }
|
---|
818 |
|
---|
819 | static void f128Random( float128_t *zPtr )
|
---|
820 | {
|
---|
821 |
|
---|
822 | switch ( random_ui8() & 7 ) {
|
---|
823 | case 0:
|
---|
824 | case 1:
|
---|
825 | case 2:
|
---|
826 | f128RandomQOutP3( zPtr );
|
---|
827 | break;
|
---|
828 | case 3:
|
---|
829 | f128RandomQOutPInf( zPtr );
|
---|
830 | break;
|
---|
831 | case 4:
|
---|
832 | case 5:
|
---|
833 | case 6:
|
---|
834 | f128RandomQInfP3( zPtr );
|
---|
835 | break;
|
---|
836 | case 7:
|
---|
837 | f128RandomQInfPInf( zPtr );
|
---|
838 | break;
|
---|
839 | }
|
---|
840 |
|
---|
841 | }
|
---|
842 |
|
---|
843 | static struct sequence sequenceA, sequenceB, sequenceC;
|
---|
844 | static float128_t currentA, currentB, currentC;
|
---|
845 | static int subcase;
|
---|
846 |
|
---|
847 | float128_t genCases_f128_a, genCases_f128_b, genCases_f128_c;
|
---|
848 |
|
---|
849 | void genCases_f128_a_init( void )
|
---|
850 | {
|
---|
851 |
|
---|
852 | sequenceA.expNum = 0;
|
---|
853 | sequenceA.term1Num = 0;
|
---|
854 | sequenceA.term2Num = 0;
|
---|
855 | sequenceA.done = false;
|
---|
856 | subcase = 0;
|
---|
857 | genCases_total =
|
---|
858 | (genCases_level == 1) ? 3 * f128NumQOutP1 : 2 * f128NumQOutP2;
|
---|
859 | genCases_done = false;
|
---|
860 |
|
---|
861 | }
|
---|
862 |
|
---|
863 | void genCases_f128_a_next( void )
|
---|
864 | {
|
---|
865 |
|
---|
866 | if ( genCases_level == 1 ) {
|
---|
867 | switch ( subcase ) {
|
---|
868 | case 0:
|
---|
869 | case 1:
|
---|
870 | f128Random( &genCases_f128_a );
|
---|
871 | break;
|
---|
872 | case 2:
|
---|
873 | f128NextQOutP1( &sequenceA, &genCases_f128_a );
|
---|
874 | genCases_done = sequenceA.done;
|
---|
875 | subcase = -1;
|
---|
876 | break;
|
---|
877 | }
|
---|
878 | } else {
|
---|
879 | switch ( subcase ) {
|
---|
880 | case 0:
|
---|
881 | f128Random( &genCases_f128_a );
|
---|
882 | break;
|
---|
883 | case 1:
|
---|
884 | f128NextQOutP2( &sequenceA, &genCases_f128_a );
|
---|
885 | genCases_done = sequenceA.done;
|
---|
886 | subcase = -1;
|
---|
887 | break;
|
---|
888 | }
|
---|
889 | }
|
---|
890 | ++subcase;
|
---|
891 |
|
---|
892 | }
|
---|
893 |
|
---|
894 | void genCases_f128_ab_init( void )
|
---|
895 | {
|
---|
896 |
|
---|
897 | sequenceA.expNum = 0;
|
---|
898 | sequenceA.term1Num = 0;
|
---|
899 | sequenceA.term2Num = 0;
|
---|
900 | sequenceA.done = false;
|
---|
901 | sequenceB.expNum = 0;
|
---|
902 | sequenceB.term1Num = 0;
|
---|
903 | sequenceB.term2Num = 0;
|
---|
904 | sequenceB.done = false;
|
---|
905 | subcase = 0;
|
---|
906 | if ( genCases_level == 1 ) {
|
---|
907 | genCases_total = 6 * f128NumQInP1 * f128NumQInP1;
|
---|
908 | f128NextQInP1( &sequenceA, ¤tA );
|
---|
909 | } else {
|
---|
910 | genCases_total = 2 * f128NumQInP2 * f128NumQInP2;
|
---|
911 | f128NextQInP2( &sequenceA, ¤tA );
|
---|
912 | }
|
---|
913 | genCases_done = false;
|
---|
914 |
|
---|
915 | }
|
---|
916 |
|
---|
917 | void genCases_f128_ab_next( void )
|
---|
918 | {
|
---|
919 |
|
---|
920 | if ( genCases_level == 1 ) {
|
---|
921 | switch ( subcase ) {
|
---|
922 | case 0:
|
---|
923 | if ( sequenceB.done ) {
|
---|
924 | sequenceB.done = false;
|
---|
925 | f128NextQInP1( &sequenceA, ¤tA );
|
---|
926 | }
|
---|
927 | f128NextQInP1( &sequenceB, ¤tB );
|
---|
928 | case 2:
|
---|
929 | case 4:
|
---|
930 | f128Random( &genCases_f128_a );
|
---|
931 | f128Random( &genCases_f128_b );
|
---|
932 | break;
|
---|
933 | case 1:
|
---|
934 | genCases_f128_a = currentA;
|
---|
935 | f128Random( &genCases_f128_b );
|
---|
936 | break;
|
---|
937 | case 3:
|
---|
938 | f128Random( &genCases_f128_a );
|
---|
939 | genCases_f128_b = currentB;
|
---|
940 | break;
|
---|
941 | case 5:
|
---|
942 | genCases_f128_a = currentA;
|
---|
943 | genCases_f128_b = currentB;
|
---|
944 | genCases_done = sequenceA.done & sequenceB.done;
|
---|
945 | subcase = -1;
|
---|
946 | break;
|
---|
947 | }
|
---|
948 | } else {
|
---|
949 | switch ( subcase ) {
|
---|
950 | case 0:
|
---|
951 | f128Random( &genCases_f128_a );
|
---|
952 | f128Random( &genCases_f128_b );
|
---|
953 | break;
|
---|
954 | case 1:
|
---|
955 | if ( sequenceB.done ) {
|
---|
956 | sequenceB.done = false;
|
---|
957 | f128NextQInP2( &sequenceA, ¤tA );
|
---|
958 | }
|
---|
959 | genCases_f128_a = currentA;
|
---|
960 | f128NextQInP2( &sequenceB, &genCases_f128_b );
|
---|
961 | genCases_done = sequenceA.done & sequenceB.done;
|
---|
962 | subcase = -1;
|
---|
963 | break;
|
---|
964 | }
|
---|
965 | }
|
---|
966 | ++subcase;
|
---|
967 |
|
---|
968 | }
|
---|
969 |
|
---|
970 | void genCases_f128_abc_init( void )
|
---|
971 | {
|
---|
972 |
|
---|
973 | sequenceA.expNum = 0;
|
---|
974 | sequenceA.term1Num = 0;
|
---|
975 | sequenceA.term2Num = 0;
|
---|
976 | sequenceA.done = false;
|
---|
977 | sequenceB.expNum = 0;
|
---|
978 | sequenceB.term1Num = 0;
|
---|
979 | sequenceB.term2Num = 0;
|
---|
980 | sequenceB.done = false;
|
---|
981 | sequenceC.expNum = 0;
|
---|
982 | sequenceC.term1Num = 0;
|
---|
983 | sequenceC.term2Num = 0;
|
---|
984 | sequenceC.done = false;
|
---|
985 | subcase = 0;
|
---|
986 | if ( genCases_level == 1 ) {
|
---|
987 | genCases_total = 9 * f128NumQInP1 * f128NumQInP1 * f128NumQInP1;
|
---|
988 | f128NextQInP1( &sequenceA, ¤tA );
|
---|
989 | f128NextQInP1( &sequenceB, ¤tB );
|
---|
990 | } else {
|
---|
991 | genCases_total = 2 * f128NumQInP2 * f128NumQInP2 * f128NumQInP2;
|
---|
992 | f128NextQInP2( &sequenceA, ¤tA );
|
---|
993 | f128NextQInP2( &sequenceB, ¤tB );
|
---|
994 | }
|
---|
995 | genCases_done = false;
|
---|
996 |
|
---|
997 | }
|
---|
998 |
|
---|
999 | void genCases_f128_abc_next( void )
|
---|
1000 | {
|
---|
1001 |
|
---|
1002 | if ( genCases_level == 1 ) {
|
---|
1003 | switch ( subcase ) {
|
---|
1004 | case 0:
|
---|
1005 | if ( sequenceC.done ) {
|
---|
1006 | sequenceC.done = false;
|
---|
1007 | if ( sequenceB.done ) {
|
---|
1008 | sequenceB.done = false;
|
---|
1009 | f128NextQInP1( &sequenceA, ¤tA );
|
---|
1010 | }
|
---|
1011 | f128NextQInP1( &sequenceB, ¤tB );
|
---|
1012 | }
|
---|
1013 | f128NextQInP1( &sequenceC, ¤tC );
|
---|
1014 | f128Random( &genCases_f128_a );
|
---|
1015 | f128Random( &genCases_f128_b );
|
---|
1016 | genCases_f128_c = currentC;
|
---|
1017 | break;
|
---|
1018 | case 1:
|
---|
1019 | genCases_f128_a = currentA;
|
---|
1020 | genCases_f128_b = currentB;
|
---|
1021 | f128Random( &genCases_f128_c );
|
---|
1022 | break;
|
---|
1023 | case 2:
|
---|
1024 | f128Random( &genCases_f128_a );
|
---|
1025 | f128Random( &genCases_f128_b );
|
---|
1026 | f128Random( &genCases_f128_c );
|
---|
1027 | break;
|
---|
1028 | case 3:
|
---|
1029 | f128Random( &genCases_f128_a );
|
---|
1030 | genCases_f128_b = currentB;
|
---|
1031 | genCases_f128_c = currentC;
|
---|
1032 | break;
|
---|
1033 | case 4:
|
---|
1034 | genCases_f128_a = currentA;
|
---|
1035 | f128Random( &genCases_f128_b );
|
---|
1036 | f128Random( &genCases_f128_c );
|
---|
1037 | break;
|
---|
1038 | case 5:
|
---|
1039 | f128Random( &genCases_f128_a );
|
---|
1040 | genCases_f128_b = currentB;
|
---|
1041 | f128Random( &genCases_f128_c );
|
---|
1042 | break;
|
---|
1043 | case 6:
|
---|
1044 | genCases_f128_a = currentA;
|
---|
1045 | f128Random( &genCases_f128_b );
|
---|
1046 | genCases_f128_c = currentC;
|
---|
1047 | break;
|
---|
1048 | case 7:
|
---|
1049 | f128Random( &genCases_f128_a );
|
---|
1050 | f128Random( &genCases_f128_b );
|
---|
1051 | f128Random( &genCases_f128_c );
|
---|
1052 | break;
|
---|
1053 | case 8:
|
---|
1054 | genCases_f128_a = currentA;
|
---|
1055 | genCases_f128_b = currentB;
|
---|
1056 | genCases_f128_c = currentC;
|
---|
1057 | genCases_done = sequenceA.done & sequenceB.done & sequenceC.done;
|
---|
1058 | subcase = -1;
|
---|
1059 | break;
|
---|
1060 | }
|
---|
1061 | } else {
|
---|
1062 | switch ( subcase ) {
|
---|
1063 | case 0:
|
---|
1064 | f128Random( &genCases_f128_a );
|
---|
1065 | f128Random( &genCases_f128_b );
|
---|
1066 | f128Random( &genCases_f128_c );
|
---|
1067 | break;
|
---|
1068 | case 1:
|
---|
1069 | if ( sequenceC.done ) {
|
---|
1070 | sequenceC.done = false;
|
---|
1071 | if ( sequenceB.done ) {
|
---|
1072 | sequenceB.done = false;
|
---|
1073 | f128NextQInP2( &sequenceA, ¤tA );
|
---|
1074 | }
|
---|
1075 | f128NextQInP2( &sequenceB, ¤tB );
|
---|
1076 | }
|
---|
1077 | genCases_f128_a = currentA;
|
---|
1078 | genCases_f128_b = currentB;
|
---|
1079 | f128NextQInP2( &sequenceC, &genCases_f128_c );
|
---|
1080 | genCases_done = sequenceA.done & sequenceB.done & sequenceC.done;
|
---|
1081 | subcase = -1;
|
---|
1082 | break;
|
---|
1083 | }
|
---|
1084 | }
|
---|
1085 | ++subcase;
|
---|
1086 |
|
---|
1087 | }
|
---|
1088 |
|
---|
1089 | #endif
|
---|
1090 |
|
---|