1const checkExpected = math.checkExpected;
2const Compare = math.Compare;
3const fmax = math.fmax;
4const fmin = math.fmin;
5const Gpr = math.Gpr;
6const imax = math.imax;
7const imin = math.imin;
8const inf = math.inf;
9const Log2Int = math.Log2Int;
10const Log2IntCeil = math.Log2IntCeil;
11const math = @import("math.zig");
12const nan = math.nan;
13const next = math.next;
14const Scalar = math.Scalar;
15const splat = math.splat;
16const Sse = math.Sse;
17const tmin = math.tmin;
18
19fn cast(comptime op: anytype, comptime opts: struct { compare: Compare = .relaxed }) type {
20 return struct {
21 // noinline so that `mem_arg` is on the stack
22 noinline fn testArgKinds(
23 _: Gpr,
24 _: Gpr,
25 _: Gpr,
26 _: Gpr,
27 _: Gpr,
28 _: Gpr,
29 _: Gpr,
30 _: Gpr,
31 _: Sse,
32 _: Sse,
33 _: Sse,
34 _: Sse,
35 _: Sse,
36 _: Sse,
37 _: Sse,
38 _: Sse,
39 comptime Result: type,
40 comptime Type: type,
41 comptime imm_arg: Type,
42 mem_arg: Type,
43 ) !void {
44 const expected = comptime op(Result, Type, imm_arg, imm_arg);
45 var reg_arg = mem_arg;
46 _ = .{&reg_arg};
47 try checkExpected(expected, op(Result, Type, reg_arg, imm_arg), opts.compare);
48 try checkExpected(expected, op(Result, Type, mem_arg, imm_arg), opts.compare);
49 try checkExpected(expected, op(Result, Type, imm_arg, imm_arg), opts.compare);
50 }
51 // noinline for a more helpful stack trace
52 noinline fn testArgs(comptime Result: type, comptime Type: type, comptime imm_arg: Type) !void {
53 try testArgKinds(
54 undefined,
55 undefined,
56 undefined,
57 undefined,
58 undefined,
59 undefined,
60 undefined,
61 undefined,
62 undefined,
63 undefined,
64 undefined,
65 undefined,
66 undefined,
67 undefined,
68 undefined,
69 undefined,
70 Result,
71 Type,
72 imm_arg,
73 imm_arg,
74 );
75 }
76 fn testSameSignednessInts() !void {
77 try testArgs(i8, i1, -1);
78 try testArgs(i8, i1, 0);
79 try testArgs(i16, i1, -1);
80 try testArgs(i16, i1, 0);
81 try testArgs(i32, i1, -1);
82 try testArgs(i32, i1, 0);
83 try testArgs(i64, i1, -1);
84 try testArgs(i64, i1, 0);
85 try testArgs(i128, i1, -1);
86 try testArgs(i128, i1, 0);
87 try testArgs(i256, i1, -1);
88 try testArgs(i256, i1, 0);
89 try testArgs(i512, i1, -1);
90 try testArgs(i512, i1, 0);
91 try testArgs(i1024, i1, -1);
92 try testArgs(i1024, i1, 0);
93 try testArgs(u8, u1, 0);
94 try testArgs(u8, u1, 1 << 0);
95 try testArgs(u16, u1, 0);
96 try testArgs(u16, u1, 1 << 0);
97 try testArgs(u32, u1, 0);
98 try testArgs(u32, u1, 1 << 0);
99 try testArgs(u64, u1, 0);
100 try testArgs(u64, u1, 1 << 0);
101 try testArgs(u128, u1, 0);
102 try testArgs(u128, u1, 1 << 0);
103 try testArgs(u256, u1, 0);
104 try testArgs(u256, u1, 1 << 0);
105 try testArgs(u512, u1, 0);
106 try testArgs(u512, u1, 1 << 0);
107 try testArgs(u1024, u1, 0);
108 try testArgs(u1024, u1, 1 << 0);
109
110 try testArgs(i8, i2, -1 << 1);
111 try testArgs(i8, i2, -1);
112 try testArgs(i8, i2, 0);
113 try testArgs(i16, i2, -1 << 1);
114 try testArgs(i16, i2, -1);
115 try testArgs(i16, i2, 0);
116 try testArgs(i32, i2, -1 << 1);
117 try testArgs(i32, i2, -1);
118 try testArgs(i32, i2, 0);
119 try testArgs(i64, i2, -1 << 1);
120 try testArgs(i64, i2, -1);
121 try testArgs(i64, i2, 0);
122 try testArgs(i128, i2, -1 << 1);
123 try testArgs(i128, i2, -1);
124 try testArgs(i128, i2, 0);
125 try testArgs(i256, i2, -1 << 1);
126 try testArgs(i256, i2, -1);
127 try testArgs(i256, i2, 0);
128 try testArgs(i512, i2, -1 << 1);
129 try testArgs(i512, i2, -1);
130 try testArgs(i512, i2, 0);
131 try testArgs(i1024, i2, -1 << 1);
132 try testArgs(i1024, i2, -1);
133 try testArgs(i1024, i2, 0);
134 try testArgs(u8, u2, 0);
135 try testArgs(u8, u2, 1 << 0);
136 try testArgs(u8, u2, 1 << 1);
137 try testArgs(u16, u2, 0);
138 try testArgs(u16, u2, 1 << 0);
139 try testArgs(u16, u2, 1 << 1);
140 try testArgs(u32, u2, 0);
141 try testArgs(u32, u2, 1 << 0);
142 try testArgs(u32, u2, 1 << 1);
143 try testArgs(u64, u2, 0);
144 try testArgs(u64, u2, 1 << 0);
145 try testArgs(u64, u2, 1 << 1);
146 try testArgs(u128, u2, 0);
147 try testArgs(u128, u2, 1 << 0);
148 try testArgs(u128, u2, 1 << 1);
149 try testArgs(u256, u2, 0);
150 try testArgs(u256, u2, 1 << 0);
151 try testArgs(u256, u2, 1 << 1);
152 try testArgs(u512, u2, 0);
153 try testArgs(u512, u2, 1 << 0);
154 try testArgs(u512, u2, 1 << 1);
155 try testArgs(u1024, u2, 0);
156 try testArgs(u1024, u2, 1 << 0);
157 try testArgs(u1024, u2, 1 << 1);
158
159 try testArgs(i8, i3, -1 << 2);
160 try testArgs(i8, i3, -1);
161 try testArgs(i8, i3, 0);
162 try testArgs(i16, i3, -1 << 2);
163 try testArgs(i16, i3, -1);
164 try testArgs(i16, i3, 0);
165 try testArgs(i32, i3, -1 << 2);
166 try testArgs(i32, i3, -1);
167 try testArgs(i32, i3, 0);
168 try testArgs(i64, i3, -1 << 2);
169 try testArgs(i64, i3, -1);
170 try testArgs(i64, i3, 0);
171 try testArgs(i128, i3, -1 << 2);
172 try testArgs(i128, i3, -1);
173 try testArgs(i128, i3, 0);
174 try testArgs(i256, i3, -1 << 2);
175 try testArgs(i256, i3, -1);
176 try testArgs(i256, i3, 0);
177 try testArgs(i512, i3, -1 << 2);
178 try testArgs(i512, i3, -1);
179 try testArgs(i512, i3, 0);
180 try testArgs(i1024, i3, -1 << 2);
181 try testArgs(i1024, i3, -1);
182 try testArgs(i1024, i3, 0);
183 try testArgs(u8, u3, 0);
184 try testArgs(u8, u3, 1 << 0);
185 try testArgs(u8, u3, 1 << 2);
186 try testArgs(u16, u3, 0);
187 try testArgs(u16, u3, 1 << 0);
188 try testArgs(u16, u3, 1 << 2);
189 try testArgs(u32, u3, 0);
190 try testArgs(u32, u3, 1 << 0);
191 try testArgs(u32, u3, 1 << 2);
192 try testArgs(u64, u3, 0);
193 try testArgs(u64, u3, 1 << 0);
194 try testArgs(u64, u3, 1 << 2);
195 try testArgs(u128, u3, 0);
196 try testArgs(u128, u3, 1 << 0);
197 try testArgs(u128, u3, 1 << 2);
198 try testArgs(u256, u3, 0);
199 try testArgs(u256, u3, 1 << 0);
200 try testArgs(u256, u3, 1 << 2);
201 try testArgs(u512, u3, 0);
202 try testArgs(u512, u3, 1 << 0);
203 try testArgs(u512, u3, 1 << 2);
204 try testArgs(u1024, u3, 0);
205 try testArgs(u1024, u3, 1 << 0);
206 try testArgs(u1024, u3, 1 << 2);
207
208 try testArgs(i8, i4, -1 << 3);
209 try testArgs(i8, i4, -1);
210 try testArgs(i8, i4, 0);
211 try testArgs(i16, i4, -1 << 3);
212 try testArgs(i16, i4, -1);
213 try testArgs(i16, i4, 0);
214 try testArgs(i32, i4, -1 << 3);
215 try testArgs(i32, i4, -1);
216 try testArgs(i32, i4, 0);
217 try testArgs(i64, i4, -1 << 3);
218 try testArgs(i64, i4, -1);
219 try testArgs(i64, i4, 0);
220 try testArgs(i128, i4, -1 << 3);
221 try testArgs(i128, i4, -1);
222 try testArgs(i128, i4, 0);
223 try testArgs(i256, i4, -1 << 3);
224 try testArgs(i256, i4, -1);
225 try testArgs(i256, i4, 0);
226 try testArgs(i512, i4, -1 << 3);
227 try testArgs(i512, i4, -1);
228 try testArgs(i512, i4, 0);
229 try testArgs(i1024, i4, -1 << 3);
230 try testArgs(i1024, i4, -1);
231 try testArgs(i1024, i4, 0);
232 try testArgs(u8, u4, 0);
233 try testArgs(u8, u4, 1 << 0);
234 try testArgs(u8, u4, 1 << 3);
235 try testArgs(u16, u4, 0);
236 try testArgs(u16, u4, 1 << 0);
237 try testArgs(u16, u4, 1 << 3);
238 try testArgs(u32, u4, 0);
239 try testArgs(u32, u4, 1 << 0);
240 try testArgs(u32, u4, 1 << 3);
241 try testArgs(u64, u4, 0);
242 try testArgs(u64, u4, 1 << 0);
243 try testArgs(u64, u4, 1 << 3);
244 try testArgs(u128, u4, 0);
245 try testArgs(u128, u4, 1 << 0);
246 try testArgs(u128, u4, 1 << 3);
247 try testArgs(u256, u4, 0);
248 try testArgs(u256, u4, 1 << 0);
249 try testArgs(u256, u4, 1 << 3);
250 try testArgs(u512, u4, 0);
251 try testArgs(u512, u4, 1 << 0);
252 try testArgs(u512, u4, 1 << 3);
253 try testArgs(u1024, u4, 0);
254 try testArgs(u1024, u4, 1 << 0);
255 try testArgs(u1024, u4, 1 << 3);
256
257 try testArgs(i8, i5, -1 << 4);
258 try testArgs(i8, i5, -1);
259 try testArgs(i8, i5, 0);
260 try testArgs(i16, i5, -1 << 4);
261 try testArgs(i16, i5, -1);
262 try testArgs(i16, i5, 0);
263 try testArgs(i32, i5, -1 << 4);
264 try testArgs(i32, i5, -1);
265 try testArgs(i32, i5, 0);
266 try testArgs(i64, i5, -1 << 4);
267 try testArgs(i64, i5, -1);
268 try testArgs(i64, i5, 0);
269 try testArgs(i128, i5, -1 << 4);
270 try testArgs(i128, i5, -1);
271 try testArgs(i128, i5, 0);
272 try testArgs(i256, i5, -1 << 4);
273 try testArgs(i256, i5, -1);
274 try testArgs(i256, i5, 0);
275 try testArgs(i512, i5, -1 << 4);
276 try testArgs(i512, i5, -1);
277 try testArgs(i512, i5, 0);
278 try testArgs(i1024, i5, -1 << 4);
279 try testArgs(i1024, i5, -1);
280 try testArgs(i1024, i5, 0);
281 try testArgs(u8, u5, 0);
282 try testArgs(u8, u5, 1 << 0);
283 try testArgs(u8, u5, 1 << 4);
284 try testArgs(u16, u5, 0);
285 try testArgs(u16, u5, 1 << 0);
286 try testArgs(u16, u5, 1 << 4);
287 try testArgs(u32, u5, 0);
288 try testArgs(u32, u5, 1 << 0);
289 try testArgs(u32, u5, 1 << 4);
290 try testArgs(u64, u5, 0);
291 try testArgs(u64, u5, 1 << 0);
292 try testArgs(u64, u5, 1 << 4);
293 try testArgs(u128, u5, 0);
294 try testArgs(u128, u5, 1 << 0);
295 try testArgs(u128, u5, 1 << 4);
296 try testArgs(u256, u5, 0);
297 try testArgs(u256, u5, 1 << 0);
298 try testArgs(u256, u5, 1 << 4);
299 try testArgs(u512, u5, 0);
300 try testArgs(u512, u5, 1 << 0);
301 try testArgs(u512, u5, 1 << 4);
302 try testArgs(u1024, u5, 0);
303 try testArgs(u1024, u5, 1 << 0);
304 try testArgs(u1024, u5, 1 << 4);
305
306 try testArgs(i8, i7, -1 << 6);
307 try testArgs(i8, i7, -1);
308 try testArgs(i8, i7, 0);
309 try testArgs(i16, i7, -1 << 6);
310 try testArgs(i16, i7, -1);
311 try testArgs(i16, i7, 0);
312 try testArgs(i32, i7, -1 << 6);
313 try testArgs(i32, i7, -1);
314 try testArgs(i32, i7, 0);
315 try testArgs(i64, i7, -1 << 6);
316 try testArgs(i64, i7, -1);
317 try testArgs(i64, i7, 0);
318 try testArgs(i128, i7, -1 << 6);
319 try testArgs(i128, i7, -1);
320 try testArgs(i128, i7, 0);
321 try testArgs(i256, i7, -1 << 6);
322 try testArgs(i256, i7, -1);
323 try testArgs(i256, i7, 0);
324 try testArgs(i512, i7, -1 << 6);
325 try testArgs(i512, i7, -1);
326 try testArgs(i512, i7, 0);
327 try testArgs(i1024, i7, -1 << 6);
328 try testArgs(i1024, i7, -1);
329 try testArgs(i1024, i7, 0);
330 try testArgs(u8, u7, 0);
331 try testArgs(u8, u7, 1 << 0);
332 try testArgs(u8, u7, 1 << 6);
333 try testArgs(u16, u7, 0);
334 try testArgs(u16, u7, 1 << 0);
335 try testArgs(u16, u7, 1 << 6);
336 try testArgs(u32, u7, 0);
337 try testArgs(u32, u7, 1 << 0);
338 try testArgs(u32, u7, 1 << 6);
339 try testArgs(u64, u7, 0);
340 try testArgs(u64, u7, 1 << 0);
341 try testArgs(u64, u7, 1 << 6);
342 try testArgs(u128, u7, 0);
343 try testArgs(u128, u7, 1 << 0);
344 try testArgs(u128, u7, 1 << 6);
345 try testArgs(u256, u7, 0);
346 try testArgs(u256, u7, 1 << 0);
347 try testArgs(u256, u7, 1 << 6);
348 try testArgs(u512, u7, 0);
349 try testArgs(u512, u7, 1 << 0);
350 try testArgs(u512, u7, 1 << 6);
351 try testArgs(u1024, u7, 0);
352 try testArgs(u1024, u7, 1 << 0);
353 try testArgs(u1024, u7, 1 << 6);
354
355 try testArgs(i8, i8, -1 << 7);
356 try testArgs(i8, i8, -1);
357 try testArgs(i8, i8, 0);
358 try testArgs(i16, i8, -1 << 7);
359 try testArgs(i16, i8, -1);
360 try testArgs(i16, i8, 0);
361 try testArgs(i32, i8, -1 << 7);
362 try testArgs(i32, i8, -1);
363 try testArgs(i32, i8, 0);
364 try testArgs(i64, i8, -1 << 7);
365 try testArgs(i64, i8, -1);
366 try testArgs(i64, i8, 0);
367 try testArgs(i128, i8, -1 << 7);
368 try testArgs(i128, i8, -1);
369 try testArgs(i128, i8, 0);
370 try testArgs(i256, i8, -1 << 7);
371 try testArgs(i256, i8, -1);
372 try testArgs(i256, i8, 0);
373 try testArgs(i512, i8, -1 << 7);
374 try testArgs(i512, i8, -1);
375 try testArgs(i512, i8, 0);
376 try testArgs(i1024, i8, -1 << 7);
377 try testArgs(i1024, i8, -1);
378 try testArgs(i1024, i8, 0);
379 try testArgs(u8, u8, 0);
380 try testArgs(u8, u8, 1 << 0);
381 try testArgs(u8, u8, 1 << 7);
382 try testArgs(u16, u8, 0);
383 try testArgs(u16, u8, 1 << 0);
384 try testArgs(u16, u8, 1 << 7);
385 try testArgs(u32, u8, 0);
386 try testArgs(u32, u8, 1 << 0);
387 try testArgs(u32, u8, 1 << 7);
388 try testArgs(u64, u8, 0);
389 try testArgs(u64, u8, 1 << 0);
390 try testArgs(u64, u8, 1 << 7);
391 try testArgs(u128, u8, 0);
392 try testArgs(u128, u8, 1 << 0);
393 try testArgs(u128, u8, 1 << 7);
394 try testArgs(u256, u8, 0);
395 try testArgs(u256, u8, 1 << 0);
396 try testArgs(u256, u8, 1 << 7);
397 try testArgs(u512, u8, 0);
398 try testArgs(u512, u8, 1 << 0);
399 try testArgs(u512, u8, 1 << 7);
400 try testArgs(u1024, u8, 0);
401 try testArgs(u1024, u8, 1 << 0);
402 try testArgs(u1024, u8, 1 << 7);
403
404 try testArgs(i8, i9, -1 << 8);
405 try testArgs(i8, i9, -1);
406 try testArgs(i8, i9, 0);
407 try testArgs(i16, i9, -1 << 8);
408 try testArgs(i16, i9, -1);
409 try testArgs(i16, i9, 0);
410 try testArgs(i32, i9, -1 << 8);
411 try testArgs(i32, i9, -1);
412 try testArgs(i32, i9, 0);
413 try testArgs(i64, i9, -1 << 8);
414 try testArgs(i64, i9, -1);
415 try testArgs(i64, i9, 0);
416 try testArgs(i128, i9, -1 << 8);
417 try testArgs(i128, i9, -1);
418 try testArgs(i128, i9, 0);
419 try testArgs(i256, i9, -1 << 8);
420 try testArgs(i256, i9, -1);
421 try testArgs(i256, i9, 0);
422 try testArgs(i512, i9, -1 << 8);
423 try testArgs(i512, i9, -1);
424 try testArgs(i512, i9, 0);
425 try testArgs(i1024, i9, -1 << 8);
426 try testArgs(i1024, i9, -1);
427 try testArgs(i1024, i9, 0);
428 try testArgs(u8, u9, 0);
429 try testArgs(u8, u9, 1 << 0);
430 try testArgs(u8, u9, 1 << 8);
431 try testArgs(u16, u9, 0);
432 try testArgs(u16, u9, 1 << 0);
433 try testArgs(u16, u9, 1 << 8);
434 try testArgs(u32, u9, 0);
435 try testArgs(u32, u9, 1 << 0);
436 try testArgs(u32, u9, 1 << 8);
437 try testArgs(u64, u9, 0);
438 try testArgs(u64, u9, 1 << 0);
439 try testArgs(u64, u9, 1 << 8);
440 try testArgs(u128, u9, 0);
441 try testArgs(u128, u9, 1 << 0);
442 try testArgs(u128, u9, 1 << 8);
443 try testArgs(u256, u9, 0);
444 try testArgs(u256, u9, 1 << 0);
445 try testArgs(u256, u9, 1 << 8);
446 try testArgs(u512, u9, 0);
447 try testArgs(u512, u9, 1 << 0);
448 try testArgs(u512, u9, 1 << 8);
449 try testArgs(u1024, u9, 0);
450 try testArgs(u1024, u9, 1 << 0);
451 try testArgs(u1024, u9, 1 << 8);
452
453 try testArgs(i8, i15, -1 << 14);
454 try testArgs(i8, i15, -1);
455 try testArgs(i8, i15, 0);
456 try testArgs(i16, i15, -1 << 14);
457 try testArgs(i16, i15, -1);
458 try testArgs(i16, i15, 0);
459 try testArgs(i32, i15, -1 << 14);
460 try testArgs(i32, i15, -1);
461 try testArgs(i32, i15, 0);
462 try testArgs(i64, i15, -1 << 14);
463 try testArgs(i64, i15, -1);
464 try testArgs(i64, i15, 0);
465 try testArgs(i128, i15, -1 << 14);
466 try testArgs(i128, i15, -1);
467 try testArgs(i128, i15, 0);
468 try testArgs(i256, i15, -1 << 14);
469 try testArgs(i256, i15, -1);
470 try testArgs(i256, i15, 0);
471 try testArgs(i512, i15, -1 << 14);
472 try testArgs(i512, i15, -1);
473 try testArgs(i512, i15, 0);
474 try testArgs(i1024, i15, -1 << 14);
475 try testArgs(i1024, i15, -1);
476 try testArgs(i1024, i15, 0);
477 try testArgs(u8, u15, 0);
478 try testArgs(u8, u15, 1 << 0);
479 try testArgs(u8, u15, 1 << 14);
480 try testArgs(u16, u15, 0);
481 try testArgs(u16, u15, 1 << 0);
482 try testArgs(u16, u15, 1 << 14);
483 try testArgs(u32, u15, 0);
484 try testArgs(u32, u15, 1 << 0);
485 try testArgs(u32, u15, 1 << 14);
486 try testArgs(u64, u15, 0);
487 try testArgs(u64, u15, 1 << 0);
488 try testArgs(u64, u15, 1 << 14);
489 try testArgs(u128, u15, 0);
490 try testArgs(u128, u15, 1 << 0);
491 try testArgs(u128, u15, 1 << 14);
492 try testArgs(u256, u15, 0);
493 try testArgs(u256, u15, 1 << 0);
494 try testArgs(u256, u15, 1 << 14);
495 try testArgs(u512, u15, 0);
496 try testArgs(u512, u15, 1 << 0);
497 try testArgs(u512, u15, 1 << 14);
498 try testArgs(u1024, u15, 0);
499 try testArgs(u1024, u15, 1 << 0);
500 try testArgs(u1024, u15, 1 << 14);
501
502 try testArgs(i8, i16, -1 << 15);
503 try testArgs(i8, i16, -1);
504 try testArgs(i8, i16, 0);
505 try testArgs(i16, i16, -1 << 15);
506 try testArgs(i16, i16, -1);
507 try testArgs(i16, i16, 0);
508 try testArgs(i32, i16, -1 << 15);
509 try testArgs(i32, i16, -1);
510 try testArgs(i32, i16, 0);
511 try testArgs(i64, i16, -1 << 15);
512 try testArgs(i64, i16, -1);
513 try testArgs(i64, i16, 0);
514 try testArgs(i128, i16, -1 << 15);
515 try testArgs(i128, i16, -1);
516 try testArgs(i128, i16, 0);
517 try testArgs(i256, i16, -1 << 15);
518 try testArgs(i256, i16, -1);
519 try testArgs(i256, i16, 0);
520 try testArgs(i512, i16, -1 << 15);
521 try testArgs(i512, i16, -1);
522 try testArgs(i512, i16, 0);
523 try testArgs(i1024, i16, -1 << 15);
524 try testArgs(i1024, i16, -1);
525 try testArgs(i1024, i16, 0);
526 try testArgs(u8, u16, 0);
527 try testArgs(u8, u16, 1 << 0);
528 try testArgs(u8, u16, 1 << 15);
529 try testArgs(u16, u16, 0);
530 try testArgs(u16, u16, 1 << 0);
531 try testArgs(u16, u16, 1 << 15);
532 try testArgs(u32, u16, 0);
533 try testArgs(u32, u16, 1 << 0);
534 try testArgs(u32, u16, 1 << 15);
535 try testArgs(u64, u16, 0);
536 try testArgs(u64, u16, 1 << 0);
537 try testArgs(u64, u16, 1 << 15);
538 try testArgs(u128, u16, 0);
539 try testArgs(u128, u16, 1 << 0);
540 try testArgs(u128, u16, 1 << 15);
541 try testArgs(u256, u16, 0);
542 try testArgs(u256, u16, 1 << 0);
543 try testArgs(u256, u16, 1 << 15);
544 try testArgs(u512, u16, 0);
545 try testArgs(u512, u16, 1 << 0);
546 try testArgs(u512, u16, 1 << 15);
547 try testArgs(u1024, u16, 0);
548 try testArgs(u1024, u16, 1 << 0);
549 try testArgs(u1024, u16, 1 << 15);
550
551 try testArgs(i8, i17, -1 << 16);
552 try testArgs(i8, i17, -1);
553 try testArgs(i8, i17, 0);
554 try testArgs(i16, i17, -1 << 16);
555 try testArgs(i16, i17, -1);
556 try testArgs(i16, i17, 0);
557 try testArgs(i32, i17, -1 << 16);
558 try testArgs(i32, i17, -1);
559 try testArgs(i32, i17, 0);
560 try testArgs(i64, i17, -1 << 16);
561 try testArgs(i64, i17, -1);
562 try testArgs(i64, i17, 0);
563 try testArgs(i128, i17, -1 << 16);
564 try testArgs(i128, i17, -1);
565 try testArgs(i128, i17, 0);
566 try testArgs(i256, i17, -1 << 16);
567 try testArgs(i256, i17, -1);
568 try testArgs(i256, i17, 0);
569 try testArgs(i512, i17, -1 << 16);
570 try testArgs(i512, i17, -1);
571 try testArgs(i512, i17, 0);
572 try testArgs(i1024, i17, -1 << 16);
573 try testArgs(i1024, i17, -1);
574 try testArgs(i1024, i17, 0);
575 try testArgs(u8, u17, 0);
576 try testArgs(u8, u17, 1 << 0);
577 try testArgs(u8, u17, 1 << 16);
578 try testArgs(u16, u17, 0);
579 try testArgs(u16, u17, 1 << 0);
580 try testArgs(u16, u17, 1 << 16);
581 try testArgs(u32, u17, 0);
582 try testArgs(u32, u17, 1 << 0);
583 try testArgs(u32, u17, 1 << 16);
584 try testArgs(u64, u17, 0);
585 try testArgs(u64, u17, 1 << 0);
586 try testArgs(u64, u17, 1 << 16);
587 try testArgs(u128, u17, 0);
588 try testArgs(u128, u17, 1 << 0);
589 try testArgs(u128, u17, 1 << 16);
590 try testArgs(u256, u17, 0);
591 try testArgs(u256, u17, 1 << 0);
592 try testArgs(u256, u17, 1 << 16);
593 try testArgs(u512, u17, 0);
594 try testArgs(u512, u17, 1 << 0);
595 try testArgs(u512, u17, 1 << 16);
596 try testArgs(u1024, u17, 0);
597 try testArgs(u1024, u17, 1 << 0);
598 try testArgs(u1024, u17, 1 << 16);
599
600 try testArgs(i8, i31, -1 << 30);
601 try testArgs(i8, i31, -1);
602 try testArgs(i8, i31, 0);
603 try testArgs(i16, i31, -1 << 30);
604 try testArgs(i16, i31, -1);
605 try testArgs(i16, i31, 0);
606 try testArgs(i32, i31, -1 << 30);
607 try testArgs(i32, i31, -1);
608 try testArgs(i32, i31, 0);
609 try testArgs(i64, i31, -1 << 30);
610 try testArgs(i64, i31, -1);
611 try testArgs(i64, i31, 0);
612 try testArgs(i128, i31, -1 << 30);
613 try testArgs(i128, i31, -1);
614 try testArgs(i128, i31, 0);
615 try testArgs(i256, i31, -1 << 30);
616 try testArgs(i256, i31, -1);
617 try testArgs(i256, i31, 0);
618 try testArgs(i512, i31, -1 << 30);
619 try testArgs(i512, i31, -1);
620 try testArgs(i512, i31, 0);
621 try testArgs(i1024, i31, -1 << 30);
622 try testArgs(i1024, i31, -1);
623 try testArgs(i1024, i31, 0);
624 try testArgs(u8, u31, 0);
625 try testArgs(u8, u31, 1 << 0);
626 try testArgs(u8, u31, 1 << 30);
627 try testArgs(u16, u31, 0);
628 try testArgs(u16, u31, 1 << 0);
629 try testArgs(u16, u31, 1 << 30);
630 try testArgs(u32, u31, 0);
631 try testArgs(u32, u31, 1 << 0);
632 try testArgs(u32, u31, 1 << 30);
633 try testArgs(u64, u31, 0);
634 try testArgs(u64, u31, 1 << 0);
635 try testArgs(u64, u31, 1 << 30);
636 try testArgs(u128, u31, 0);
637 try testArgs(u128, u31, 1 << 0);
638 try testArgs(u128, u31, 1 << 30);
639 try testArgs(u256, u31, 0);
640 try testArgs(u256, u31, 1 << 0);
641 try testArgs(u256, u31, 1 << 30);
642 try testArgs(u512, u31, 0);
643 try testArgs(u512, u31, 1 << 0);
644 try testArgs(u512, u31, 1 << 30);
645 try testArgs(u1024, u31, 0);
646 try testArgs(u1024, u31, 1 << 0);
647 try testArgs(u1024, u31, 1 << 30);
648
649 try testArgs(i8, i32, -1 << 31);
650 try testArgs(i8, i32, -1);
651 try testArgs(i8, i32, 0);
652 try testArgs(i16, i32, -1 << 31);
653 try testArgs(i16, i32, -1);
654 try testArgs(i16, i32, 0);
655 try testArgs(i32, i32, -1 << 31);
656 try testArgs(i32, i32, -1);
657 try testArgs(i32, i32, 0);
658 try testArgs(i64, i32, -1 << 31);
659 try testArgs(i64, i32, -1);
660 try testArgs(i64, i32, 0);
661 try testArgs(i128, i32, -1 << 31);
662 try testArgs(i128, i32, -1);
663 try testArgs(i128, i32, 0);
664 try testArgs(i256, i32, -1 << 31);
665 try testArgs(i256, i32, -1);
666 try testArgs(i256, i32, 0);
667 try testArgs(i512, i32, -1 << 31);
668 try testArgs(i512, i32, -1);
669 try testArgs(i512, i32, 0);
670 try testArgs(i1024, i32, -1 << 31);
671 try testArgs(i1024, i32, -1);
672 try testArgs(i1024, i32, 0);
673 try testArgs(u8, u32, 0);
674 try testArgs(u8, u32, 1 << 0);
675 try testArgs(u8, u32, 1 << 31);
676 try testArgs(u16, u32, 0);
677 try testArgs(u16, u32, 1 << 0);
678 try testArgs(u16, u32, 1 << 31);
679 try testArgs(u32, u32, 0);
680 try testArgs(u32, u32, 1 << 0);
681 try testArgs(u32, u32, 1 << 31);
682 try testArgs(u64, u32, 0);
683 try testArgs(u64, u32, 1 << 0);
684 try testArgs(u64, u32, 1 << 31);
685 try testArgs(u128, u32, 0);
686 try testArgs(u128, u32, 1 << 0);
687 try testArgs(u128, u32, 1 << 31);
688 try testArgs(u256, u32, 0);
689 try testArgs(u256, u32, 1 << 0);
690 try testArgs(u256, u32, 1 << 31);
691 try testArgs(u512, u32, 0);
692 try testArgs(u512, u32, 1 << 0);
693 try testArgs(u512, u32, 1 << 31);
694 try testArgs(u1024, u32, 0);
695 try testArgs(u1024, u32, 1 << 0);
696 try testArgs(u1024, u32, 1 << 31);
697
698 try testArgs(i8, i33, -1 << 32);
699 try testArgs(i8, i33, -1);
700 try testArgs(i8, i33, 0);
701 try testArgs(i16, i33, -1 << 32);
702 try testArgs(i16, i33, -1);
703 try testArgs(i16, i33, 0);
704 try testArgs(i32, i33, -1 << 32);
705 try testArgs(i32, i33, -1);
706 try testArgs(i32, i33, 0);
707 try testArgs(i64, i33, -1 << 32);
708 try testArgs(i64, i33, -1);
709 try testArgs(i64, i33, 0);
710 try testArgs(i128, i33, -1 << 32);
711 try testArgs(i128, i33, -1);
712 try testArgs(i128, i33, 0);
713 try testArgs(i256, i33, -1 << 32);
714 try testArgs(i256, i33, -1);
715 try testArgs(i256, i33, 0);
716 try testArgs(i512, i33, -1 << 32);
717 try testArgs(i512, i33, -1);
718 try testArgs(i512, i33, 0);
719 try testArgs(i1024, i33, -1 << 32);
720 try testArgs(i1024, i33, -1);
721 try testArgs(i1024, i33, 0);
722 try testArgs(u8, u33, 0);
723 try testArgs(u8, u33, 1 << 0);
724 try testArgs(u8, u33, 1 << 32);
725 try testArgs(u16, u33, 0);
726 try testArgs(u16, u33, 1 << 0);
727 try testArgs(u16, u33, 1 << 32);
728 try testArgs(u32, u33, 0);
729 try testArgs(u32, u33, 1 << 0);
730 try testArgs(u32, u33, 1 << 32);
731 try testArgs(u64, u33, 0);
732 try testArgs(u64, u33, 1 << 0);
733 try testArgs(u64, u33, 1 << 32);
734 try testArgs(u128, u33, 0);
735 try testArgs(u128, u33, 1 << 0);
736 try testArgs(u128, u33, 1 << 32);
737 try testArgs(u256, u33, 0);
738 try testArgs(u256, u33, 1 << 0);
739 try testArgs(u256, u33, 1 << 32);
740 try testArgs(u512, u33, 0);
741 try testArgs(u512, u33, 1 << 0);
742 try testArgs(u512, u33, 1 << 32);
743 try testArgs(u1024, u33, 0);
744 try testArgs(u1024, u33, 1 << 0);
745 try testArgs(u1024, u33, 1 << 32);
746
747 try testArgs(i8, i63, -1 << 62);
748 try testArgs(i8, i63, -1);
749 try testArgs(i8, i63, 0);
750 try testArgs(i16, i63, -1 << 62);
751 try testArgs(i16, i63, -1);
752 try testArgs(i16, i63, 0);
753 try testArgs(i32, i63, -1 << 62);
754 try testArgs(i32, i63, -1);
755 try testArgs(i32, i63, 0);
756 try testArgs(i64, i63, -1 << 62);
757 try testArgs(i64, i63, -1);
758 try testArgs(i64, i63, 0);
759 try testArgs(i128, i63, -1 << 62);
760 try testArgs(i128, i63, -1);
761 try testArgs(i128, i63, 0);
762 try testArgs(i256, i63, -1 << 62);
763 try testArgs(i256, i63, -1);
764 try testArgs(i256, i63, 0);
765 try testArgs(i512, i63, -1 << 62);
766 try testArgs(i512, i63, -1);
767 try testArgs(i512, i63, 0);
768 try testArgs(i1024, i63, -1 << 62);
769 try testArgs(i1024, i63, -1);
770 try testArgs(i1024, i63, 0);
771 try testArgs(u8, u63, 0);
772 try testArgs(u8, u63, 1 << 0);
773 try testArgs(u8, u63, 1 << 62);
774 try testArgs(u16, u63, 0);
775 try testArgs(u16, u63, 1 << 0);
776 try testArgs(u16, u63, 1 << 62);
777 try testArgs(u32, u63, 0);
778 try testArgs(u32, u63, 1 << 0);
779 try testArgs(u32, u63, 1 << 62);
780 try testArgs(u64, u63, 0);
781 try testArgs(u64, u63, 1 << 0);
782 try testArgs(u64, u63, 1 << 62);
783 try testArgs(u128, u63, 0);
784 try testArgs(u128, u63, 1 << 0);
785 try testArgs(u128, u63, 1 << 62);
786 try testArgs(u256, u63, 0);
787 try testArgs(u256, u63, 1 << 0);
788 try testArgs(u256, u63, 1 << 62);
789 try testArgs(u512, u63, 0);
790 try testArgs(u512, u63, 1 << 0);
791 try testArgs(u512, u63, 1 << 62);
792 try testArgs(u1024, u63, 0);
793 try testArgs(u1024, u63, 1 << 0);
794 try testArgs(u1024, u63, 1 << 62);
795
796 try testArgs(i8, i64, -1 << 63);
797 try testArgs(i8, i64, -1);
798 try testArgs(i8, i64, 0);
799 try testArgs(i16, i64, -1 << 63);
800 try testArgs(i16, i64, -1);
801 try testArgs(i16, i64, 0);
802 try testArgs(i32, i64, -1 << 63);
803 try testArgs(i32, i64, -1);
804 try testArgs(i32, i64, 0);
805 try testArgs(i64, i64, -1 << 63);
806 try testArgs(i64, i64, -1);
807 try testArgs(i64, i64, 0);
808 try testArgs(i128, i64, -1 << 63);
809 try testArgs(i128, i64, -1);
810 try testArgs(i128, i64, 0);
811 try testArgs(i256, i64, -1 << 63);
812 try testArgs(i256, i64, -1);
813 try testArgs(i256, i64, 0);
814 try testArgs(i512, i64, -1 << 63);
815 try testArgs(i512, i64, -1);
816 try testArgs(i512, i64, 0);
817 try testArgs(i1024, i64, -1 << 63);
818 try testArgs(i1024, i64, -1);
819 try testArgs(i1024, i64, 0);
820 try testArgs(u8, u64, 0);
821 try testArgs(u8, u64, 1 << 0);
822 try testArgs(u8, u64, 1 << 63);
823 try testArgs(u16, u64, 0);
824 try testArgs(u16, u64, 1 << 0);
825 try testArgs(u16, u64, 1 << 63);
826 try testArgs(u32, u64, 0);
827 try testArgs(u32, u64, 1 << 0);
828 try testArgs(u32, u64, 1 << 63);
829 try testArgs(u64, u64, 0);
830 try testArgs(u64, u64, 1 << 0);
831 try testArgs(u64, u64, 1 << 63);
832 try testArgs(u128, u64, 0);
833 try testArgs(u128, u64, 1 << 0);
834 try testArgs(u128, u64, 1 << 63);
835 try testArgs(u256, u64, 0);
836 try testArgs(u256, u64, 1 << 0);
837 try testArgs(u256, u64, 1 << 63);
838 try testArgs(u512, u64, 0);
839 try testArgs(u512, u64, 1 << 0);
840 try testArgs(u512, u64, 1 << 63);
841 try testArgs(u1024, u64, 0);
842 try testArgs(u1024, u64, 1 << 0);
843 try testArgs(u1024, u64, 1 << 63);
844
845 try testArgs(i8, i65, -1 << 64);
846 try testArgs(i8, i65, -1);
847 try testArgs(i8, i65, 0);
848 try testArgs(i16, i65, -1 << 64);
849 try testArgs(i16, i65, -1);
850 try testArgs(i16, i65, 0);
851 try testArgs(i32, i65, -1 << 64);
852 try testArgs(i32, i65, -1);
853 try testArgs(i32, i65, 0);
854 try testArgs(i64, i65, -1 << 64);
855 try testArgs(i64, i65, -1);
856 try testArgs(i64, i65, 0);
857 try testArgs(i128, i65, -1 << 64);
858 try testArgs(i128, i65, -1);
859 try testArgs(i128, i65, 0);
860 try testArgs(i256, i65, -1 << 64);
861 try testArgs(i256, i65, -1);
862 try testArgs(i256, i65, 0);
863 try testArgs(i512, i65, -1 << 64);
864 try testArgs(i512, i65, -1);
865 try testArgs(i512, i65, 0);
866 try testArgs(i1024, i65, -1 << 64);
867 try testArgs(i1024, i65, -1);
868 try testArgs(i1024, i65, 0);
869 try testArgs(u8, u65, 0);
870 try testArgs(u8, u65, 1 << 0);
871 try testArgs(u8, u65, 1 << 64);
872 try testArgs(u16, u65, 0);
873 try testArgs(u16, u65, 1 << 0);
874 try testArgs(u16, u65, 1 << 64);
875 try testArgs(u32, u65, 0);
876 try testArgs(u32, u65, 1 << 0);
877 try testArgs(u32, u65, 1 << 64);
878 try testArgs(u64, u65, 0);
879 try testArgs(u64, u65, 1 << 0);
880 try testArgs(u64, u65, 1 << 64);
881 try testArgs(u128, u65, 0);
882 try testArgs(u128, u65, 1 << 0);
883 try testArgs(u128, u65, 1 << 64);
884 try testArgs(u256, u65, 0);
885 try testArgs(u256, u65, 1 << 0);
886 try testArgs(u256, u65, 1 << 64);
887 try testArgs(u512, u65, 0);
888 try testArgs(u512, u65, 1 << 0);
889 try testArgs(u512, u65, 1 << 64);
890 try testArgs(u1024, u65, 0);
891 try testArgs(u1024, u65, 1 << 0);
892 try testArgs(u1024, u65, 1 << 64);
893
894 try testArgs(i8, i95, -1 << 94);
895 try testArgs(i8, i95, -1);
896 try testArgs(i8, i95, 0);
897 try testArgs(i16, i95, -1 << 94);
898 try testArgs(i16, i95, -1);
899 try testArgs(i16, i95, 0);
900 try testArgs(i32, i95, -1 << 94);
901 try testArgs(i32, i95, -1);
902 try testArgs(i32, i95, 0);
903 try testArgs(i64, i95, -1 << 94);
904 try testArgs(i64, i95, -1);
905 try testArgs(i64, i95, 0);
906 try testArgs(i128, i95, -1 << 94);
907 try testArgs(i128, i95, -1);
908 try testArgs(i128, i95, 0);
909 try testArgs(i256, i95, -1 << 94);
910 try testArgs(i256, i95, -1);
911 try testArgs(i256, i95, 0);
912 try testArgs(i512, i95, -1 << 94);
913 try testArgs(i512, i95, -1);
914 try testArgs(i512, i95, 0);
915 try testArgs(i1024, i95, -1 << 94);
916 try testArgs(i1024, i95, -1);
917 try testArgs(i1024, i95, 0);
918 try testArgs(u8, u95, 0);
919 try testArgs(u8, u95, 1 << 0);
920 try testArgs(u8, u95, 1 << 94);
921 try testArgs(u16, u95, 0);
922 try testArgs(u16, u95, 1 << 0);
923 try testArgs(u16, u95, 1 << 94);
924 try testArgs(u32, u95, 0);
925 try testArgs(u32, u95, 1 << 0);
926 try testArgs(u32, u95, 1 << 94);
927 try testArgs(u64, u95, 0);
928 try testArgs(u64, u95, 1 << 0);
929 try testArgs(u64, u95, 1 << 94);
930 try testArgs(u128, u95, 0);
931 try testArgs(u128, u95, 1 << 0);
932 try testArgs(u128, u95, 1 << 94);
933 try testArgs(u256, u95, 0);
934 try testArgs(u256, u95, 1 << 0);
935 try testArgs(u256, u95, 1 << 94);
936 try testArgs(u512, u95, 0);
937 try testArgs(u512, u95, 1 << 0);
938 try testArgs(u512, u95, 1 << 94);
939 try testArgs(u1024, u95, 0);
940 try testArgs(u1024, u95, 1 << 0);
941 try testArgs(u1024, u95, 1 << 94);
942
943 try testArgs(i8, i97, -1 << 96);
944 try testArgs(i8, i97, -1);
945 try testArgs(i8, i97, 0);
946 try testArgs(i16, i97, -1 << 96);
947 try testArgs(i16, i97, -1);
948 try testArgs(i16, i97, 0);
949 try testArgs(i32, i97, -1 << 96);
950 try testArgs(i32, i97, -1);
951 try testArgs(i32, i97, 0);
952 try testArgs(i64, i97, -1 << 96);
953 try testArgs(i64, i97, -1);
954 try testArgs(i64, i97, 0);
955 try testArgs(i128, i97, -1 << 96);
956 try testArgs(i128, i97, -1);
957 try testArgs(i128, i97, 0);
958 try testArgs(i256, i97, -1 << 96);
959 try testArgs(i256, i97, -1);
960 try testArgs(i256, i97, 0);
961 try testArgs(i512, i97, -1 << 96);
962 try testArgs(i512, i97, -1);
963 try testArgs(i512, i97, 0);
964 try testArgs(i1024, i97, -1 << 96);
965 try testArgs(i1024, i97, -1);
966 try testArgs(i1024, i97, 0);
967 try testArgs(u8, u97, 0);
968 try testArgs(u8, u97, 1 << 0);
969 try testArgs(u8, u97, 1 << 96);
970 try testArgs(u16, u97, 0);
971 try testArgs(u16, u97, 1 << 0);
972 try testArgs(u16, u97, 1 << 96);
973 try testArgs(u32, u97, 0);
974 try testArgs(u32, u97, 1 << 0);
975 try testArgs(u32, u97, 1 << 96);
976 try testArgs(u64, u97, 0);
977 try testArgs(u64, u97, 1 << 0);
978 try testArgs(u64, u97, 1 << 96);
979 try testArgs(u128, u97, 0);
980 try testArgs(u128, u97, 1 << 0);
981 try testArgs(u128, u97, 1 << 96);
982 try testArgs(u256, u97, 0);
983 try testArgs(u256, u97, 1 << 0);
984 try testArgs(u256, u97, 1 << 96);
985 try testArgs(u512, u97, 0);
986 try testArgs(u512, u97, 1 << 0);
987 try testArgs(u512, u97, 1 << 96);
988 try testArgs(u1024, u97, 0);
989 try testArgs(u1024, u97, 1 << 0);
990 try testArgs(u1024, u97, 1 << 96);
991
992 try testArgs(i8, i127, -1 << 126);
993 try testArgs(i8, i127, -1);
994 try testArgs(i8, i127, 0);
995 try testArgs(i16, i127, -1 << 126);
996 try testArgs(i16, i127, -1);
997 try testArgs(i16, i127, 0);
998 try testArgs(i32, i127, -1 << 126);
999 try testArgs(i32, i127, -1);
1000 try testArgs(i32, i127, 0);
1001 try testArgs(i64, i127, -1 << 126);
1002 try testArgs(i64, i127, -1);
1003 try testArgs(i64, i127, 0);
1004 try testArgs(i128, i127, -1 << 126);
1005 try testArgs(i128, i127, -1);
1006 try testArgs(i128, i127, 0);
1007 try testArgs(i256, i127, -1 << 126);
1008 try testArgs(i256, i127, -1);
1009 try testArgs(i256, i127, 0);
1010 try testArgs(i512, i127, -1 << 126);
1011 try testArgs(i512, i127, -1);
1012 try testArgs(i512, i127, 0);
1013 try testArgs(i1024, i127, -1 << 126);
1014 try testArgs(i1024, i127, -1);
1015 try testArgs(i1024, i127, 0);
1016 try testArgs(u8, u127, 0);
1017 try testArgs(u8, u127, 1 << 0);
1018 try testArgs(u8, u127, 1 << 126);
1019 try testArgs(u16, u127, 0);
1020 try testArgs(u16, u127, 1 << 0);
1021 try testArgs(u16, u127, 1 << 126);
1022 try testArgs(u32, u127, 0);
1023 try testArgs(u32, u127, 1 << 0);
1024 try testArgs(u32, u127, 1 << 126);
1025 try testArgs(u64, u127, 0);
1026 try testArgs(u64, u127, 1 << 0);
1027 try testArgs(u64, u127, 1 << 126);
1028 try testArgs(u128, u127, 0);
1029 try testArgs(u128, u127, 1 << 0);
1030 try testArgs(u128, u127, 1 << 126);
1031 try testArgs(u256, u127, 0);
1032 try testArgs(u256, u127, 1 << 0);
1033 try testArgs(u256, u127, 1 << 126);
1034 try testArgs(u512, u127, 0);
1035 try testArgs(u512, u127, 1 << 0);
1036 try testArgs(u512, u127, 1 << 126);
1037 try testArgs(u1024, u127, 0);
1038 try testArgs(u1024, u127, 1 << 0);
1039 try testArgs(u1024, u127, 1 << 126);
1040
1041 try testArgs(i8, i128, -1 << 127);
1042 try testArgs(i8, i128, -1);
1043 try testArgs(i8, i128, 0);
1044 try testArgs(i16, i128, -1 << 127);
1045 try testArgs(i16, i128, -1);
1046 try testArgs(i16, i128, 0);
1047 try testArgs(i32, i128, -1 << 127);
1048 try testArgs(i32, i128, -1);
1049 try testArgs(i32, i128, 0);
1050 try testArgs(i64, i128, -1 << 127);
1051 try testArgs(i64, i128, -1);
1052 try testArgs(i64, i128, 0);
1053 try testArgs(i128, i128, -1 << 127);
1054 try testArgs(i128, i128, -1);
1055 try testArgs(i128, i128, 0);
1056 try testArgs(i256, i128, -1 << 127);
1057 try testArgs(i256, i128, -1);
1058 try testArgs(i256, i128, 0);
1059 try testArgs(i512, i128, -1 << 127);
1060 try testArgs(i512, i128, -1);
1061 try testArgs(i512, i128, 0);
1062 try testArgs(i1024, i128, -1 << 127);
1063 try testArgs(i1024, i128, -1);
1064 try testArgs(i1024, i128, 0);
1065 try testArgs(u8, u128, 0);
1066 try testArgs(u8, u128, 1 << 0);
1067 try testArgs(u8, u128, 1 << 127);
1068 try testArgs(u16, u128, 0);
1069 try testArgs(u16, u128, 1 << 0);
1070 try testArgs(u16, u128, 1 << 127);
1071 try testArgs(u32, u128, 0);
1072 try testArgs(u32, u128, 1 << 0);
1073 try testArgs(u32, u128, 1 << 127);
1074 try testArgs(u64, u128, 0);
1075 try testArgs(u64, u128, 1 << 0);
1076 try testArgs(u64, u128, 1 << 127);
1077 try testArgs(u128, u128, 0);
1078 try testArgs(u128, u128, 1 << 0);
1079 try testArgs(u128, u128, 1 << 127);
1080 try testArgs(u256, u128, 0);
1081 try testArgs(u256, u128, 1 << 0);
1082 try testArgs(u256, u128, 1 << 127);
1083 try testArgs(u512, u128, 0);
1084 try testArgs(u512, u128, 1 << 0);
1085 try testArgs(u512, u128, 1 << 127);
1086 try testArgs(u1024, u128, 0);
1087 try testArgs(u1024, u128, 1 << 0);
1088 try testArgs(u1024, u128, 1 << 127);
1089
1090 try testArgs(i8, i129, -1 << 128);
1091 try testArgs(i8, i129, -1);
1092 try testArgs(i8, i129, 0);
1093 try testArgs(i16, i129, -1 << 128);
1094 try testArgs(i16, i129, -1);
1095 try testArgs(i16, i129, 0);
1096 try testArgs(i32, i129, -1 << 128);
1097 try testArgs(i32, i129, -1);
1098 try testArgs(i32, i129, 0);
1099 try testArgs(i64, i129, -1 << 128);
1100 try testArgs(i64, i129, -1);
1101 try testArgs(i64, i129, 0);
1102 try testArgs(i128, i129, -1 << 128);
1103 try testArgs(i128, i129, -1);
1104 try testArgs(i128, i129, 0);
1105 try testArgs(i256, i129, -1 << 128);
1106 try testArgs(i256, i129, -1);
1107 try testArgs(i256, i129, 0);
1108 try testArgs(i512, i129, -1 << 128);
1109 try testArgs(i512, i129, -1);
1110 try testArgs(i512, i129, 0);
1111 try testArgs(i1024, i129, -1 << 128);
1112 try testArgs(i1024, i129, -1);
1113 try testArgs(i1024, i129, 0);
1114 try testArgs(u8, u129, 0);
1115 try testArgs(u8, u129, 1 << 0);
1116 try testArgs(u8, u129, 1 << 128);
1117 try testArgs(u16, u129, 0);
1118 try testArgs(u16, u129, 1 << 0);
1119 try testArgs(u16, u129, 1 << 128);
1120 try testArgs(u32, u129, 0);
1121 try testArgs(u32, u129, 1 << 0);
1122 try testArgs(u32, u129, 1 << 128);
1123 try testArgs(u64, u129, 0);
1124 try testArgs(u64, u129, 1 << 0);
1125 try testArgs(u64, u129, 1 << 128);
1126 try testArgs(u128, u129, 0);
1127 try testArgs(u128, u129, 1 << 0);
1128 try testArgs(u128, u129, 1 << 128);
1129 try testArgs(u256, u129, 0);
1130 try testArgs(u256, u129, 1 << 0);
1131 try testArgs(u256, u129, 1 << 128);
1132 try testArgs(u512, u129, 0);
1133 try testArgs(u512, u129, 1 << 0);
1134 try testArgs(u512, u129, 1 << 128);
1135 try testArgs(u1024, u129, 0);
1136 try testArgs(u1024, u129, 1 << 0);
1137 try testArgs(u1024, u129, 1 << 128);
1138
1139 try testArgs(i8, i255, -1 << 254);
1140 try testArgs(i8, i255, -1);
1141 try testArgs(i8, i255, 0);
1142 try testArgs(i16, i255, -1 << 254);
1143 try testArgs(i16, i255, -1);
1144 try testArgs(i16, i255, 0);
1145 try testArgs(i32, i255, -1 << 254);
1146 try testArgs(i32, i255, -1);
1147 try testArgs(i32, i255, 0);
1148 try testArgs(i64, i255, -1 << 254);
1149 try testArgs(i64, i255, -1);
1150 try testArgs(i64, i255, 0);
1151 try testArgs(i128, i255, -1 << 254);
1152 try testArgs(i128, i255, -1);
1153 try testArgs(i128, i255, 0);
1154 try testArgs(i256, i255, -1 << 254);
1155 try testArgs(i256, i255, -1);
1156 try testArgs(i256, i255, 0);
1157 try testArgs(i512, i255, -1 << 254);
1158 try testArgs(i512, i255, -1);
1159 try testArgs(i512, i255, 0);
1160 try testArgs(i1024, i255, -1 << 254);
1161 try testArgs(i1024, i255, -1);
1162 try testArgs(i1024, i255, 0);
1163 try testArgs(u8, u255, 0);
1164 try testArgs(u8, u255, 1 << 0);
1165 try testArgs(u8, u255, 1 << 254);
1166 try testArgs(u16, u255, 0);
1167 try testArgs(u16, u255, 1 << 0);
1168 try testArgs(u16, u255, 1 << 254);
1169 try testArgs(u32, u255, 0);
1170 try testArgs(u32, u255, 1 << 0);
1171 try testArgs(u32, u255, 1 << 254);
1172 try testArgs(u64, u255, 0);
1173 try testArgs(u64, u255, 1 << 0);
1174 try testArgs(u64, u255, 1 << 254);
1175 try testArgs(u128, u255, 0);
1176 try testArgs(u128, u255, 1 << 0);
1177 try testArgs(u128, u255, 1 << 254);
1178 try testArgs(u256, u255, 0);
1179 try testArgs(u256, u255, 1 << 0);
1180 try testArgs(u256, u255, 1 << 254);
1181 try testArgs(u512, u255, 0);
1182 try testArgs(u512, u255, 1 << 0);
1183 try testArgs(u512, u255, 1 << 254);
1184 try testArgs(u1024, u255, 0);
1185 try testArgs(u1024, u255, 1 << 0);
1186 try testArgs(u1024, u255, 1 << 254);
1187
1188 try testArgs(i8, i256, -1 << 255);
1189 try testArgs(i8, i256, -1);
1190 try testArgs(i8, i256, 0);
1191 try testArgs(i16, i256, -1 << 255);
1192 try testArgs(i16, i256, -1);
1193 try testArgs(i16, i256, 0);
1194 try testArgs(i32, i256, -1 << 255);
1195 try testArgs(i32, i256, -1);
1196 try testArgs(i32, i256, 0);
1197 try testArgs(i64, i256, -1 << 255);
1198 try testArgs(i64, i256, -1);
1199 try testArgs(i64, i256, 0);
1200 try testArgs(i128, i256, -1 << 255);
1201 try testArgs(i128, i256, -1);
1202 try testArgs(i128, i256, 0);
1203 try testArgs(i256, i256, -1 << 255);
1204 try testArgs(i256, i256, -1);
1205 try testArgs(i256, i256, 0);
1206 try testArgs(i512, i256, -1 << 255);
1207 try testArgs(i512, i256, -1);
1208 try testArgs(i512, i256, 0);
1209 try testArgs(i1024, i256, -1 << 255);
1210 try testArgs(i1024, i256, -1);
1211 try testArgs(i1024, i256, 0);
1212 try testArgs(u8, u256, 0);
1213 try testArgs(u8, u256, 1 << 0);
1214 try testArgs(u8, u256, 1 << 255);
1215 try testArgs(u16, u256, 0);
1216 try testArgs(u16, u256, 1 << 0);
1217 try testArgs(u16, u256, 1 << 255);
1218 try testArgs(u32, u256, 0);
1219 try testArgs(u32, u256, 1 << 0);
1220 try testArgs(u32, u256, 1 << 255);
1221 try testArgs(u64, u256, 0);
1222 try testArgs(u64, u256, 1 << 0);
1223 try testArgs(u64, u256, 1 << 255);
1224 try testArgs(u128, u256, 0);
1225 try testArgs(u128, u256, 1 << 0);
1226 try testArgs(u128, u256, 1 << 255);
1227 try testArgs(u256, u256, 0);
1228 try testArgs(u256, u256, 1 << 0);
1229 try testArgs(u256, u256, 1 << 255);
1230 try testArgs(u512, u256, 0);
1231 try testArgs(u512, u256, 1 << 0);
1232 try testArgs(u512, u256, 1 << 255);
1233 try testArgs(u1024, u256, 0);
1234 try testArgs(u1024, u256, 1 << 0);
1235 try testArgs(u1024, u256, 1 << 255);
1236
1237 try testArgs(i8, i257, -1 << 256);
1238 try testArgs(i8, i257, -1);
1239 try testArgs(i8, i257, 0);
1240 try testArgs(i16, i257, -1 << 256);
1241 try testArgs(i16, i257, -1);
1242 try testArgs(i16, i257, 0);
1243 try testArgs(i32, i257, -1 << 256);
1244 try testArgs(i32, i257, -1);
1245 try testArgs(i32, i257, 0);
1246 try testArgs(i64, i257, -1 << 256);
1247 try testArgs(i64, i257, -1);
1248 try testArgs(i64, i257, 0);
1249 try testArgs(i128, i257, -1 << 256);
1250 try testArgs(i128, i257, -1);
1251 try testArgs(i128, i257, 0);
1252 try testArgs(i256, i257, -1 << 256);
1253 try testArgs(i256, i257, -1);
1254 try testArgs(i256, i257, 0);
1255 try testArgs(i512, i257, -1 << 256);
1256 try testArgs(i512, i257, -1);
1257 try testArgs(i512, i257, 0);
1258 try testArgs(i1024, i257, -1 << 256);
1259 try testArgs(i1024, i257, -1);
1260 try testArgs(i1024, i257, 0);
1261 try testArgs(u8, u257, 0);
1262 try testArgs(u8, u257, 1 << 0);
1263 try testArgs(u8, u257, 1 << 256);
1264 try testArgs(u16, u257, 0);
1265 try testArgs(u16, u257, 1 << 0);
1266 try testArgs(u16, u257, 1 << 256);
1267 try testArgs(u32, u257, 0);
1268 try testArgs(u32, u257, 1 << 0);
1269 try testArgs(u32, u257, 1 << 256);
1270 try testArgs(u64, u257, 0);
1271 try testArgs(u64, u257, 1 << 0);
1272 try testArgs(u64, u257, 1 << 256);
1273 try testArgs(u128, u257, 0);
1274 try testArgs(u128, u257, 1 << 0);
1275 try testArgs(u128, u257, 1 << 256);
1276 try testArgs(u256, u257, 0);
1277 try testArgs(u256, u257, 1 << 0);
1278 try testArgs(u256, u257, 1 << 256);
1279 try testArgs(u512, u257, 0);
1280 try testArgs(u512, u257, 1 << 0);
1281 try testArgs(u512, u257, 1 << 256);
1282 try testArgs(u1024, u257, 0);
1283 try testArgs(u1024, u257, 1 << 0);
1284 try testArgs(u1024, u257, 1 << 256);
1285
1286 try testArgs(i8, i511, -1 << 510);
1287 try testArgs(i8, i511, -1);
1288 try testArgs(i8, i511, 0);
1289 try testArgs(i16, i511, -1 << 510);
1290 try testArgs(i16, i511, -1);
1291 try testArgs(i16, i511, 0);
1292 try testArgs(i32, i511, -1 << 510);
1293 try testArgs(i32, i511, -1);
1294 try testArgs(i32, i511, 0);
1295 try testArgs(i64, i511, -1 << 510);
1296 try testArgs(i64, i511, -1);
1297 try testArgs(i64, i511, 0);
1298 try testArgs(i128, i511, -1 << 510);
1299 try testArgs(i128, i511, -1);
1300 try testArgs(i128, i511, 0);
1301 try testArgs(i256, i511, -1 << 510);
1302 try testArgs(i256, i511, -1);
1303 try testArgs(i256, i511, 0);
1304 try testArgs(i512, i511, -1 << 510);
1305 try testArgs(i512, i511, -1);
1306 try testArgs(i512, i511, 0);
1307 try testArgs(i1024, i511, -1 << 510);
1308 try testArgs(i1024, i511, -1);
1309 try testArgs(i1024, i511, 0);
1310 try testArgs(u8, u511, 0);
1311 try testArgs(u8, u511, 1 << 0);
1312 try testArgs(u8, u511, 1 << 510);
1313 try testArgs(u16, u511, 0);
1314 try testArgs(u16, u511, 1 << 0);
1315 try testArgs(u16, u511, 1 << 510);
1316 try testArgs(u32, u511, 0);
1317 try testArgs(u32, u511, 1 << 0);
1318 try testArgs(u32, u511, 1 << 510);
1319 try testArgs(u64, u511, 0);
1320 try testArgs(u64, u511, 1 << 0);
1321 try testArgs(u64, u511, 1 << 510);
1322 try testArgs(u128, u511, 0);
1323 try testArgs(u128, u511, 1 << 0);
1324 try testArgs(u128, u511, 1 << 510);
1325 try testArgs(u256, u511, 0);
1326 try testArgs(u256, u511, 1 << 0);
1327 try testArgs(u256, u511, 1 << 510);
1328 try testArgs(u512, u511, 0);
1329 try testArgs(u512, u511, 1 << 0);
1330 try testArgs(u512, u511, 1 << 510);
1331 try testArgs(u1024, u511, 0);
1332 try testArgs(u1024, u511, 1 << 0);
1333 try testArgs(u1024, u511, 1 << 510);
1334
1335 try testArgs(i8, i512, -1 << 511);
1336 try testArgs(i8, i512, -1);
1337 try testArgs(i8, i512, 0);
1338 try testArgs(i16, i512, -1 << 511);
1339 try testArgs(i16, i512, -1);
1340 try testArgs(i16, i512, 0);
1341 try testArgs(i32, i512, -1 << 511);
1342 try testArgs(i32, i512, -1);
1343 try testArgs(i32, i512, 0);
1344 try testArgs(i64, i512, -1 << 511);
1345 try testArgs(i64, i512, -1);
1346 try testArgs(i64, i512, 0);
1347 try testArgs(i128, i512, -1 << 511);
1348 try testArgs(i128, i512, -1);
1349 try testArgs(i128, i512, 0);
1350 try testArgs(i256, i512, -1 << 511);
1351 try testArgs(i256, i512, -1);
1352 try testArgs(i256, i512, 0);
1353 try testArgs(i512, i512, -1 << 511);
1354 try testArgs(i512, i512, -1);
1355 try testArgs(i512, i512, 0);
1356 try testArgs(i1024, i512, -1 << 511);
1357 try testArgs(i1024, i512, -1);
1358 try testArgs(i1024, i512, 0);
1359 try testArgs(u8, u512, 0);
1360 try testArgs(u8, u512, 1 << 0);
1361 try testArgs(u8, u512, 1 << 511);
1362 try testArgs(u16, u512, 0);
1363 try testArgs(u16, u512, 1 << 0);
1364 try testArgs(u16, u512, 1 << 511);
1365 try testArgs(u32, u512, 0);
1366 try testArgs(u32, u512, 1 << 0);
1367 try testArgs(u32, u512, 1 << 511);
1368 try testArgs(u64, u512, 0);
1369 try testArgs(u64, u512, 1 << 0);
1370 try testArgs(u64, u512, 1 << 511);
1371 try testArgs(u128, u512, 0);
1372 try testArgs(u128, u512, 1 << 0);
1373 try testArgs(u128, u512, 1 << 511);
1374 try testArgs(u256, u512, 0);
1375 try testArgs(u256, u512, 1 << 0);
1376 try testArgs(u256, u512, 1 << 511);
1377 try testArgs(u512, u512, 0);
1378 try testArgs(u512, u512, 1 << 0);
1379 try testArgs(u512, u512, 1 << 511);
1380 try testArgs(u1024, u512, 0);
1381 try testArgs(u1024, u512, 1 << 0);
1382 try testArgs(u1024, u512, 1 << 511);
1383
1384 try testArgs(i8, i513, -1 << 512);
1385 try testArgs(i8, i513, -1);
1386 try testArgs(i8, i513, 0);
1387 try testArgs(i16, i513, -1 << 512);
1388 try testArgs(i16, i513, -1);
1389 try testArgs(i16, i513, 0);
1390 try testArgs(i32, i513, -1 << 512);
1391 try testArgs(i32, i513, -1);
1392 try testArgs(i32, i513, 0);
1393 try testArgs(i64, i513, -1 << 512);
1394 try testArgs(i64, i513, -1);
1395 try testArgs(i64, i513, 0);
1396 try testArgs(i128, i513, -1 << 512);
1397 try testArgs(i128, i513, -1);
1398 try testArgs(i128, i513, 0);
1399 try testArgs(i256, i513, -1 << 512);
1400 try testArgs(i256, i513, -1);
1401 try testArgs(i256, i513, 0);
1402 try testArgs(i512, i513, -1 << 512);
1403 try testArgs(i512, i513, -1);
1404 try testArgs(i512, i513, 0);
1405 try testArgs(i1024, i513, -1 << 512);
1406 try testArgs(i1024, i513, -1);
1407 try testArgs(i1024, i513, 0);
1408 try testArgs(u8, u513, 0);
1409 try testArgs(u8, u513, 1 << 0);
1410 try testArgs(u8, u513, 1 << 512);
1411 try testArgs(u16, u513, 0);
1412 try testArgs(u16, u513, 1 << 0);
1413 try testArgs(u16, u513, 1 << 512);
1414 try testArgs(u32, u513, 0);
1415 try testArgs(u32, u513, 1 << 0);
1416 try testArgs(u32, u513, 1 << 512);
1417 try testArgs(u64, u513, 0);
1418 try testArgs(u64, u513, 1 << 0);
1419 try testArgs(u64, u513, 1 << 512);
1420 try testArgs(u128, u513, 0);
1421 try testArgs(u128, u513, 1 << 0);
1422 try testArgs(u128, u513, 1 << 512);
1423 try testArgs(u256, u513, 0);
1424 try testArgs(u256, u513, 1 << 0);
1425 try testArgs(u256, u513, 1 << 512);
1426 try testArgs(u512, u513, 0);
1427 try testArgs(u512, u513, 1 << 0);
1428 try testArgs(u512, u513, 1 << 512);
1429 try testArgs(u1024, u513, 0);
1430 try testArgs(u1024, u513, 1 << 0);
1431 try testArgs(u1024, u513, 1 << 512);
1432
1433 try testArgs(i8, i1023, -1 << 1022);
1434 try testArgs(i8, i1023, -1);
1435 try testArgs(i8, i1023, 0);
1436 try testArgs(i16, i1023, -1 << 1022);
1437 try testArgs(i16, i1023, -1);
1438 try testArgs(i16, i1023, 0);
1439 try testArgs(i32, i1023, -1 << 1022);
1440 try testArgs(i32, i1023, -1);
1441 try testArgs(i32, i1023, 0);
1442 try testArgs(i64, i1023, -1 << 1022);
1443 try testArgs(i64, i1023, -1);
1444 try testArgs(i64, i1023, 0);
1445 try testArgs(i128, i1023, -1 << 1022);
1446 try testArgs(i128, i1023, -1);
1447 try testArgs(i128, i1023, 0);
1448 try testArgs(i256, i1023, -1 << 1022);
1449 try testArgs(i256, i1023, -1);
1450 try testArgs(i256, i1023, 0);
1451 try testArgs(i512, i1023, -1 << 1022);
1452 try testArgs(i512, i1023, -1);
1453 try testArgs(i512, i1023, 0);
1454 try testArgs(i1024, i1023, -1 << 1022);
1455 try testArgs(i1024, i1023, -1);
1456 try testArgs(i1024, i1023, 0);
1457 try testArgs(u8, u1023, 0);
1458 try testArgs(u8, u1023, 1 << 0);
1459 try testArgs(u8, u1023, 1 << 1022);
1460 try testArgs(u16, u1023, 0);
1461 try testArgs(u16, u1023, 1 << 0);
1462 try testArgs(u16, u1023, 1 << 1022);
1463 try testArgs(u32, u1023, 0);
1464 try testArgs(u32, u1023, 1 << 0);
1465 try testArgs(u32, u1023, 1 << 1022);
1466 try testArgs(u64, u1023, 0);
1467 try testArgs(u64, u1023, 1 << 0);
1468 try testArgs(u64, u1023, 1 << 1022);
1469 try testArgs(u128, u1023, 0);
1470 try testArgs(u128, u1023, 1 << 0);
1471 try testArgs(u128, u1023, 1 << 1022);
1472 try testArgs(u256, u1023, 0);
1473 try testArgs(u256, u1023, 1 << 0);
1474 try testArgs(u256, u1023, 1 << 1022);
1475 try testArgs(u512, u1023, 0);
1476 try testArgs(u512, u1023, 1 << 0);
1477 try testArgs(u512, u1023, 1 << 1022);
1478 try testArgs(u1024, u1023, 0);
1479 try testArgs(u1024, u1023, 1 << 0);
1480 try testArgs(u1024, u1023, 1 << 1022);
1481
1482 try testArgs(i8, i1024, -1 << 1023);
1483 try testArgs(i8, i1024, -1);
1484 try testArgs(i8, i1024, 0);
1485 try testArgs(i16, i1024, -1 << 1023);
1486 try testArgs(i16, i1024, -1);
1487 try testArgs(i16, i1024, 0);
1488 try testArgs(i32, i1024, -1 << 1023);
1489 try testArgs(i32, i1024, -1);
1490 try testArgs(i32, i1024, 0);
1491 try testArgs(i64, i1024, -1 << 1023);
1492 try testArgs(i64, i1024, -1);
1493 try testArgs(i64, i1024, 0);
1494 try testArgs(i128, i1024, -1 << 1023);
1495 try testArgs(i128, i1024, -1);
1496 try testArgs(i128, i1024, 0);
1497 try testArgs(i256, i1024, -1 << 1023);
1498 try testArgs(i256, i1024, -1);
1499 try testArgs(i256, i1024, 0);
1500 try testArgs(i512, i1024, -1 << 1023);
1501 try testArgs(i512, i1024, -1);
1502 try testArgs(i512, i1024, 0);
1503 try testArgs(i1024, i1024, -1 << 1023);
1504 try testArgs(i1024, i1024, -1);
1505 try testArgs(i1024, i1024, 0);
1506 try testArgs(u8, u1024, 0);
1507 try testArgs(u8, u1024, 1 << 0);
1508 try testArgs(u8, u1024, 1 << 1023);
1509 try testArgs(u16, u1024, 0);
1510 try testArgs(u16, u1024, 1 << 0);
1511 try testArgs(u16, u1024, 1 << 1023);
1512 try testArgs(u32, u1024, 0);
1513 try testArgs(u32, u1024, 1 << 0);
1514 try testArgs(u32, u1024, 1 << 1023);
1515 try testArgs(u64, u1024, 0);
1516 try testArgs(u64, u1024, 1 << 0);
1517 try testArgs(u64, u1024, 1 << 1023);
1518 try testArgs(u128, u1024, 0);
1519 try testArgs(u128, u1024, 1 << 0);
1520 try testArgs(u128, u1024, 1 << 1023);
1521 try testArgs(u256, u1024, 0);
1522 try testArgs(u256, u1024, 1 << 0);
1523 try testArgs(u256, u1024, 1 << 1023);
1524 try testArgs(u512, u1024, 0);
1525 try testArgs(u512, u1024, 1 << 0);
1526 try testArgs(u512, u1024, 1 << 1023);
1527 try testArgs(u1024, u1024, 0);
1528 try testArgs(u1024, u1024, 1 << 0);
1529 try testArgs(u1024, u1024, 1 << 1023);
1530
1531 try testArgs(i8, i1025, -1 << 1024);
1532 try testArgs(i8, i1025, -1);
1533 try testArgs(i8, i1025, 0);
1534 try testArgs(i16, i1025, -1 << 1024);
1535 try testArgs(i16, i1025, -1);
1536 try testArgs(i16, i1025, 0);
1537 try testArgs(i32, i1025, -1 << 1024);
1538 try testArgs(i32, i1025, -1);
1539 try testArgs(i32, i1025, 0);
1540 try testArgs(i64, i1025, -1 << 1024);
1541 try testArgs(i64, i1025, -1);
1542 try testArgs(i64, i1025, 0);
1543 try testArgs(i128, i1025, -1 << 1024);
1544 try testArgs(i128, i1025, -1);
1545 try testArgs(i128, i1025, 0);
1546 try testArgs(i256, i1025, -1 << 1024);
1547 try testArgs(i256, i1025, -1);
1548 try testArgs(i256, i1025, 0);
1549 try testArgs(i512, i1025, -1 << 1024);
1550 try testArgs(i512, i1025, -1);
1551 try testArgs(i512, i1025, 0);
1552 try testArgs(i1024, i1025, -1 << 1024);
1553 try testArgs(i1024, i1025, -1);
1554 try testArgs(i1024, i1025, 0);
1555 try testArgs(u8, u1025, 0);
1556 try testArgs(u8, u1025, 1 << 0);
1557 try testArgs(u8, u1025, 1 << 1024);
1558 try testArgs(u16, u1025, 0);
1559 try testArgs(u16, u1025, 1 << 0);
1560 try testArgs(u16, u1025, 1 << 1024);
1561 try testArgs(u32, u1025, 0);
1562 try testArgs(u32, u1025, 1 << 0);
1563 try testArgs(u32, u1025, 1 << 1024);
1564 try testArgs(u64, u1025, 0);
1565 try testArgs(u64, u1025, 1 << 0);
1566 try testArgs(u64, u1025, 1 << 1024);
1567 try testArgs(u128, u1025, 0);
1568 try testArgs(u128, u1025, 1 << 0);
1569 try testArgs(u128, u1025, 1 << 1024);
1570 try testArgs(u256, u1025, 0);
1571 try testArgs(u256, u1025, 1 << 0);
1572 try testArgs(u256, u1025, 1 << 1024);
1573 try testArgs(u512, u1025, 0);
1574 try testArgs(u512, u1025, 1 << 0);
1575 try testArgs(u512, u1025, 1 << 1024);
1576 try testArgs(u1024, u1025, 0);
1577 try testArgs(u1024, u1025, 1 << 0);
1578 try testArgs(u1024, u1025, 1 << 1024);
1579 }
1580 fn testInts() !void {
1581 try testSameSignednessInts();
1582
1583 try testArgs(u8, i1, -1);
1584 try testArgs(u8, i1, 0);
1585 try testArgs(u16, i1, -1);
1586 try testArgs(u16, i1, 0);
1587 try testArgs(u32, i1, -1);
1588 try testArgs(u32, i1, 0);
1589 try testArgs(u64, i1, -1);
1590 try testArgs(u64, i1, 0);
1591 try testArgs(u128, i1, -1);
1592 try testArgs(u128, i1, 0);
1593 try testArgs(u256, i1, -1);
1594 try testArgs(u256, i1, 0);
1595 try testArgs(u512, i1, -1);
1596 try testArgs(u512, i1, 0);
1597 try testArgs(u1024, i1, -1);
1598 try testArgs(u1024, i1, 0);
1599 try testArgs(i8, u1, 0);
1600 try testArgs(i8, u1, 1 << 0);
1601 try testArgs(i16, u1, 0);
1602 try testArgs(i16, u1, 1 << 0);
1603 try testArgs(i32, u1, 0);
1604 try testArgs(i32, u1, 1 << 0);
1605 try testArgs(i64, u1, 0);
1606 try testArgs(i64, u1, 1 << 0);
1607 try testArgs(i128, u1, 0);
1608 try testArgs(i128, u1, 1 << 0);
1609 try testArgs(i256, u1, 0);
1610 try testArgs(i256, u1, 1 << 0);
1611 try testArgs(i512, u1, 0);
1612 try testArgs(i512, u1, 1 << 0);
1613 try testArgs(i1024, u1, 0);
1614 try testArgs(i1024, u1, 1 << 0);
1615
1616 try testArgs(u8, i2, -1 << 1);
1617 try testArgs(u8, i2, -1);
1618 try testArgs(u8, i2, 0);
1619 try testArgs(u16, i2, -1 << 1);
1620 try testArgs(u16, i2, -1);
1621 try testArgs(u16, i2, 0);
1622 try testArgs(u32, i2, -1 << 1);
1623 try testArgs(u32, i2, -1);
1624 try testArgs(u32, i2, 0);
1625 try testArgs(u64, i2, -1 << 1);
1626 try testArgs(u64, i2, -1);
1627 try testArgs(u64, i2, 0);
1628 try testArgs(u128, i2, -1 << 1);
1629 try testArgs(u128, i2, -1);
1630 try testArgs(u128, i2, 0);
1631 try testArgs(u256, i2, -1 << 1);
1632 try testArgs(u256, i2, -1);
1633 try testArgs(u256, i2, 0);
1634 try testArgs(u512, i2, -1 << 1);
1635 try testArgs(u512, i2, -1);
1636 try testArgs(u512, i2, 0);
1637 try testArgs(u1024, i2, -1 << 1);
1638 try testArgs(u1024, i2, -1);
1639 try testArgs(u1024, i2, 0);
1640 try testArgs(i8, u2, 0);
1641 try testArgs(i8, u2, 1 << 0);
1642 try testArgs(i8, u2, 1 << 1);
1643 try testArgs(i16, u2, 0);
1644 try testArgs(i16, u2, 1 << 0);
1645 try testArgs(i16, u2, 1 << 1);
1646 try testArgs(i32, u2, 0);
1647 try testArgs(i32, u2, 1 << 0);
1648 try testArgs(i32, u2, 1 << 1);
1649 try testArgs(i64, u2, 0);
1650 try testArgs(i64, u2, 1 << 0);
1651 try testArgs(i64, u2, 1 << 1);
1652 try testArgs(i128, u2, 0);
1653 try testArgs(i128, u2, 1 << 0);
1654 try testArgs(i128, u2, 1 << 1);
1655 try testArgs(i256, u2, 0);
1656 try testArgs(i256, u2, 1 << 0);
1657 try testArgs(i256, u2, 1 << 1);
1658 try testArgs(i512, u2, 0);
1659 try testArgs(i512, u2, 1 << 0);
1660 try testArgs(i512, u2, 1 << 1);
1661 try testArgs(i1024, u2, 0);
1662 try testArgs(i1024, u2, 1 << 0);
1663 try testArgs(i1024, u2, 1 << 1);
1664
1665 try testArgs(u8, i3, -1 << 2);
1666 try testArgs(u8, i3, -1);
1667 try testArgs(u8, i3, 0);
1668 try testArgs(u16, i3, -1 << 2);
1669 try testArgs(u16, i3, -1);
1670 try testArgs(u16, i3, 0);
1671 try testArgs(u32, i3, -1 << 2);
1672 try testArgs(u32, i3, -1);
1673 try testArgs(u32, i3, 0);
1674 try testArgs(u64, i3, -1 << 2);
1675 try testArgs(u64, i3, -1);
1676 try testArgs(u64, i3, 0);
1677 try testArgs(u128, i3, -1 << 2);
1678 try testArgs(u128, i3, -1);
1679 try testArgs(u128, i3, 0);
1680 try testArgs(u256, i3, -1 << 2);
1681 try testArgs(u256, i3, -1);
1682 try testArgs(u256, i3, 0);
1683 try testArgs(u512, i3, -1 << 2);
1684 try testArgs(u512, i3, -1);
1685 try testArgs(u512, i3, 0);
1686 try testArgs(u1024, i3, -1 << 2);
1687 try testArgs(u1024, i3, -1);
1688 try testArgs(u1024, i3, 0);
1689 try testArgs(i8, u3, 0);
1690 try testArgs(i8, u3, 1 << 0);
1691 try testArgs(i8, u3, 1 << 2);
1692 try testArgs(i16, u3, 0);
1693 try testArgs(i16, u3, 1 << 0);
1694 try testArgs(i16, u3, 1 << 2);
1695 try testArgs(i32, u3, 0);
1696 try testArgs(i32, u3, 1 << 0);
1697 try testArgs(i32, u3, 1 << 2);
1698 try testArgs(i64, u3, 0);
1699 try testArgs(i64, u3, 1 << 0);
1700 try testArgs(i64, u3, 1 << 2);
1701 try testArgs(i128, u3, 0);
1702 try testArgs(i128, u3, 1 << 0);
1703 try testArgs(i128, u3, 1 << 2);
1704 try testArgs(i256, u3, 0);
1705 try testArgs(i256, u3, 1 << 0);
1706 try testArgs(i256, u3, 1 << 2);
1707 try testArgs(i512, u3, 0);
1708 try testArgs(i512, u3, 1 << 0);
1709 try testArgs(i512, u3, 1 << 2);
1710 try testArgs(i1024, u3, 0);
1711 try testArgs(i1024, u3, 1 << 0);
1712 try testArgs(i1024, u3, 1 << 2);
1713
1714 try testArgs(u8, i4, -1 << 3);
1715 try testArgs(u8, i4, -1);
1716 try testArgs(u8, i4, 0);
1717 try testArgs(u16, i4, -1 << 3);
1718 try testArgs(u16, i4, -1);
1719 try testArgs(u16, i4, 0);
1720 try testArgs(u32, i4, -1 << 3);
1721 try testArgs(u32, i4, -1);
1722 try testArgs(u32, i4, 0);
1723 try testArgs(u64, i4, -1 << 3);
1724 try testArgs(u64, i4, -1);
1725 try testArgs(u64, i4, 0);
1726 try testArgs(u128, i4, -1 << 3);
1727 try testArgs(u128, i4, -1);
1728 try testArgs(u128, i4, 0);
1729 try testArgs(u256, i4, -1 << 3);
1730 try testArgs(u256, i4, -1);
1731 try testArgs(u256, i4, 0);
1732 try testArgs(u512, i4, -1 << 3);
1733 try testArgs(u512, i4, -1);
1734 try testArgs(u512, i4, 0);
1735 try testArgs(u1024, i4, -1 << 3);
1736 try testArgs(u1024, i4, -1);
1737 try testArgs(u1024, i4, 0);
1738 try testArgs(i8, u4, 0);
1739 try testArgs(i8, u4, 1 << 0);
1740 try testArgs(i8, u4, 1 << 3);
1741 try testArgs(i16, u4, 0);
1742 try testArgs(i16, u4, 1 << 0);
1743 try testArgs(i16, u4, 1 << 3);
1744 try testArgs(i32, u4, 0);
1745 try testArgs(i32, u4, 1 << 0);
1746 try testArgs(i32, u4, 1 << 3);
1747 try testArgs(i64, u4, 0);
1748 try testArgs(i64, u4, 1 << 0);
1749 try testArgs(i64, u4, 1 << 3);
1750 try testArgs(i128, u4, 0);
1751 try testArgs(i128, u4, 1 << 0);
1752 try testArgs(i128, u4, 1 << 3);
1753 try testArgs(i256, u4, 0);
1754 try testArgs(i256, u4, 1 << 0);
1755 try testArgs(i256, u4, 1 << 3);
1756 try testArgs(i512, u4, 0);
1757 try testArgs(i512, u4, 1 << 0);
1758 try testArgs(i512, u4, 1 << 3);
1759 try testArgs(i1024, u4, 0);
1760 try testArgs(i1024, u4, 1 << 0);
1761 try testArgs(i1024, u4, 1 << 3);
1762
1763 try testArgs(u8, i5, -1 << 4);
1764 try testArgs(u8, i5, -1);
1765 try testArgs(u8, i5, 0);
1766 try testArgs(u16, i5, -1 << 4);
1767 try testArgs(u16, i5, -1);
1768 try testArgs(u16, i5, 0);
1769 try testArgs(u32, i5, -1 << 4);
1770 try testArgs(u32, i5, -1);
1771 try testArgs(u32, i5, 0);
1772 try testArgs(u64, i5, -1 << 4);
1773 try testArgs(u64, i5, -1);
1774 try testArgs(u64, i5, 0);
1775 try testArgs(u128, i5, -1 << 4);
1776 try testArgs(u128, i5, -1);
1777 try testArgs(u128, i5, 0);
1778 try testArgs(u256, i5, -1 << 4);
1779 try testArgs(u256, i5, -1);
1780 try testArgs(u256, i5, 0);
1781 try testArgs(u512, i5, -1 << 4);
1782 try testArgs(u512, i5, -1);
1783 try testArgs(u512, i5, 0);
1784 try testArgs(u1024, i5, -1 << 4);
1785 try testArgs(u1024, i5, -1);
1786 try testArgs(u1024, i5, 0);
1787 try testArgs(i8, u5, 0);
1788 try testArgs(i8, u5, 1 << 0);
1789 try testArgs(i8, u5, 1 << 4);
1790 try testArgs(i16, u5, 0);
1791 try testArgs(i16, u5, 1 << 0);
1792 try testArgs(i16, u5, 1 << 4);
1793 try testArgs(i32, u5, 0);
1794 try testArgs(i32, u5, 1 << 0);
1795 try testArgs(i32, u5, 1 << 4);
1796 try testArgs(i64, u5, 0);
1797 try testArgs(i64, u5, 1 << 0);
1798 try testArgs(i64, u5, 1 << 4);
1799 try testArgs(i128, u5, 0);
1800 try testArgs(i128, u5, 1 << 0);
1801 try testArgs(i128, u5, 1 << 4);
1802 try testArgs(i256, u5, 0);
1803 try testArgs(i256, u5, 1 << 0);
1804 try testArgs(i256, u5, 1 << 4);
1805 try testArgs(i512, u5, 0);
1806 try testArgs(i512, u5, 1 << 0);
1807 try testArgs(i512, u5, 1 << 4);
1808 try testArgs(i1024, u5, 0);
1809 try testArgs(i1024, u5, 1 << 0);
1810 try testArgs(i1024, u5, 1 << 4);
1811
1812 try testArgs(u8, i7, -1 << 6);
1813 try testArgs(u8, i7, -1);
1814 try testArgs(u8, i7, 0);
1815 try testArgs(u16, i7, -1 << 6);
1816 try testArgs(u16, i7, -1);
1817 try testArgs(u16, i7, 0);
1818 try testArgs(u32, i7, -1 << 6);
1819 try testArgs(u32, i7, -1);
1820 try testArgs(u32, i7, 0);
1821 try testArgs(u64, i7, -1 << 6);
1822 try testArgs(u64, i7, -1);
1823 try testArgs(u64, i7, 0);
1824 try testArgs(u128, i7, -1 << 6);
1825 try testArgs(u128, i7, -1);
1826 try testArgs(u128, i7, 0);
1827 try testArgs(u256, i7, -1 << 6);
1828 try testArgs(u256, i7, -1);
1829 try testArgs(u256, i7, 0);
1830 try testArgs(u512, i7, -1 << 6);
1831 try testArgs(u512, i7, -1);
1832 try testArgs(u512, i7, 0);
1833 try testArgs(u1024, i7, -1 << 6);
1834 try testArgs(u1024, i7, -1);
1835 try testArgs(u1024, i7, 0);
1836 try testArgs(i8, u7, 0);
1837 try testArgs(i8, u7, 1 << 0);
1838 try testArgs(i8, u7, 1 << 6);
1839 try testArgs(i16, u7, 0);
1840 try testArgs(i16, u7, 1 << 0);
1841 try testArgs(i16, u7, 1 << 6);
1842 try testArgs(i32, u7, 0);
1843 try testArgs(i32, u7, 1 << 0);
1844 try testArgs(i32, u7, 1 << 6);
1845 try testArgs(i64, u7, 0);
1846 try testArgs(i64, u7, 1 << 0);
1847 try testArgs(i64, u7, 1 << 6);
1848 try testArgs(i128, u7, 0);
1849 try testArgs(i128, u7, 1 << 0);
1850 try testArgs(i128, u7, 1 << 6);
1851 try testArgs(i256, u7, 0);
1852 try testArgs(i256, u7, 1 << 0);
1853 try testArgs(i256, u7, 1 << 6);
1854 try testArgs(i512, u7, 0);
1855 try testArgs(i512, u7, 1 << 0);
1856 try testArgs(i512, u7, 1 << 6);
1857 try testArgs(i1024, u7, 0);
1858 try testArgs(i1024, u7, 1 << 0);
1859 try testArgs(i1024, u7, 1 << 6);
1860
1861 try testArgs(u8, i8, -1 << 7);
1862 try testArgs(u8, i8, -1);
1863 try testArgs(u8, i8, 0);
1864 try testArgs(u16, i8, -1 << 7);
1865 try testArgs(u16, i8, -1);
1866 try testArgs(u16, i8, 0);
1867 try testArgs(u32, i8, -1 << 7);
1868 try testArgs(u32, i8, -1);
1869 try testArgs(u32, i8, 0);
1870 try testArgs(u64, i8, -1 << 7);
1871 try testArgs(u64, i8, -1);
1872 try testArgs(u64, i8, 0);
1873 try testArgs(u128, i8, -1 << 7);
1874 try testArgs(u128, i8, -1);
1875 try testArgs(u128, i8, 0);
1876 try testArgs(u256, i8, -1 << 7);
1877 try testArgs(u256, i8, -1);
1878 try testArgs(u256, i8, 0);
1879 try testArgs(u512, i8, -1 << 7);
1880 try testArgs(u512, i8, -1);
1881 try testArgs(u512, i8, 0);
1882 try testArgs(u1024, i8, -1 << 7);
1883 try testArgs(u1024, i8, -1);
1884 try testArgs(u1024, i8, 0);
1885 try testArgs(i8, u8, 0);
1886 try testArgs(i8, u8, 1 << 0);
1887 try testArgs(i8, u8, 1 << 7);
1888 try testArgs(i16, u8, 0);
1889 try testArgs(i16, u8, 1 << 0);
1890 try testArgs(i16, u8, 1 << 7);
1891 try testArgs(i32, u8, 0);
1892 try testArgs(i32, u8, 1 << 0);
1893 try testArgs(i32, u8, 1 << 7);
1894 try testArgs(i64, u8, 0);
1895 try testArgs(i64, u8, 1 << 0);
1896 try testArgs(i64, u8, 1 << 7);
1897 try testArgs(i128, u8, 0);
1898 try testArgs(i128, u8, 1 << 0);
1899 try testArgs(i128, u8, 1 << 7);
1900 try testArgs(i256, u8, 0);
1901 try testArgs(i256, u8, 1 << 0);
1902 try testArgs(i256, u8, 1 << 7);
1903 try testArgs(i512, u8, 0);
1904 try testArgs(i512, u8, 1 << 0);
1905 try testArgs(i512, u8, 1 << 7);
1906 try testArgs(i1024, u8, 0);
1907 try testArgs(i1024, u8, 1 << 0);
1908 try testArgs(i1024, u8, 1 << 7);
1909
1910 try testArgs(u8, i9, -1 << 8);
1911 try testArgs(u8, i9, -1);
1912 try testArgs(u8, i9, 0);
1913 try testArgs(u16, i9, -1 << 8);
1914 try testArgs(u16, i9, -1);
1915 try testArgs(u16, i9, 0);
1916 try testArgs(u32, i9, -1 << 8);
1917 try testArgs(u32, i9, -1);
1918 try testArgs(u32, i9, 0);
1919 try testArgs(u64, i9, -1 << 8);
1920 try testArgs(u64, i9, -1);
1921 try testArgs(u64, i9, 0);
1922 try testArgs(u128, i9, -1 << 8);
1923 try testArgs(u128, i9, -1);
1924 try testArgs(u128, i9, 0);
1925 try testArgs(u256, i9, -1 << 8);
1926 try testArgs(u256, i9, -1);
1927 try testArgs(u256, i9, 0);
1928 try testArgs(u512, i9, -1 << 8);
1929 try testArgs(u512, i9, -1);
1930 try testArgs(u512, i9, 0);
1931 try testArgs(u1024, i9, -1 << 8);
1932 try testArgs(u1024, i9, -1);
1933 try testArgs(u1024, i9, 0);
1934 try testArgs(i8, u9, 0);
1935 try testArgs(i8, u9, 1 << 0);
1936 try testArgs(i8, u9, 1 << 8);
1937 try testArgs(i16, u9, 0);
1938 try testArgs(i16, u9, 1 << 0);
1939 try testArgs(i16, u9, 1 << 8);
1940 try testArgs(i32, u9, 0);
1941 try testArgs(i32, u9, 1 << 0);
1942 try testArgs(i32, u9, 1 << 8);
1943 try testArgs(i64, u9, 0);
1944 try testArgs(i64, u9, 1 << 0);
1945 try testArgs(i64, u9, 1 << 8);
1946 try testArgs(i128, u9, 0);
1947 try testArgs(i128, u9, 1 << 0);
1948 try testArgs(i128, u9, 1 << 8);
1949 try testArgs(i256, u9, 0);
1950 try testArgs(i256, u9, 1 << 0);
1951 try testArgs(i256, u9, 1 << 8);
1952 try testArgs(i512, u9, 0);
1953 try testArgs(i512, u9, 1 << 0);
1954 try testArgs(i512, u9, 1 << 8);
1955 try testArgs(i1024, u9, 0);
1956 try testArgs(i1024, u9, 1 << 0);
1957 try testArgs(i1024, u9, 1 << 8);
1958
1959 try testArgs(u8, i15, -1 << 14);
1960 try testArgs(u8, i15, -1);
1961 try testArgs(u8, i15, 0);
1962 try testArgs(u16, i15, -1 << 14);
1963 try testArgs(u16, i15, -1);
1964 try testArgs(u16, i15, 0);
1965 try testArgs(u32, i15, -1 << 14);
1966 try testArgs(u32, i15, -1);
1967 try testArgs(u32, i15, 0);
1968 try testArgs(u64, i15, -1 << 14);
1969 try testArgs(u64, i15, -1);
1970 try testArgs(u64, i15, 0);
1971 try testArgs(u128, i15, -1 << 14);
1972 try testArgs(u128, i15, -1);
1973 try testArgs(u128, i15, 0);
1974 try testArgs(u256, i15, -1 << 14);
1975 try testArgs(u256, i15, -1);
1976 try testArgs(u256, i15, 0);
1977 try testArgs(u512, i15, -1 << 14);
1978 try testArgs(u512, i15, -1);
1979 try testArgs(u512, i15, 0);
1980 try testArgs(u1024, i15, -1 << 14);
1981 try testArgs(u1024, i15, -1);
1982 try testArgs(u1024, i15, 0);
1983 try testArgs(i8, u15, 0);
1984 try testArgs(i8, u15, 1 << 0);
1985 try testArgs(i8, u15, 1 << 14);
1986 try testArgs(i16, u15, 0);
1987 try testArgs(i16, u15, 1 << 0);
1988 try testArgs(i16, u15, 1 << 14);
1989 try testArgs(i32, u15, 0);
1990 try testArgs(i32, u15, 1 << 0);
1991 try testArgs(i32, u15, 1 << 14);
1992 try testArgs(i64, u15, 0);
1993 try testArgs(i64, u15, 1 << 0);
1994 try testArgs(i64, u15, 1 << 14);
1995 try testArgs(i128, u15, 0);
1996 try testArgs(i128, u15, 1 << 0);
1997 try testArgs(i128, u15, 1 << 14);
1998 try testArgs(i256, u15, 0);
1999 try testArgs(i256, u15, 1 << 0);
2000 try testArgs(i256, u15, 1 << 14);
2001 try testArgs(i512, u15, 0);
2002 try testArgs(i512, u15, 1 << 0);
2003 try testArgs(i512, u15, 1 << 14);
2004 try testArgs(i1024, u15, 0);
2005 try testArgs(i1024, u15, 1 << 0);
2006 try testArgs(i1024, u15, 1 << 14);
2007
2008 try testArgs(u8, i16, -1 << 15);
2009 try testArgs(u8, i16, -1);
2010 try testArgs(u8, i16, 0);
2011 try testArgs(u16, i16, -1 << 15);
2012 try testArgs(u16, i16, -1);
2013 try testArgs(u16, i16, 0);
2014 try testArgs(u32, i16, -1 << 15);
2015 try testArgs(u32, i16, -1);
2016 try testArgs(u32, i16, 0);
2017 try testArgs(u64, i16, -1 << 15);
2018 try testArgs(u64, i16, -1);
2019 try testArgs(u64, i16, 0);
2020 try testArgs(u128, i16, -1 << 15);
2021 try testArgs(u128, i16, -1);
2022 try testArgs(u128, i16, 0);
2023 try testArgs(u256, i16, -1 << 15);
2024 try testArgs(u256, i16, -1);
2025 try testArgs(u256, i16, 0);
2026 try testArgs(u512, i16, -1 << 15);
2027 try testArgs(u512, i16, -1);
2028 try testArgs(u512, i16, 0);
2029 try testArgs(u1024, i16, -1 << 15);
2030 try testArgs(u1024, i16, -1);
2031 try testArgs(u1024, i16, 0);
2032 try testArgs(i8, u16, 0);
2033 try testArgs(i8, u16, 1 << 0);
2034 try testArgs(i8, u16, 1 << 15);
2035 try testArgs(i16, u16, 0);
2036 try testArgs(i16, u16, 1 << 0);
2037 try testArgs(i16, u16, 1 << 15);
2038 try testArgs(i32, u16, 0);
2039 try testArgs(i32, u16, 1 << 0);
2040 try testArgs(i32, u16, 1 << 15);
2041 try testArgs(i64, u16, 0);
2042 try testArgs(i64, u16, 1 << 0);
2043 try testArgs(i64, u16, 1 << 15);
2044 try testArgs(i128, u16, 0);
2045 try testArgs(i128, u16, 1 << 0);
2046 try testArgs(i128, u16, 1 << 15);
2047 try testArgs(i256, u16, 0);
2048 try testArgs(i256, u16, 1 << 0);
2049 try testArgs(i256, u16, 1 << 15);
2050 try testArgs(i512, u16, 0);
2051 try testArgs(i512, u16, 1 << 0);
2052 try testArgs(i512, u16, 1 << 15);
2053 try testArgs(i1024, u16, 0);
2054 try testArgs(i1024, u16, 1 << 0);
2055 try testArgs(i1024, u16, 1 << 15);
2056
2057 try testArgs(u8, i17, -1 << 16);
2058 try testArgs(u8, i17, -1);
2059 try testArgs(u8, i17, 0);
2060 try testArgs(u16, i17, -1 << 16);
2061 try testArgs(u16, i17, -1);
2062 try testArgs(u16, i17, 0);
2063 try testArgs(u32, i17, -1 << 16);
2064 try testArgs(u32, i17, -1);
2065 try testArgs(u32, i17, 0);
2066 try testArgs(u64, i17, -1 << 16);
2067 try testArgs(u64, i17, -1);
2068 try testArgs(u64, i17, 0);
2069 try testArgs(u128, i17, -1 << 16);
2070 try testArgs(u128, i17, -1);
2071 try testArgs(u128, i17, 0);
2072 try testArgs(u256, i17, -1 << 16);
2073 try testArgs(u256, i17, -1);
2074 try testArgs(u256, i17, 0);
2075 try testArgs(u512, i17, -1 << 16);
2076 try testArgs(u512, i17, -1);
2077 try testArgs(u512, i17, 0);
2078 try testArgs(u1024, i17, -1 << 16);
2079 try testArgs(u1024, i17, -1);
2080 try testArgs(u1024, i17, 0);
2081 try testArgs(i8, u17, 0);
2082 try testArgs(i8, u17, 1 << 0);
2083 try testArgs(i8, u17, 1 << 16);
2084 try testArgs(i16, u17, 0);
2085 try testArgs(i16, u17, 1 << 0);
2086 try testArgs(i16, u17, 1 << 16);
2087 try testArgs(i32, u17, 0);
2088 try testArgs(i32, u17, 1 << 0);
2089 try testArgs(i32, u17, 1 << 16);
2090 try testArgs(i64, u17, 0);
2091 try testArgs(i64, u17, 1 << 0);
2092 try testArgs(i64, u17, 1 << 16);
2093 try testArgs(i128, u17, 0);
2094 try testArgs(i128, u17, 1 << 0);
2095 try testArgs(i128, u17, 1 << 16);
2096 try testArgs(i256, u17, 0);
2097 try testArgs(i256, u17, 1 << 0);
2098 try testArgs(i256, u17, 1 << 16);
2099 try testArgs(i512, u17, 0);
2100 try testArgs(i512, u17, 1 << 0);
2101 try testArgs(i512, u17, 1 << 16);
2102 try testArgs(i1024, u17, 0);
2103 try testArgs(i1024, u17, 1 << 0);
2104 try testArgs(i1024, u17, 1 << 16);
2105
2106 try testArgs(u8, i31, -1 << 30);
2107 try testArgs(u8, i31, -1);
2108 try testArgs(u8, i31, 0);
2109 try testArgs(u16, i31, -1 << 30);
2110 try testArgs(u16, i31, -1);
2111 try testArgs(u16, i31, 0);
2112 try testArgs(u32, i31, -1 << 30);
2113 try testArgs(u32, i31, -1);
2114 try testArgs(u32, i31, 0);
2115 try testArgs(u64, i31, -1 << 30);
2116 try testArgs(u64, i31, -1);
2117 try testArgs(u64, i31, 0);
2118 try testArgs(u128, i31, -1 << 30);
2119 try testArgs(u128, i31, -1);
2120 try testArgs(u128, i31, 0);
2121 try testArgs(u256, i31, -1 << 30);
2122 try testArgs(u256, i31, -1);
2123 try testArgs(u256, i31, 0);
2124 try testArgs(u512, i31, -1 << 30);
2125 try testArgs(u512, i31, -1);
2126 try testArgs(u512, i31, 0);
2127 try testArgs(u1024, i31, -1 << 30);
2128 try testArgs(u1024, i31, -1);
2129 try testArgs(u1024, i31, 0);
2130 try testArgs(i8, u31, 0);
2131 try testArgs(i8, u31, 1 << 0);
2132 try testArgs(i8, u31, 1 << 30);
2133 try testArgs(i16, u31, 0);
2134 try testArgs(i16, u31, 1 << 0);
2135 try testArgs(i16, u31, 1 << 30);
2136 try testArgs(i32, u31, 0);
2137 try testArgs(i32, u31, 1 << 0);
2138 try testArgs(i32, u31, 1 << 30);
2139 try testArgs(i64, u31, 0);
2140 try testArgs(i64, u31, 1 << 0);
2141 try testArgs(i64, u31, 1 << 30);
2142 try testArgs(i128, u31, 0);
2143 try testArgs(i128, u31, 1 << 0);
2144 try testArgs(i128, u31, 1 << 30);
2145 try testArgs(i256, u31, 0);
2146 try testArgs(i256, u31, 1 << 0);
2147 try testArgs(i256, u31, 1 << 30);
2148 try testArgs(i512, u31, 0);
2149 try testArgs(i512, u31, 1 << 0);
2150 try testArgs(i512, u31, 1 << 30);
2151 try testArgs(i1024, u31, 0);
2152 try testArgs(i1024, u31, 1 << 0);
2153 try testArgs(i1024, u31, 1 << 30);
2154
2155 try testArgs(u8, i32, -1 << 31);
2156 try testArgs(u8, i32, -1);
2157 try testArgs(u8, i32, 0);
2158 try testArgs(u16, i32, -1 << 31);
2159 try testArgs(u16, i32, -1);
2160 try testArgs(u16, i32, 0);
2161 try testArgs(u32, i32, -1 << 31);
2162 try testArgs(u32, i32, -1);
2163 try testArgs(u32, i32, 0);
2164 try testArgs(u64, i32, -1 << 31);
2165 try testArgs(u64, i32, -1);
2166 try testArgs(u64, i32, 0);
2167 try testArgs(u128, i32, -1 << 31);
2168 try testArgs(u128, i32, -1);
2169 try testArgs(u128, i32, 0);
2170 try testArgs(u256, i32, -1 << 31);
2171 try testArgs(u256, i32, -1);
2172 try testArgs(u256, i32, 0);
2173 try testArgs(u512, i32, -1 << 31);
2174 try testArgs(u512, i32, -1);
2175 try testArgs(u512, i32, 0);
2176 try testArgs(u1024, i32, -1 << 31);
2177 try testArgs(u1024, i32, -1);
2178 try testArgs(u1024, i32, 0);
2179 try testArgs(i8, u32, 0);
2180 try testArgs(i8, u32, 1 << 0);
2181 try testArgs(i8, u32, 1 << 31);
2182 try testArgs(i16, u32, 0);
2183 try testArgs(i16, u32, 1 << 0);
2184 try testArgs(i16, u32, 1 << 31);
2185 try testArgs(i32, u32, 0);
2186 try testArgs(i32, u32, 1 << 0);
2187 try testArgs(i32, u32, 1 << 31);
2188 try testArgs(i64, u32, 0);
2189 try testArgs(i64, u32, 1 << 0);
2190 try testArgs(i64, u32, 1 << 31);
2191 try testArgs(i128, u32, 0);
2192 try testArgs(i128, u32, 1 << 0);
2193 try testArgs(i128, u32, 1 << 31);
2194 try testArgs(i256, u32, 0);
2195 try testArgs(i256, u32, 1 << 0);
2196 try testArgs(i256, u32, 1 << 31);
2197 try testArgs(i512, u32, 0);
2198 try testArgs(i512, u32, 1 << 0);
2199 try testArgs(i512, u32, 1 << 31);
2200 try testArgs(i1024, u32, 0);
2201 try testArgs(i1024, u32, 1 << 0);
2202 try testArgs(i1024, u32, 1 << 31);
2203
2204 try testArgs(u8, i33, -1 << 32);
2205 try testArgs(u8, i33, -1);
2206 try testArgs(u8, i33, 0);
2207 try testArgs(u16, i33, -1 << 32);
2208 try testArgs(u16, i33, -1);
2209 try testArgs(u16, i33, 0);
2210 try testArgs(u32, i33, -1 << 32);
2211 try testArgs(u32, i33, -1);
2212 try testArgs(u32, i33, 0);
2213 try testArgs(u64, i33, -1 << 32);
2214 try testArgs(u64, i33, -1);
2215 try testArgs(u64, i33, 0);
2216 try testArgs(u128, i33, -1 << 32);
2217 try testArgs(u128, i33, -1);
2218 try testArgs(u128, i33, 0);
2219 try testArgs(u256, i33, -1 << 32);
2220 try testArgs(u256, i33, -1);
2221 try testArgs(u256, i33, 0);
2222 try testArgs(u512, i33, -1 << 32);
2223 try testArgs(u512, i33, -1);
2224 try testArgs(u512, i33, 0);
2225 try testArgs(u1024, i33, -1 << 32);
2226 try testArgs(u1024, i33, -1);
2227 try testArgs(u1024, i33, 0);
2228 try testArgs(i8, u33, 0);
2229 try testArgs(i8, u33, 1 << 0);
2230 try testArgs(i8, u33, 1 << 32);
2231 try testArgs(i16, u33, 0);
2232 try testArgs(i16, u33, 1 << 0);
2233 try testArgs(i16, u33, 1 << 32);
2234 try testArgs(i32, u33, 0);
2235 try testArgs(i32, u33, 1 << 0);
2236 try testArgs(i32, u33, 1 << 32);
2237 try testArgs(i64, u33, 0);
2238 try testArgs(i64, u33, 1 << 0);
2239 try testArgs(i64, u33, 1 << 32);
2240 try testArgs(i128, u33, 0);
2241 try testArgs(i128, u33, 1 << 0);
2242 try testArgs(i128, u33, 1 << 32);
2243 try testArgs(i256, u33, 0);
2244 try testArgs(i256, u33, 1 << 0);
2245 try testArgs(i256, u33, 1 << 32);
2246 try testArgs(i512, u33, 0);
2247 try testArgs(i512, u33, 1 << 0);
2248 try testArgs(i512, u33, 1 << 32);
2249 try testArgs(i1024, u33, 0);
2250 try testArgs(i1024, u33, 1 << 0);
2251 try testArgs(i1024, u33, 1 << 32);
2252
2253 try testArgs(u8, i63, -1 << 62);
2254 try testArgs(u8, i63, -1);
2255 try testArgs(u8, i63, 0);
2256 try testArgs(u16, i63, -1 << 62);
2257 try testArgs(u16, i63, -1);
2258 try testArgs(u16, i63, 0);
2259 try testArgs(u32, i63, -1 << 62);
2260 try testArgs(u32, i63, -1);
2261 try testArgs(u32, i63, 0);
2262 try testArgs(u64, i63, -1 << 62);
2263 try testArgs(u64, i63, -1);
2264 try testArgs(u64, i63, 0);
2265 try testArgs(u128, i63, -1 << 62);
2266 try testArgs(u128, i63, -1);
2267 try testArgs(u128, i63, 0);
2268 try testArgs(u256, i63, -1 << 62);
2269 try testArgs(u256, i63, -1);
2270 try testArgs(u256, i63, 0);
2271 try testArgs(u512, i63, -1 << 62);
2272 try testArgs(u512, i63, -1);
2273 try testArgs(u512, i63, 0);
2274 try testArgs(u1024, i63, -1 << 62);
2275 try testArgs(u1024, i63, -1);
2276 try testArgs(u1024, i63, 0);
2277 try testArgs(i8, u63, 0);
2278 try testArgs(i8, u63, 1 << 0);
2279 try testArgs(i8, u63, 1 << 62);
2280 try testArgs(i16, u63, 0);
2281 try testArgs(i16, u63, 1 << 0);
2282 try testArgs(i16, u63, 1 << 62);
2283 try testArgs(i32, u63, 0);
2284 try testArgs(i32, u63, 1 << 0);
2285 try testArgs(i32, u63, 1 << 62);
2286 try testArgs(i64, u63, 0);
2287 try testArgs(i64, u63, 1 << 0);
2288 try testArgs(i64, u63, 1 << 62);
2289 try testArgs(i128, u63, 0);
2290 try testArgs(i128, u63, 1 << 0);
2291 try testArgs(i128, u63, 1 << 62);
2292 try testArgs(i256, u63, 0);
2293 try testArgs(i256, u63, 1 << 0);
2294 try testArgs(i256, u63, 1 << 62);
2295 try testArgs(i512, u63, 0);
2296 try testArgs(i512, u63, 1 << 0);
2297 try testArgs(i512, u63, 1 << 62);
2298 try testArgs(i1024, u63, 0);
2299 try testArgs(i1024, u63, 1 << 0);
2300 try testArgs(i1024, u63, 1 << 62);
2301
2302 try testArgs(u8, i64, -1 << 63);
2303 try testArgs(u8, i64, -1);
2304 try testArgs(u8, i64, 0);
2305 try testArgs(u16, i64, -1 << 63);
2306 try testArgs(u16, i64, -1);
2307 try testArgs(u16, i64, 0);
2308 try testArgs(u32, i64, -1 << 63);
2309 try testArgs(u32, i64, -1);
2310 try testArgs(u32, i64, 0);
2311 try testArgs(u64, i64, -1 << 63);
2312 try testArgs(u64, i64, -1);
2313 try testArgs(u64, i64, 0);
2314 try testArgs(u128, i64, -1 << 63);
2315 try testArgs(u128, i64, -1);
2316 try testArgs(u128, i64, 0);
2317 try testArgs(u256, i64, -1 << 63);
2318 try testArgs(u256, i64, -1);
2319 try testArgs(u256, i64, 0);
2320 try testArgs(u512, i64, -1 << 63);
2321 try testArgs(u512, i64, -1);
2322 try testArgs(u512, i64, 0);
2323 try testArgs(u1024, i64, -1 << 63);
2324 try testArgs(u1024, i64, -1);
2325 try testArgs(u1024, i64, 0);
2326 try testArgs(i8, u64, 0);
2327 try testArgs(i8, u64, 1 << 0);
2328 try testArgs(i8, u64, 1 << 63);
2329 try testArgs(i16, u64, 0);
2330 try testArgs(i16, u64, 1 << 0);
2331 try testArgs(i16, u64, 1 << 63);
2332 try testArgs(i32, u64, 0);
2333 try testArgs(i32, u64, 1 << 0);
2334 try testArgs(i32, u64, 1 << 63);
2335 try testArgs(i64, u64, 0);
2336 try testArgs(i64, u64, 1 << 0);
2337 try testArgs(i64, u64, 1 << 63);
2338 try testArgs(i128, u64, 0);
2339 try testArgs(i128, u64, 1 << 0);
2340 try testArgs(i128, u64, 1 << 63);
2341 try testArgs(i256, u64, 0);
2342 try testArgs(i256, u64, 1 << 0);
2343 try testArgs(i256, u64, 1 << 63);
2344 try testArgs(i512, u64, 0);
2345 try testArgs(i512, u64, 1 << 0);
2346 try testArgs(i512, u64, 1 << 63);
2347 try testArgs(i1024, u64, 0);
2348 try testArgs(i1024, u64, 1 << 0);
2349 try testArgs(i1024, u64, 1 << 63);
2350
2351 try testArgs(u8, i65, -1 << 64);
2352 try testArgs(u8, i65, -1);
2353 try testArgs(u8, i65, 0);
2354 try testArgs(u16, i65, -1 << 64);
2355 try testArgs(u16, i65, -1);
2356 try testArgs(u16, i65, 0);
2357 try testArgs(u32, i65, -1 << 64);
2358 try testArgs(u32, i65, -1);
2359 try testArgs(u32, i65, 0);
2360 try testArgs(u64, i65, -1 << 64);
2361 try testArgs(u64, i65, -1);
2362 try testArgs(u64, i65, 0);
2363 try testArgs(u128, i65, -1 << 64);
2364 try testArgs(u128, i65, -1);
2365 try testArgs(u128, i65, 0);
2366 try testArgs(u256, i65, -1 << 64);
2367 try testArgs(u256, i65, -1);
2368 try testArgs(u256, i65, 0);
2369 try testArgs(u512, i65, -1 << 64);
2370 try testArgs(u512, i65, -1);
2371 try testArgs(u512, i65, 0);
2372 try testArgs(u1024, i65, -1 << 64);
2373 try testArgs(u1024, i65, -1);
2374 try testArgs(u1024, i65, 0);
2375 try testArgs(i8, u65, 0);
2376 try testArgs(i8, u65, 1 << 0);
2377 try testArgs(i8, u65, 1 << 64);
2378 try testArgs(i16, u65, 0);
2379 try testArgs(i16, u65, 1 << 0);
2380 try testArgs(i16, u65, 1 << 64);
2381 try testArgs(i32, u65, 0);
2382 try testArgs(i32, u65, 1 << 0);
2383 try testArgs(i32, u65, 1 << 64);
2384 try testArgs(i64, u65, 0);
2385 try testArgs(i64, u65, 1 << 0);
2386 try testArgs(i64, u65, 1 << 64);
2387 try testArgs(i128, u65, 0);
2388 try testArgs(i128, u65, 1 << 0);
2389 try testArgs(i128, u65, 1 << 64);
2390 try testArgs(i256, u65, 0);
2391 try testArgs(i256, u65, 1 << 0);
2392 try testArgs(i256, u65, 1 << 64);
2393 try testArgs(i512, u65, 0);
2394 try testArgs(i512, u65, 1 << 0);
2395 try testArgs(i512, u65, 1 << 64);
2396 try testArgs(i1024, u65, 0);
2397 try testArgs(i1024, u65, 1 << 0);
2398 try testArgs(i1024, u65, 1 << 64);
2399
2400 try testArgs(u8, i95, -1 << 94);
2401 try testArgs(u8, i95, -1);
2402 try testArgs(u8, i95, 0);
2403 try testArgs(u16, i95, -1 << 94);
2404 try testArgs(u16, i95, -1);
2405 try testArgs(u16, i95, 0);
2406 try testArgs(u32, i95, -1 << 94);
2407 try testArgs(u32, i95, -1);
2408 try testArgs(u32, i95, 0);
2409 try testArgs(u64, i95, -1 << 94);
2410 try testArgs(u64, i95, -1);
2411 try testArgs(u64, i95, 0);
2412 try testArgs(u128, i95, -1 << 94);
2413 try testArgs(u128, i95, -1);
2414 try testArgs(u128, i95, 0);
2415 try testArgs(u256, i95, -1 << 94);
2416 try testArgs(u256, i95, -1);
2417 try testArgs(u256, i95, 0);
2418 try testArgs(u512, i95, -1 << 94);
2419 try testArgs(u512, i95, -1);
2420 try testArgs(u512, i95, 0);
2421 try testArgs(u1024, i95, -1 << 94);
2422 try testArgs(u1024, i95, -1);
2423 try testArgs(u1024, i95, 0);
2424 try testArgs(i8, u95, 0);
2425 try testArgs(i8, u95, 1 << 0);
2426 try testArgs(i8, u95, 1 << 94);
2427 try testArgs(i16, u95, 0);
2428 try testArgs(i16, u95, 1 << 0);
2429 try testArgs(i16, u95, 1 << 94);
2430 try testArgs(i32, u95, 0);
2431 try testArgs(i32, u95, 1 << 0);
2432 try testArgs(i32, u95, 1 << 94);
2433 try testArgs(i64, u95, 0);
2434 try testArgs(i64, u95, 1 << 0);
2435 try testArgs(i64, u95, 1 << 94);
2436 try testArgs(i128, u95, 0);
2437 try testArgs(i128, u95, 1 << 0);
2438 try testArgs(i128, u95, 1 << 94);
2439 try testArgs(i256, u95, 0);
2440 try testArgs(i256, u95, 1 << 0);
2441 try testArgs(i256, u95, 1 << 94);
2442 try testArgs(i512, u95, 0);
2443 try testArgs(i512, u95, 1 << 0);
2444 try testArgs(i512, u95, 1 << 94);
2445 try testArgs(i1024, u95, 0);
2446 try testArgs(i1024, u95, 1 << 0);
2447 try testArgs(i1024, u95, 1 << 94);
2448
2449 try testArgs(u8, i96, -1 << 95);
2450 try testArgs(u8, i96, -1);
2451 try testArgs(u8, i96, 0);
2452 try testArgs(u16, i96, -1 << 95);
2453 try testArgs(u16, i96, -1);
2454 try testArgs(u16, i96, 0);
2455 try testArgs(u32, i96, -1 << 95);
2456 try testArgs(u32, i96, -1);
2457 try testArgs(u32, i96, 0);
2458 try testArgs(u64, i96, -1 << 95);
2459 try testArgs(u64, i96, -1);
2460 try testArgs(u64, i96, 0);
2461 try testArgs(u128, i96, -1 << 95);
2462 try testArgs(u128, i96, -1);
2463 try testArgs(u128, i96, 0);
2464 try testArgs(u256, i96, -1 << 95);
2465 try testArgs(u256, i96, -1);
2466 try testArgs(u256, i96, 0);
2467 try testArgs(u512, i96, -1 << 95);
2468 try testArgs(u512, i96, -1);
2469 try testArgs(u512, i96, 0);
2470 try testArgs(u1024, i96, -1 << 95);
2471 try testArgs(u1024, i96, -1);
2472 try testArgs(u1024, i96, 0);
2473 try testArgs(i8, u96, 0);
2474 try testArgs(i8, u96, 1 << 0);
2475 try testArgs(i8, u96, 1 << 95);
2476 try testArgs(i16, u96, 0);
2477 try testArgs(i16, u96, 1 << 0);
2478 try testArgs(i16, u96, 1 << 95);
2479 try testArgs(i32, u96, 0);
2480 try testArgs(i32, u96, 1 << 0);
2481 try testArgs(i32, u96, 1 << 95);
2482 try testArgs(i64, u96, 0);
2483 try testArgs(i64, u96, 1 << 0);
2484 try testArgs(i64, u96, 1 << 95);
2485 try testArgs(i128, u96, 0);
2486 try testArgs(i128, u96, 1 << 0);
2487 try testArgs(i128, u96, 1 << 95);
2488 try testArgs(i256, u96, 0);
2489 try testArgs(i256, u96, 1 << 0);
2490 try testArgs(i256, u96, 1 << 95);
2491 try testArgs(i512, u96, 0);
2492 try testArgs(i512, u96, 1 << 0);
2493 try testArgs(i512, u96, 1 << 95);
2494 try testArgs(i1024, u96, 0);
2495 try testArgs(i1024, u96, 1 << 0);
2496 try testArgs(i1024, u96, 1 << 95);
2497
2498 try testArgs(u8, i97, -1 << 96);
2499 try testArgs(u8, i97, -1);
2500 try testArgs(u8, i97, 0);
2501 try testArgs(u16, i97, -1 << 96);
2502 try testArgs(u16, i97, -1);
2503 try testArgs(u16, i97, 0);
2504 try testArgs(u32, i97, -1 << 96);
2505 try testArgs(u32, i97, -1);
2506 try testArgs(u32, i97, 0);
2507 try testArgs(u64, i97, -1 << 96);
2508 try testArgs(u64, i97, -1);
2509 try testArgs(u64, i97, 0);
2510 try testArgs(u128, i97, -1 << 96);
2511 try testArgs(u128, i97, -1);
2512 try testArgs(u128, i97, 0);
2513 try testArgs(u256, i97, -1 << 96);
2514 try testArgs(u256, i97, -1);
2515 try testArgs(u256, i97, 0);
2516 try testArgs(u512, i97, -1 << 96);
2517 try testArgs(u512, i97, -1);
2518 try testArgs(u512, i97, 0);
2519 try testArgs(u1024, i97, -1 << 96);
2520 try testArgs(u1024, i97, -1);
2521 try testArgs(u1024, i97, 0);
2522 try testArgs(i8, u97, 0);
2523 try testArgs(i8, u97, 1 << 0);
2524 try testArgs(i8, u97, 1 << 96);
2525 try testArgs(i16, u97, 0);
2526 try testArgs(i16, u97, 1 << 0);
2527 try testArgs(i16, u97, 1 << 96);
2528 try testArgs(i32, u97, 0);
2529 try testArgs(i32, u97, 1 << 0);
2530 try testArgs(i32, u97, 1 << 96);
2531 try testArgs(i64, u97, 0);
2532 try testArgs(i64, u97, 1 << 0);
2533 try testArgs(i64, u97, 1 << 96);
2534 try testArgs(i128, u97, 0);
2535 try testArgs(i128, u97, 1 << 0);
2536 try testArgs(i128, u97, 1 << 96);
2537 try testArgs(i256, u97, 0);
2538 try testArgs(i256, u97, 1 << 0);
2539 try testArgs(i256, u97, 1 << 96);
2540 try testArgs(i512, u97, 0);
2541 try testArgs(i512, u97, 1 << 0);
2542 try testArgs(i512, u97, 1 << 96);
2543 try testArgs(i1024, u97, 0);
2544 try testArgs(i1024, u97, 1 << 0);
2545 try testArgs(i1024, u97, 1 << 96);
2546
2547 try testArgs(u8, i127, -1 << 126);
2548 try testArgs(u8, i127, -1);
2549 try testArgs(u8, i127, 0);
2550 try testArgs(u16, i127, -1 << 126);
2551 try testArgs(u16, i127, -1);
2552 try testArgs(u16, i127, 0);
2553 try testArgs(u32, i127, -1 << 126);
2554 try testArgs(u32, i127, -1);
2555 try testArgs(u32, i127, 0);
2556 try testArgs(u64, i127, -1 << 126);
2557 try testArgs(u64, i127, -1);
2558 try testArgs(u64, i127, 0);
2559 try testArgs(u128, i127, -1 << 126);
2560 try testArgs(u128, i127, -1);
2561 try testArgs(u128, i127, 0);
2562 try testArgs(u256, i127, -1 << 126);
2563 try testArgs(u256, i127, -1);
2564 try testArgs(u256, i127, 0);
2565 try testArgs(u512, i127, -1 << 126);
2566 try testArgs(u512, i127, -1);
2567 try testArgs(u512, i127, 0);
2568 try testArgs(u1024, i127, -1 << 126);
2569 try testArgs(u1024, i127, -1);
2570 try testArgs(u1024, i127, 0);
2571 try testArgs(i8, u127, 0);
2572 try testArgs(i8, u127, 1 << 0);
2573 try testArgs(i8, u127, 1 << 126);
2574 try testArgs(i16, u127, 0);
2575 try testArgs(i16, u127, 1 << 0);
2576 try testArgs(i16, u127, 1 << 126);
2577 try testArgs(i32, u127, 0);
2578 try testArgs(i32, u127, 1 << 0);
2579 try testArgs(i32, u127, 1 << 126);
2580 try testArgs(i64, u127, 0);
2581 try testArgs(i64, u127, 1 << 0);
2582 try testArgs(i64, u127, 1 << 126);
2583 try testArgs(i128, u127, 0);
2584 try testArgs(i128, u127, 1 << 0);
2585 try testArgs(i128, u127, 1 << 126);
2586 try testArgs(i256, u127, 0);
2587 try testArgs(i256, u127, 1 << 0);
2588 try testArgs(i256, u127, 1 << 126);
2589 try testArgs(i512, u127, 0);
2590 try testArgs(i512, u127, 1 << 0);
2591 try testArgs(i512, u127, 1 << 126);
2592 try testArgs(i1024, u127, 0);
2593 try testArgs(i1024, u127, 1 << 0);
2594 try testArgs(i1024, u127, 1 << 126);
2595
2596 try testArgs(u8, i128, -1 << 127);
2597 try testArgs(u8, i128, -1);
2598 try testArgs(u8, i128, 0);
2599 try testArgs(u16, i128, -1 << 127);
2600 try testArgs(u16, i128, -1);
2601 try testArgs(u16, i128, 0);
2602 try testArgs(u32, i128, -1 << 127);
2603 try testArgs(u32, i128, -1);
2604 try testArgs(u32, i128, 0);
2605 try testArgs(u64, i128, -1 << 127);
2606 try testArgs(u64, i128, -1);
2607 try testArgs(u64, i128, 0);
2608 try testArgs(u128, i128, -1 << 127);
2609 try testArgs(u128, i128, -1);
2610 try testArgs(u128, i128, 0);
2611 try testArgs(u256, i128, -1 << 127);
2612 try testArgs(u256, i128, -1);
2613 try testArgs(u256, i128, 0);
2614 try testArgs(u512, i128, -1 << 127);
2615 try testArgs(u512, i128, -1);
2616 try testArgs(u512, i128, 0);
2617 try testArgs(u1024, i128, -1 << 127);
2618 try testArgs(u1024, i128, -1);
2619 try testArgs(u1024, i128, 0);
2620 try testArgs(i8, u128, 0);
2621 try testArgs(i8, u128, 1 << 0);
2622 try testArgs(i8, u128, 1 << 127);
2623 try testArgs(i16, u128, 0);
2624 try testArgs(i16, u128, 1 << 0);
2625 try testArgs(i16, u128, 1 << 127);
2626 try testArgs(i32, u128, 0);
2627 try testArgs(i32, u128, 1 << 0);
2628 try testArgs(i32, u128, 1 << 127);
2629 try testArgs(i64, u128, 0);
2630 try testArgs(i64, u128, 1 << 0);
2631 try testArgs(i64, u128, 1 << 127);
2632 try testArgs(i128, u128, 0);
2633 try testArgs(i128, u128, 1 << 0);
2634 try testArgs(i128, u128, 1 << 127);
2635 try testArgs(i256, u128, 0);
2636 try testArgs(i256, u128, 1 << 0);
2637 try testArgs(i256, u128, 1 << 127);
2638 try testArgs(i512, u128, 0);
2639 try testArgs(i512, u128, 1 << 0);
2640 try testArgs(i512, u128, 1 << 127);
2641 try testArgs(i1024, u128, 0);
2642 try testArgs(i1024, u128, 1 << 0);
2643 try testArgs(i1024, u128, 1 << 127);
2644
2645 try testArgs(u8, i129, -1 << 128);
2646 try testArgs(u8, i129, -1);
2647 try testArgs(u8, i129, 0);
2648 try testArgs(u16, i129, -1 << 128);
2649 try testArgs(u16, i129, -1);
2650 try testArgs(u16, i129, 0);
2651 try testArgs(u32, i129, -1 << 128);
2652 try testArgs(u32, i129, -1);
2653 try testArgs(u32, i129, 0);
2654 try testArgs(u64, i129, -1 << 128);
2655 try testArgs(u64, i129, -1);
2656 try testArgs(u64, i129, 0);
2657 try testArgs(u128, i129, -1 << 128);
2658 try testArgs(u128, i129, -1);
2659 try testArgs(u128, i129, 0);
2660 try testArgs(u256, i129, -1 << 128);
2661 try testArgs(u256, i129, -1);
2662 try testArgs(u256, i129, 0);
2663 try testArgs(u512, i129, -1 << 128);
2664 try testArgs(u512, i129, -1);
2665 try testArgs(u512, i129, 0);
2666 try testArgs(u1024, i129, -1 << 128);
2667 try testArgs(u1024, i129, -1);
2668 try testArgs(u1024, i129, 0);
2669 try testArgs(i8, u129, 0);
2670 try testArgs(i8, u129, 1 << 0);
2671 try testArgs(i8, u129, 1 << 128);
2672 try testArgs(i16, u129, 0);
2673 try testArgs(i16, u129, 1 << 0);
2674 try testArgs(i16, u129, 1 << 128);
2675 try testArgs(i32, u129, 0);
2676 try testArgs(i32, u129, 1 << 0);
2677 try testArgs(i32, u129, 1 << 128);
2678 try testArgs(i64, u129, 0);
2679 try testArgs(i64, u129, 1 << 0);
2680 try testArgs(i64, u129, 1 << 128);
2681 try testArgs(i128, u129, 0);
2682 try testArgs(i128, u129, 1 << 0);
2683 try testArgs(i128, u129, 1 << 128);
2684 try testArgs(i256, u129, 0);
2685 try testArgs(i256, u129, 1 << 0);
2686 try testArgs(i256, u129, 1 << 128);
2687 try testArgs(i512, u129, 0);
2688 try testArgs(i512, u129, 1 << 0);
2689 try testArgs(i512, u129, 1 << 128);
2690 try testArgs(i1024, u129, 0);
2691 try testArgs(i1024, u129, 1 << 0);
2692 try testArgs(i1024, u129, 1 << 128);
2693
2694 try testArgs(u8, i255, -1 << 254);
2695 try testArgs(u8, i255, -1);
2696 try testArgs(u8, i255, 0);
2697 try testArgs(u16, i255, -1 << 254);
2698 try testArgs(u16, i255, -1);
2699 try testArgs(u16, i255, 0);
2700 try testArgs(u32, i255, -1 << 254);
2701 try testArgs(u32, i255, -1);
2702 try testArgs(u32, i255, 0);
2703 try testArgs(u64, i255, -1 << 254);
2704 try testArgs(u64, i255, -1);
2705 try testArgs(u64, i255, 0);
2706 try testArgs(u128, i255, -1 << 254);
2707 try testArgs(u128, i255, -1);
2708 try testArgs(u128, i255, 0);
2709 try testArgs(u256, i255, -1 << 254);
2710 try testArgs(u256, i255, -1);
2711 try testArgs(u256, i255, 0);
2712 try testArgs(u512, i255, -1 << 254);
2713 try testArgs(u512, i255, -1);
2714 try testArgs(u512, i255, 0);
2715 try testArgs(u1024, i255, -1 << 254);
2716 try testArgs(u1024, i255, -1);
2717 try testArgs(u1024, i255, 0);
2718 try testArgs(i8, u255, 0);
2719 try testArgs(i8, u255, 1 << 0);
2720 try testArgs(i8, u255, 1 << 254);
2721 try testArgs(i16, u255, 0);
2722 try testArgs(i16, u255, 1 << 0);
2723 try testArgs(i16, u255, 1 << 254);
2724 try testArgs(i32, u255, 0);
2725 try testArgs(i32, u255, 1 << 0);
2726 try testArgs(i32, u255, 1 << 254);
2727 try testArgs(i64, u255, 0);
2728 try testArgs(i64, u255, 1 << 0);
2729 try testArgs(i64, u255, 1 << 254);
2730 try testArgs(i128, u255, 0);
2731 try testArgs(i128, u255, 1 << 0);
2732 try testArgs(i128, u255, 1 << 254);
2733 try testArgs(i256, u255, 0);
2734 try testArgs(i256, u255, 1 << 0);
2735 try testArgs(i256, u255, 1 << 254);
2736 try testArgs(i512, u255, 0);
2737 try testArgs(i512, u255, 1 << 0);
2738 try testArgs(i512, u255, 1 << 254);
2739 try testArgs(i1024, u255, 0);
2740 try testArgs(i1024, u255, 1 << 0);
2741 try testArgs(i1024, u255, 1 << 254);
2742
2743 try testArgs(u8, i256, -1 << 255);
2744 try testArgs(u8, i256, -1);
2745 try testArgs(u8, i256, 0);
2746 try testArgs(u16, i256, -1 << 255);
2747 try testArgs(u16, i256, -1);
2748 try testArgs(u16, i256, 0);
2749 try testArgs(u32, i256, -1 << 255);
2750 try testArgs(u32, i256, -1);
2751 try testArgs(u32, i256, 0);
2752 try testArgs(u64, i256, -1 << 255);
2753 try testArgs(u64, i256, -1);
2754 try testArgs(u64, i256, 0);
2755 try testArgs(u128, i256, -1 << 255);
2756 try testArgs(u128, i256, -1);
2757 try testArgs(u128, i256, 0);
2758 try testArgs(u256, i256, -1 << 255);
2759 try testArgs(u256, i256, -1);
2760 try testArgs(u256, i256, 0);
2761 try testArgs(u512, i256, -1 << 255);
2762 try testArgs(u512, i256, -1);
2763 try testArgs(u512, i256, 0);
2764 try testArgs(u1024, i256, -1 << 255);
2765 try testArgs(u1024, i256, -1);
2766 try testArgs(u1024, i256, 0);
2767 try testArgs(i8, u256, 0);
2768 try testArgs(i8, u256, 1 << 0);
2769 try testArgs(i8, u256, 1 << 255);
2770 try testArgs(i16, u256, 0);
2771 try testArgs(i16, u256, 1 << 0);
2772 try testArgs(i16, u256, 1 << 255);
2773 try testArgs(i32, u256, 0);
2774 try testArgs(i32, u256, 1 << 0);
2775 try testArgs(i32, u256, 1 << 255);
2776 try testArgs(i64, u256, 0);
2777 try testArgs(i64, u256, 1 << 0);
2778 try testArgs(i64, u256, 1 << 255);
2779 try testArgs(i128, u256, 0);
2780 try testArgs(i128, u256, 1 << 0);
2781 try testArgs(i128, u256, 1 << 255);
2782 try testArgs(i256, u256, 0);
2783 try testArgs(i256, u256, 1 << 0);
2784 try testArgs(i256, u256, 1 << 255);
2785 try testArgs(i512, u256, 0);
2786 try testArgs(i512, u256, 1 << 0);
2787 try testArgs(i512, u256, 1 << 255);
2788 try testArgs(i1024, u256, 0);
2789 try testArgs(i1024, u256, 1 << 0);
2790 try testArgs(i1024, u256, 1 << 255);
2791
2792 try testArgs(u8, i257, -1 << 256);
2793 try testArgs(u8, i257, -1);
2794 try testArgs(u8, i257, 0);
2795 try testArgs(u16, i257, -1 << 256);
2796 try testArgs(u16, i257, -1);
2797 try testArgs(u16, i257, 0);
2798 try testArgs(u32, i257, -1 << 256);
2799 try testArgs(u32, i257, -1);
2800 try testArgs(u32, i257, 0);
2801 try testArgs(u64, i257, -1 << 256);
2802 try testArgs(u64, i257, -1);
2803 try testArgs(u64, i257, 0);
2804 try testArgs(u128, i257, -1 << 256);
2805 try testArgs(u128, i257, -1);
2806 try testArgs(u128, i257, 0);
2807 try testArgs(u256, i257, -1 << 256);
2808 try testArgs(u256, i257, -1);
2809 try testArgs(u256, i257, 0);
2810 try testArgs(u512, i257, -1 << 256);
2811 try testArgs(u512, i257, -1);
2812 try testArgs(u512, i257, 0);
2813 try testArgs(u1024, i257, -1 << 256);
2814 try testArgs(u1024, i257, -1);
2815 try testArgs(u1024, i257, 0);
2816 try testArgs(i8, u257, 0);
2817 try testArgs(i8, u257, 1 << 0);
2818 try testArgs(i8, u257, 1 << 256);
2819 try testArgs(i16, u257, 0);
2820 try testArgs(i16, u257, 1 << 0);
2821 try testArgs(i16, u257, 1 << 256);
2822 try testArgs(i32, u257, 0);
2823 try testArgs(i32, u257, 1 << 0);
2824 try testArgs(i32, u257, 1 << 256);
2825 try testArgs(i64, u257, 0);
2826 try testArgs(i64, u257, 1 << 0);
2827 try testArgs(i64, u257, 1 << 256);
2828 try testArgs(i128, u257, 0);
2829 try testArgs(i128, u257, 1 << 0);
2830 try testArgs(i128, u257, 1 << 256);
2831 try testArgs(i256, u257, 0);
2832 try testArgs(i256, u257, 1 << 0);
2833 try testArgs(i256, u257, 1 << 256);
2834 try testArgs(i512, u257, 0);
2835 try testArgs(i512, u257, 1 << 0);
2836 try testArgs(i512, u257, 1 << 256);
2837 try testArgs(i1024, u257, 0);
2838 try testArgs(i1024, u257, 1 << 0);
2839 try testArgs(i1024, u257, 1 << 256);
2840
2841 try testArgs(u8, i511, -1 << 510);
2842 try testArgs(u8, i511, -1);
2843 try testArgs(u8, i511, 0);
2844 try testArgs(u16, i511, -1 << 510);
2845 try testArgs(u16, i511, -1);
2846 try testArgs(u16, i511, 0);
2847 try testArgs(u32, i511, -1 << 510);
2848 try testArgs(u32, i511, -1);
2849 try testArgs(u32, i511, 0);
2850 try testArgs(u64, i511, -1 << 510);
2851 try testArgs(u64, i511, -1);
2852 try testArgs(u64, i511, 0);
2853 try testArgs(u128, i511, -1 << 510);
2854 try testArgs(u128, i511, -1);
2855 try testArgs(u128, i511, 0);
2856 try testArgs(u256, i511, -1 << 510);
2857 try testArgs(u256, i511, -1);
2858 try testArgs(u256, i511, 0);
2859 try testArgs(u512, i511, -1 << 510);
2860 try testArgs(u512, i511, -1);
2861 try testArgs(u512, i511, 0);
2862 try testArgs(u1024, i511, -1 << 510);
2863 try testArgs(u1024, i511, -1);
2864 try testArgs(u1024, i511, 0);
2865 try testArgs(i8, u511, 0);
2866 try testArgs(i8, u511, 1 << 0);
2867 try testArgs(i8, u511, 1 << 510);
2868 try testArgs(i16, u511, 0);
2869 try testArgs(i16, u511, 1 << 0);
2870 try testArgs(i16, u511, 1 << 510);
2871 try testArgs(i32, u511, 0);
2872 try testArgs(i32, u511, 1 << 0);
2873 try testArgs(i32, u511, 1 << 510);
2874 try testArgs(i64, u511, 0);
2875 try testArgs(i64, u511, 1 << 0);
2876 try testArgs(i64, u511, 1 << 510);
2877 try testArgs(i128, u511, 0);
2878 try testArgs(i128, u511, 1 << 0);
2879 try testArgs(i128, u511, 1 << 510);
2880 try testArgs(i256, u511, 0);
2881 try testArgs(i256, u511, 1 << 0);
2882 try testArgs(i256, u511, 1 << 510);
2883 try testArgs(i512, u511, 0);
2884 try testArgs(i512, u511, 1 << 0);
2885 try testArgs(i512, u511, 1 << 510);
2886 try testArgs(i1024, u511, 0);
2887 try testArgs(i1024, u511, 1 << 0);
2888 try testArgs(i1024, u511, 1 << 510);
2889
2890 try testArgs(u8, i512, -1 << 511);
2891 try testArgs(u8, i512, -1);
2892 try testArgs(u8, i512, 0);
2893 try testArgs(u16, i512, -1 << 511);
2894 try testArgs(u16, i512, -1);
2895 try testArgs(u16, i512, 0);
2896 try testArgs(u32, i512, -1 << 511);
2897 try testArgs(u32, i512, -1);
2898 try testArgs(u32, i512, 0);
2899 try testArgs(u64, i512, -1 << 511);
2900 try testArgs(u64, i512, -1);
2901 try testArgs(u64, i512, 0);
2902 try testArgs(u128, i512, -1 << 511);
2903 try testArgs(u128, i512, -1);
2904 try testArgs(u128, i512, 0);
2905 try testArgs(u256, i512, -1 << 511);
2906 try testArgs(u256, i512, -1);
2907 try testArgs(u256, i512, 0);
2908 try testArgs(u512, i512, -1 << 511);
2909 try testArgs(u512, i512, -1);
2910 try testArgs(u512, i512, 0);
2911 try testArgs(u1024, i512, -1 << 511);
2912 try testArgs(u1024, i512, -1);
2913 try testArgs(u1024, i512, 0);
2914 try testArgs(i8, u512, 0);
2915 try testArgs(i8, u512, 1 << 0);
2916 try testArgs(i8, u512, 1 << 511);
2917 try testArgs(i16, u512, 0);
2918 try testArgs(i16, u512, 1 << 0);
2919 try testArgs(i16, u512, 1 << 511);
2920 try testArgs(i32, u512, 0);
2921 try testArgs(i32, u512, 1 << 0);
2922 try testArgs(i32, u512, 1 << 511);
2923 try testArgs(i64, u512, 0);
2924 try testArgs(i64, u512, 1 << 0);
2925 try testArgs(i64, u512, 1 << 511);
2926 try testArgs(i128, u512, 0);
2927 try testArgs(i128, u512, 1 << 0);
2928 try testArgs(i128, u512, 1 << 511);
2929 try testArgs(i256, u512, 0);
2930 try testArgs(i256, u512, 1 << 0);
2931 try testArgs(i256, u512, 1 << 511);
2932 try testArgs(i512, u512, 0);
2933 try testArgs(i512, u512, 1 << 0);
2934 try testArgs(i512, u512, 1 << 511);
2935 try testArgs(i1024, u512, 0);
2936 try testArgs(i1024, u512, 1 << 0);
2937 try testArgs(i1024, u512, 1 << 511);
2938
2939 try testArgs(u8, i513, -1 << 512);
2940 try testArgs(u8, i513, -1);
2941 try testArgs(u8, i513, 0);
2942 try testArgs(u16, i513, -1 << 512);
2943 try testArgs(u16, i513, -1);
2944 try testArgs(u16, i513, 0);
2945 try testArgs(u32, i513, -1 << 512);
2946 try testArgs(u32, i513, -1);
2947 try testArgs(u32, i513, 0);
2948 try testArgs(u64, i513, -1 << 512);
2949 try testArgs(u64, i513, -1);
2950 try testArgs(u64, i513, 0);
2951 try testArgs(u128, i513, -1 << 512);
2952 try testArgs(u128, i513, -1);
2953 try testArgs(u128, i513, 0);
2954 try testArgs(u256, i513, -1 << 512);
2955 try testArgs(u256, i513, -1);
2956 try testArgs(u256, i513, 0);
2957 try testArgs(u512, i513, -1 << 512);
2958 try testArgs(u512, i513, -1);
2959 try testArgs(u512, i513, 0);
2960 try testArgs(u1024, i513, -1 << 512);
2961 try testArgs(u1024, i513, -1);
2962 try testArgs(u1024, i513, 0);
2963 try testArgs(i8, u513, 0);
2964 try testArgs(i8, u513, 1 << 0);
2965 try testArgs(i8, u513, 1 << 512);
2966 try testArgs(i16, u513, 0);
2967 try testArgs(i16, u513, 1 << 0);
2968 try testArgs(i16, u513, 1 << 512);
2969 try testArgs(i32, u513, 0);
2970 try testArgs(i32, u513, 1 << 0);
2971 try testArgs(i32, u513, 1 << 512);
2972 try testArgs(i64, u513, 0);
2973 try testArgs(i64, u513, 1 << 0);
2974 try testArgs(i64, u513, 1 << 512);
2975 try testArgs(i128, u513, 0);
2976 try testArgs(i128, u513, 1 << 0);
2977 try testArgs(i128, u513, 1 << 512);
2978 try testArgs(i256, u513, 0);
2979 try testArgs(i256, u513, 1 << 0);
2980 try testArgs(i256, u513, 1 << 512);
2981 try testArgs(i512, u513, 0);
2982 try testArgs(i512, u513, 1 << 0);
2983 try testArgs(i512, u513, 1 << 512);
2984 try testArgs(i1024, u513, 0);
2985 try testArgs(i1024, u513, 1 << 0);
2986 try testArgs(i1024, u513, 1 << 512);
2987
2988 try testArgs(u8, i1023, -1 << 1022);
2989 try testArgs(u8, i1023, -1);
2990 try testArgs(u8, i1023, 0);
2991 try testArgs(u16, i1023, -1 << 1022);
2992 try testArgs(u16, i1023, -1);
2993 try testArgs(u16, i1023, 0);
2994 try testArgs(u32, i1023, -1 << 1022);
2995 try testArgs(u32, i1023, -1);
2996 try testArgs(u32, i1023, 0);
2997 try testArgs(u64, i1023, -1 << 1022);
2998 try testArgs(u64, i1023, -1);
2999 try testArgs(u64, i1023, 0);
3000 try testArgs(u128, i1023, -1 << 1022);
3001 try testArgs(u128, i1023, -1);
3002 try testArgs(u128, i1023, 0);
3003 try testArgs(u256, i1023, -1 << 1022);
3004 try testArgs(u256, i1023, -1);
3005 try testArgs(u256, i1023, 0);
3006 try testArgs(u512, i1023, -1 << 1022);
3007 try testArgs(u512, i1023, -1);
3008 try testArgs(u512, i1023, 0);
3009 try testArgs(u1024, i1023, -1 << 1022);
3010 try testArgs(u1024, i1023, -1);
3011 try testArgs(u1024, i1023, 0);
3012 try testArgs(i8, u1023, 0);
3013 try testArgs(i8, u1023, 1 << 0);
3014 try testArgs(i8, u1023, 1 << 1022);
3015 try testArgs(i16, u1023, 0);
3016 try testArgs(i16, u1023, 1 << 0);
3017 try testArgs(i16, u1023, 1 << 1022);
3018 try testArgs(i32, u1023, 0);
3019 try testArgs(i32, u1023, 1 << 0);
3020 try testArgs(i32, u1023, 1 << 1022);
3021 try testArgs(i64, u1023, 0);
3022 try testArgs(i64, u1023, 1 << 0);
3023 try testArgs(i64, u1023, 1 << 1022);
3024 try testArgs(i128, u1023, 0);
3025 try testArgs(i128, u1023, 1 << 0);
3026 try testArgs(i128, u1023, 1 << 1022);
3027 try testArgs(i256, u1023, 0);
3028 try testArgs(i256, u1023, 1 << 0);
3029 try testArgs(i256, u1023, 1 << 1022);
3030 try testArgs(i512, u1023, 0);
3031 try testArgs(i512, u1023, 1 << 0);
3032 try testArgs(i512, u1023, 1 << 1022);
3033 try testArgs(i1024, u1023, 0);
3034 try testArgs(i1024, u1023, 1 << 0);
3035 try testArgs(i1024, u1023, 1 << 1022);
3036
3037 try testArgs(u8, i1024, -1 << 1023);
3038 try testArgs(u8, i1024, -1);
3039 try testArgs(u8, i1024, 0);
3040 try testArgs(u16, i1024, -1 << 1023);
3041 try testArgs(u16, i1024, -1);
3042 try testArgs(u16, i1024, 0);
3043 try testArgs(u32, i1024, -1 << 1023);
3044 try testArgs(u32, i1024, -1);
3045 try testArgs(u32, i1024, 0);
3046 try testArgs(u64, i1024, -1 << 1023);
3047 try testArgs(u64, i1024, -1);
3048 try testArgs(u64, i1024, 0);
3049 try testArgs(u128, i1024, -1 << 1023);
3050 try testArgs(u128, i1024, -1);
3051 try testArgs(u128, i1024, 0);
3052 try testArgs(u256, i1024, -1 << 1023);
3053 try testArgs(u256, i1024, -1);
3054 try testArgs(u256, i1024, 0);
3055 try testArgs(u512, i1024, -1 << 1023);
3056 try testArgs(u512, i1024, -1);
3057 try testArgs(u512, i1024, 0);
3058 try testArgs(u1024, i1024, -1 << 1023);
3059 try testArgs(u1024, i1024, -1);
3060 try testArgs(u1024, i1024, 0);
3061 try testArgs(i8, u1024, 0);
3062 try testArgs(i8, u1024, 1 << 0);
3063 try testArgs(i8, u1024, 1 << 1023);
3064 try testArgs(i16, u1024, 0);
3065 try testArgs(i16, u1024, 1 << 0);
3066 try testArgs(i16, u1024, 1 << 1023);
3067 try testArgs(i32, u1024, 0);
3068 try testArgs(i32, u1024, 1 << 0);
3069 try testArgs(i32, u1024, 1 << 1023);
3070 try testArgs(i64, u1024, 0);
3071 try testArgs(i64, u1024, 1 << 0);
3072 try testArgs(i64, u1024, 1 << 1023);
3073 try testArgs(i128, u1024, 0);
3074 try testArgs(i128, u1024, 1 << 0);
3075 try testArgs(i128, u1024, 1 << 1023);
3076 try testArgs(i256, u1024, 0);
3077 try testArgs(i256, u1024, 1 << 0);
3078 try testArgs(i256, u1024, 1 << 1023);
3079 try testArgs(i512, u1024, 0);
3080 try testArgs(i512, u1024, 1 << 0);
3081 try testArgs(i512, u1024, 1 << 1023);
3082 try testArgs(i1024, u1024, 0);
3083 try testArgs(i1024, u1024, 1 << 0);
3084 try testArgs(i1024, u1024, 1 << 1023);
3085
3086 try testArgs(u8, i1025, -1 << 1024);
3087 try testArgs(u8, i1025, -1);
3088 try testArgs(u8, i1025, 0);
3089 try testArgs(u16, i1025, -1 << 1024);
3090 try testArgs(u16, i1025, -1);
3091 try testArgs(u16, i1025, 0);
3092 try testArgs(u32, i1025, -1 << 1024);
3093 try testArgs(u32, i1025, -1);
3094 try testArgs(u32, i1025, 0);
3095 try testArgs(u64, i1025, -1 << 1024);
3096 try testArgs(u64, i1025, -1);
3097 try testArgs(u64, i1025, 0);
3098 try testArgs(u128, i1025, -1 << 1024);
3099 try testArgs(u128, i1025, -1);
3100 try testArgs(u128, i1025, 0);
3101 try testArgs(u256, i1025, -1 << 1024);
3102 try testArgs(u256, i1025, -1);
3103 try testArgs(u256, i1025, 0);
3104 try testArgs(u512, i1025, -1 << 1024);
3105 try testArgs(u512, i1025, -1);
3106 try testArgs(u512, i1025, 0);
3107 try testArgs(u1024, i1025, -1 << 1024);
3108 try testArgs(u1024, i1025, -1);
3109 try testArgs(u1024, i1025, 0);
3110 try testArgs(i8, u1025, 0);
3111 try testArgs(i8, u1025, 1 << 0);
3112 try testArgs(i8, u1025, 1 << 1024);
3113 try testArgs(i16, u1025, 0);
3114 try testArgs(i16, u1025, 1 << 0);
3115 try testArgs(i16, u1025, 1 << 1024);
3116 try testArgs(i32, u1025, 0);
3117 try testArgs(i32, u1025, 1 << 0);
3118 try testArgs(i32, u1025, 1 << 1024);
3119 try testArgs(i64, u1025, 0);
3120 try testArgs(i64, u1025, 1 << 0);
3121 try testArgs(i64, u1025, 1 << 1024);
3122 try testArgs(i128, u1025, 0);
3123 try testArgs(i128, u1025, 1 << 0);
3124 try testArgs(i128, u1025, 1 << 1024);
3125 try testArgs(i256, u1025, 0);
3126 try testArgs(i256, u1025, 1 << 0);
3127 try testArgs(i256, u1025, 1 << 1024);
3128 try testArgs(i512, u1025, 0);
3129 try testArgs(i512, u1025, 1 << 0);
3130 try testArgs(i512, u1025, 1 << 1024);
3131 try testArgs(i1024, u1025, 0);
3132 try testArgs(i1024, u1025, 1 << 0);
3133 try testArgs(i1024, u1025, 1 << 1024);
3134 }
3135 fn testFloats() !void {
3136 @setEvalBranchQuota(3_100);
3137
3138 try testArgs(f16, f16, -nan(f16));
3139 try testArgs(f16, f16, -inf(f16));
3140 try testArgs(f16, f16, -fmax(f16));
3141 try testArgs(f16, f16, -1e1);
3142 try testArgs(f16, f16, -1e0);
3143 try testArgs(f16, f16, -1e-1);
3144 try testArgs(f16, f16, -fmin(f16));
3145 try testArgs(f16, f16, -tmin(f16));
3146 try testArgs(f16, f16, -0.0);
3147 try testArgs(f16, f16, 0.0);
3148 try testArgs(f16, f16, tmin(f16));
3149 try testArgs(f16, f16, fmin(f16));
3150 try testArgs(f16, f16, 1e-1);
3151 try testArgs(f16, f16, 1e0);
3152 try testArgs(f16, f16, 1e1);
3153 try testArgs(f16, f16, fmax(f16));
3154 try testArgs(f16, f16, inf(f16));
3155 try testArgs(f16, f16, nan(f16));
3156
3157 try testArgs(f32, f16, -nan(f16));
3158 try testArgs(f32, f16, -inf(f16));
3159 try testArgs(f32, f16, -fmax(f16));
3160 try testArgs(f32, f16, -1e1);
3161 try testArgs(f32, f16, -1e0);
3162 try testArgs(f32, f16, -1e-1);
3163 try testArgs(f32, f16, -fmin(f16));
3164 try testArgs(f32, f16, -tmin(f16));
3165 try testArgs(f32, f16, -0.0);
3166 try testArgs(f32, f16, 0.0);
3167 try testArgs(f32, f16, tmin(f16));
3168 try testArgs(f32, f16, fmin(f16));
3169 try testArgs(f32, f16, 1e-1);
3170 try testArgs(f32, f16, 1e0);
3171 try testArgs(f32, f16, 1e1);
3172 try testArgs(f32, f16, fmax(f16));
3173 try testArgs(f32, f16, inf(f16));
3174 try testArgs(f32, f16, nan(f16));
3175
3176 try testArgs(f64, f16, -nan(f16));
3177 try testArgs(f64, f16, -inf(f16));
3178 try testArgs(f64, f16, -fmax(f16));
3179 try testArgs(f64, f16, -1e1);
3180 try testArgs(f64, f16, -1e0);
3181 try testArgs(f64, f16, -1e-1);
3182 try testArgs(f64, f16, -fmin(f16));
3183 try testArgs(f64, f16, -tmin(f16));
3184 try testArgs(f64, f16, -0.0);
3185 try testArgs(f64, f16, 0.0);
3186 try testArgs(f64, f16, tmin(f16));
3187 try testArgs(f64, f16, fmin(f16));
3188 try testArgs(f64, f16, 1e-1);
3189 try testArgs(f64, f16, 1e0);
3190 try testArgs(f64, f16, 1e1);
3191 try testArgs(f64, f16, fmax(f16));
3192 try testArgs(f64, f16, inf(f16));
3193 try testArgs(f64, f16, nan(f16));
3194
3195 try testArgs(f80, f16, -nan(f16));
3196 try testArgs(f80, f16, -inf(f16));
3197 try testArgs(f80, f16, -fmax(f16));
3198 try testArgs(f80, f16, -1e1);
3199 try testArgs(f80, f16, -1e0);
3200 try testArgs(f80, f16, -1e-1);
3201 try testArgs(f80, f16, -fmin(f16));
3202 try testArgs(f80, f16, -tmin(f16));
3203 try testArgs(f80, f16, -0.0);
3204 try testArgs(f80, f16, 0.0);
3205 try testArgs(f80, f16, tmin(f16));
3206 try testArgs(f80, f16, fmin(f16));
3207 try testArgs(f80, f16, 1e-1);
3208 try testArgs(f80, f16, 1e0);
3209 try testArgs(f80, f16, 1e1);
3210 try testArgs(f80, f16, fmax(f16));
3211 try testArgs(f80, f16, inf(f16));
3212 try testArgs(f80, f16, nan(f16));
3213
3214 try testArgs(f128, f16, -nan(f16));
3215 try testArgs(f128, f16, -inf(f16));
3216 try testArgs(f128, f16, -fmax(f16));
3217 try testArgs(f128, f16, -1e1);
3218 try testArgs(f128, f16, -1e0);
3219 try testArgs(f128, f16, -1e-1);
3220 try testArgs(f128, f16, -fmin(f16));
3221 try testArgs(f128, f16, -tmin(f16));
3222 try testArgs(f128, f16, -0.0);
3223 try testArgs(f128, f16, 0.0);
3224 try testArgs(f128, f16, tmin(f16));
3225 try testArgs(f128, f16, fmin(f16));
3226 try testArgs(f128, f16, 1e-1);
3227 try testArgs(f128, f16, 1e0);
3228 try testArgs(f128, f16, 1e1);
3229 try testArgs(f128, f16, fmax(f16));
3230 try testArgs(f128, f16, inf(f16));
3231 try testArgs(f128, f16, nan(f16));
3232
3233 try testArgs(f16, f32, -nan(f32));
3234 try testArgs(f16, f32, -inf(f32));
3235 try testArgs(f16, f32, -fmax(f32));
3236 try testArgs(f16, f32, -1e1);
3237 try testArgs(f16, f32, -1e0);
3238 try testArgs(f16, f32, -1e-1);
3239 try testArgs(f16, f32, -fmin(f32));
3240 try testArgs(f16, f32, -tmin(f32));
3241 try testArgs(f16, f32, -0.0);
3242 try testArgs(f16, f32, 0.0);
3243 try testArgs(f16, f32, tmin(f32));
3244 try testArgs(f16, f32, fmin(f32));
3245 try testArgs(f16, f32, 1e-1);
3246 try testArgs(f16, f32, 1e0);
3247 try testArgs(f16, f32, 1e1);
3248 try testArgs(f16, f32, fmax(f32));
3249 try testArgs(f16, f32, inf(f32));
3250 try testArgs(f16, f32, nan(f32));
3251
3252 try testArgs(f32, f32, -nan(f32));
3253 try testArgs(f32, f32, -inf(f32));
3254 try testArgs(f32, f32, -fmax(f32));
3255 try testArgs(f32, f32, -1e1);
3256 try testArgs(f32, f32, -1e0);
3257 try testArgs(f32, f32, -1e-1);
3258 try testArgs(f32, f32, -fmin(f32));
3259 try testArgs(f32, f32, -tmin(f32));
3260 try testArgs(f32, f32, -0.0);
3261 try testArgs(f32, f32, 0.0);
3262 try testArgs(f32, f32, tmin(f32));
3263 try testArgs(f32, f32, fmin(f32));
3264 try testArgs(f32, f32, 1e-1);
3265 try testArgs(f32, f32, 1e0);
3266 try testArgs(f32, f32, 1e1);
3267 try testArgs(f32, f32, fmax(f32));
3268 try testArgs(f32, f32, inf(f32));
3269 try testArgs(f32, f32, nan(f32));
3270
3271 try testArgs(f64, f32, -nan(f32));
3272 try testArgs(f64, f32, -inf(f32));
3273 try testArgs(f64, f32, -fmax(f32));
3274 try testArgs(f64, f32, -1e1);
3275 try testArgs(f64, f32, -1e0);
3276 try testArgs(f64, f32, -1e-1);
3277 try testArgs(f64, f32, -fmin(f32));
3278 try testArgs(f64, f32, -tmin(f32));
3279 try testArgs(f64, f32, -0.0);
3280 try testArgs(f64, f32, 0.0);
3281 try testArgs(f64, f32, tmin(f32));
3282 try testArgs(f64, f32, fmin(f32));
3283 try testArgs(f64, f32, 1e-1);
3284 try testArgs(f64, f32, 1e0);
3285 try testArgs(f64, f32, 1e1);
3286 try testArgs(f64, f32, fmax(f32));
3287 try testArgs(f64, f32, inf(f32));
3288 try testArgs(f64, f32, nan(f32));
3289
3290 try testArgs(f80, f32, -nan(f32));
3291 try testArgs(f80, f32, -inf(f32));
3292 try testArgs(f80, f32, -fmax(f32));
3293 try testArgs(f80, f32, -1e1);
3294 try testArgs(f80, f32, -1e0);
3295 try testArgs(f80, f32, -1e-1);
3296 try testArgs(f80, f32, -fmin(f32));
3297 try testArgs(f80, f32, -tmin(f32));
3298 try testArgs(f80, f32, -0.0);
3299 try testArgs(f80, f32, 0.0);
3300 try testArgs(f80, f32, tmin(f32));
3301 try testArgs(f80, f32, fmin(f32));
3302 try testArgs(f80, f32, 1e-1);
3303 try testArgs(f80, f32, 1e0);
3304 try testArgs(f80, f32, 1e1);
3305 try testArgs(f80, f32, fmax(f32));
3306 try testArgs(f80, f32, inf(f32));
3307 try testArgs(f80, f32, nan(f32));
3308
3309 try testArgs(f128, f32, -nan(f32));
3310 try testArgs(f128, f32, -inf(f32));
3311 try testArgs(f128, f32, -fmax(f32));
3312 try testArgs(f128, f32, -1e1);
3313 try testArgs(f128, f32, -1e0);
3314 try testArgs(f128, f32, -1e-1);
3315 try testArgs(f128, f32, -fmin(f32));
3316 try testArgs(f128, f32, -tmin(f32));
3317 try testArgs(f128, f32, -0.0);
3318 try testArgs(f128, f32, 0.0);
3319 try testArgs(f128, f32, tmin(f32));
3320 try testArgs(f128, f32, fmin(f32));
3321 try testArgs(f128, f32, 1e-1);
3322 try testArgs(f128, f32, 1e0);
3323 try testArgs(f128, f32, 1e1);
3324 try testArgs(f128, f32, fmax(f32));
3325 try testArgs(f128, f32, inf(f32));
3326 try testArgs(f128, f32, nan(f32));
3327
3328 try testArgs(f16, f64, -nan(f64));
3329 try testArgs(f16, f64, -inf(f64));
3330 try testArgs(f16, f64, -fmax(f64));
3331 try testArgs(f16, f64, -1e1);
3332 try testArgs(f16, f64, -1e0);
3333 try testArgs(f16, f64, -1e-1);
3334 try testArgs(f16, f64, -fmin(f64));
3335 try testArgs(f16, f64, -tmin(f64));
3336 try testArgs(f16, f64, -0.0);
3337 try testArgs(f16, f64, 0.0);
3338 try testArgs(f16, f64, tmin(f64));
3339 try testArgs(f16, f64, fmin(f64));
3340 try testArgs(f16, f64, 1e-1);
3341 try testArgs(f16, f64, 1e0);
3342 try testArgs(f16, f64, 1e1);
3343 try testArgs(f16, f64, fmax(f64));
3344 try testArgs(f16, f64, inf(f64));
3345 try testArgs(f16, f64, nan(f64));
3346
3347 try testArgs(f32, f64, -nan(f64));
3348 try testArgs(f32, f64, -inf(f64));
3349 try testArgs(f32, f64, -fmax(f64));
3350 try testArgs(f32, f64, -1e1);
3351 try testArgs(f32, f64, -1e0);
3352 try testArgs(f32, f64, -1e-1);
3353 try testArgs(f32, f64, -fmin(f64));
3354 try testArgs(f32, f64, -tmin(f64));
3355 try testArgs(f32, f64, -0.0);
3356 try testArgs(f32, f64, 0.0);
3357 try testArgs(f32, f64, tmin(f64));
3358 try testArgs(f32, f64, fmin(f64));
3359 try testArgs(f32, f64, 1e-1);
3360 try testArgs(f32, f64, 1e0);
3361 try testArgs(f32, f64, 1e1);
3362 try testArgs(f32, f64, fmax(f64));
3363 try testArgs(f32, f64, inf(f64));
3364 try testArgs(f32, f64, nan(f64));
3365
3366 try testArgs(f64, f64, -nan(f64));
3367 try testArgs(f64, f64, -inf(f64));
3368 try testArgs(f64, f64, -fmax(f64));
3369 try testArgs(f64, f64, -1e1);
3370 try testArgs(f64, f64, -1e0);
3371 try testArgs(f64, f64, -1e-1);
3372 try testArgs(f64, f64, -fmin(f64));
3373 try testArgs(f64, f64, -tmin(f64));
3374 try testArgs(f64, f64, -0.0);
3375 try testArgs(f64, f64, 0.0);
3376 try testArgs(f64, f64, tmin(f64));
3377 try testArgs(f64, f64, fmin(f64));
3378 try testArgs(f64, f64, 1e-1);
3379 try testArgs(f64, f64, 1e0);
3380 try testArgs(f64, f64, 1e1);
3381 try testArgs(f64, f64, fmax(f64));
3382 try testArgs(f64, f64, inf(f64));
3383 try testArgs(f64, f64, nan(f64));
3384
3385 try testArgs(f80, f64, -nan(f64));
3386 try testArgs(f80, f64, -inf(f64));
3387 try testArgs(f80, f64, -fmax(f64));
3388 try testArgs(f80, f64, -1e1);
3389 try testArgs(f80, f64, -1e0);
3390 try testArgs(f80, f64, -1e-1);
3391 try testArgs(f80, f64, -fmin(f64));
3392 try testArgs(f80, f64, -tmin(f64));
3393 try testArgs(f80, f64, -0.0);
3394 try testArgs(f80, f64, 0.0);
3395 try testArgs(f80, f64, tmin(f64));
3396 try testArgs(f80, f64, fmin(f64));
3397 try testArgs(f80, f64, 1e-1);
3398 try testArgs(f80, f64, 1e0);
3399 try testArgs(f80, f64, 1e1);
3400 try testArgs(f80, f64, fmax(f64));
3401 try testArgs(f80, f64, inf(f64));
3402 try testArgs(f80, f64, nan(f64));
3403
3404 try testArgs(f128, f64, -nan(f64));
3405 try testArgs(f128, f64, -inf(f64));
3406 try testArgs(f128, f64, -fmax(f64));
3407 try testArgs(f128, f64, -1e1);
3408 try testArgs(f128, f64, -1e0);
3409 try testArgs(f128, f64, -1e-1);
3410 try testArgs(f128, f64, -fmin(f64));
3411 try testArgs(f128, f64, -tmin(f64));
3412 try testArgs(f128, f64, -0.0);
3413 try testArgs(f128, f64, 0.0);
3414 try testArgs(f128, f64, tmin(f64));
3415 try testArgs(f128, f64, fmin(f64));
3416 try testArgs(f128, f64, 1e-1);
3417 try testArgs(f128, f64, 1e0);
3418 try testArgs(f128, f64, 1e1);
3419 try testArgs(f128, f64, fmax(f64));
3420 try testArgs(f128, f64, inf(f64));
3421 try testArgs(f128, f64, nan(f64));
3422
3423 try testArgs(f16, f80, -nan(f80));
3424 try testArgs(f16, f80, -inf(f80));
3425 try testArgs(f16, f80, -fmax(f80));
3426 try testArgs(f16, f80, -1e1);
3427 try testArgs(f16, f80, -1e0);
3428 try testArgs(f16, f80, -1e-1);
3429 try testArgs(f16, f80, -fmin(f80));
3430 try testArgs(f16, f80, -tmin(f80));
3431 try testArgs(f16, f80, -0.0);
3432 try testArgs(f16, f80, 0.0);
3433 try testArgs(f16, f80, tmin(f80));
3434 try testArgs(f16, f80, fmin(f80));
3435 try testArgs(f16, f80, 1e-1);
3436 try testArgs(f16, f80, 1e0);
3437 try testArgs(f16, f80, 1e1);
3438 try testArgs(f16, f80, fmax(f80));
3439 try testArgs(f16, f80, inf(f80));
3440 try testArgs(f16, f80, nan(f80));
3441
3442 try testArgs(f32, f80, -nan(f80));
3443 try testArgs(f32, f80, -inf(f80));
3444 try testArgs(f32, f80, -fmax(f80));
3445 try testArgs(f32, f80, -1e1);
3446 try testArgs(f32, f80, -1e0);
3447 try testArgs(f32, f80, -1e-1);
3448 try testArgs(f32, f80, -fmin(f80));
3449 try testArgs(f32, f80, -tmin(f80));
3450 try testArgs(f32, f80, -0.0);
3451 try testArgs(f32, f80, 0.0);
3452 try testArgs(f32, f80, tmin(f80));
3453 try testArgs(f32, f80, fmin(f80));
3454 try testArgs(f32, f80, 1e-1);
3455 try testArgs(f32, f80, 1e0);
3456 try testArgs(f32, f80, 1e1);
3457 try testArgs(f32, f80, fmax(f80));
3458 try testArgs(f32, f80, inf(f80));
3459 try testArgs(f32, f80, nan(f80));
3460
3461 try testArgs(f64, f80, -nan(f80));
3462 try testArgs(f64, f80, -inf(f80));
3463 try testArgs(f64, f80, -fmax(f80));
3464 try testArgs(f64, f80, -1e1);
3465 try testArgs(f64, f80, -1e0);
3466 try testArgs(f64, f80, -1e-1);
3467 try testArgs(f64, f80, -fmin(f80));
3468 try testArgs(f64, f80, -tmin(f80));
3469 try testArgs(f64, f80, -0.0);
3470 try testArgs(f64, f80, 0.0);
3471 try testArgs(f64, f80, tmin(f80));
3472 try testArgs(f64, f80, fmin(f80));
3473 try testArgs(f64, f80, 1e-1);
3474 try testArgs(f64, f80, 1e0);
3475 try testArgs(f64, f80, 1e1);
3476 try testArgs(f64, f80, fmax(f80));
3477 try testArgs(f64, f80, inf(f80));
3478 try testArgs(f64, f80, nan(f80));
3479
3480 try testArgs(f80, f80, -nan(f80));
3481 try testArgs(f80, f80, -inf(f80));
3482 try testArgs(f80, f80, -fmax(f80));
3483 try testArgs(f80, f80, -1e1);
3484 try testArgs(f80, f80, -1e0);
3485 try testArgs(f80, f80, -1e-1);
3486 try testArgs(f80, f80, -fmin(f80));
3487 try testArgs(f80, f80, -tmin(f80));
3488 try testArgs(f80, f80, -0.0);
3489 try testArgs(f80, f80, 0.0);
3490 try testArgs(f80, f80, tmin(f80));
3491 try testArgs(f80, f80, fmin(f80));
3492 try testArgs(f80, f80, 1e-1);
3493 try testArgs(f80, f80, 1e0);
3494 try testArgs(f80, f80, 1e1);
3495 try testArgs(f80, f80, fmax(f80));
3496 try testArgs(f80, f80, inf(f80));
3497 try testArgs(f80, f80, nan(f80));
3498
3499 try testArgs(f128, f80, -nan(f80));
3500 try testArgs(f128, f80, -inf(f80));
3501 try testArgs(f128, f80, -fmax(f80));
3502 try testArgs(f128, f80, -1e1);
3503 try testArgs(f128, f80, -1e0);
3504 try testArgs(f128, f80, -1e-1);
3505 try testArgs(f128, f80, -fmin(f80));
3506 try testArgs(f128, f80, -tmin(f80));
3507 try testArgs(f128, f80, -0.0);
3508 try testArgs(f128, f80, 0.0);
3509 try testArgs(f128, f80, tmin(f80));
3510 try testArgs(f128, f80, fmin(f80));
3511 try testArgs(f128, f80, 1e-1);
3512 try testArgs(f128, f80, 1e0);
3513 try testArgs(f128, f80, 1e1);
3514 try testArgs(f128, f80, fmax(f80));
3515 try testArgs(f128, f80, inf(f80));
3516 try testArgs(f128, f80, nan(f80));
3517
3518 try testArgs(f16, f128, -nan(f128));
3519 try testArgs(f16, f128, -inf(f128));
3520 try testArgs(f16, f128, -fmax(f128));
3521 try testArgs(f16, f128, -1e1);
3522 try testArgs(f16, f128, -1e0);
3523 try testArgs(f16, f128, -1e-1);
3524 try testArgs(f16, f128, -fmin(f128));
3525 try testArgs(f16, f128, -tmin(f128));
3526 try testArgs(f16, f128, -0.0);
3527 try testArgs(f16, f128, 0.0);
3528 try testArgs(f16, f128, tmin(f128));
3529 try testArgs(f16, f128, fmin(f128));
3530 try testArgs(f16, f128, 1e-1);
3531 try testArgs(f16, f128, 1e0);
3532 try testArgs(f16, f128, 1e1);
3533 try testArgs(f16, f128, fmax(f128));
3534 try testArgs(f16, f128, inf(f128));
3535 try testArgs(f16, f128, nan(f128));
3536
3537 try testArgs(f32, f128, -nan(f128));
3538 try testArgs(f32, f128, -inf(f128));
3539 try testArgs(f32, f128, -fmax(f128));
3540 try testArgs(f32, f128, -1e1);
3541 try testArgs(f32, f128, -1e0);
3542 try testArgs(f32, f128, -1e-1);
3543 try testArgs(f32, f128, -fmin(f128));
3544 try testArgs(f32, f128, -tmin(f128));
3545 try testArgs(f32, f128, -0.0);
3546 try testArgs(f32, f128, 0.0);
3547 try testArgs(f32, f128, tmin(f128));
3548 try testArgs(f32, f128, fmin(f128));
3549 try testArgs(f32, f128, 1e-1);
3550 try testArgs(f32, f128, 1e0);
3551 try testArgs(f32, f128, 1e1);
3552 try testArgs(f32, f128, fmax(f128));
3553 try testArgs(f32, f128, inf(f128));
3554 try testArgs(f32, f128, nan(f128));
3555
3556 try testArgs(f64, f128, -nan(f128));
3557 try testArgs(f64, f128, -inf(f128));
3558 try testArgs(f64, f128, -fmax(f128));
3559 try testArgs(f64, f128, -1e1);
3560 try testArgs(f64, f128, -1e0);
3561 try testArgs(f64, f128, -1e-1);
3562 try testArgs(f64, f128, -fmin(f128));
3563 try testArgs(f64, f128, -tmin(f128));
3564 try testArgs(f64, f128, -0.0);
3565 try testArgs(f64, f128, 0.0);
3566 try testArgs(f64, f128, tmin(f128));
3567 try testArgs(f64, f128, fmin(f128));
3568 try testArgs(f64, f128, 1e-1);
3569 try testArgs(f64, f128, 1e0);
3570 try testArgs(f64, f128, 1e1);
3571 try testArgs(f64, f128, fmax(f128));
3572 try testArgs(f64, f128, inf(f128));
3573 try testArgs(f64, f128, nan(f128));
3574
3575 try testArgs(f80, f128, -nan(f128));
3576 try testArgs(f80, f128, -inf(f128));
3577 try testArgs(f80, f128, -fmax(f128));
3578 try testArgs(f80, f128, -1e1);
3579 try testArgs(f80, f128, -1e0);
3580 try testArgs(f80, f128, -1e-1);
3581 try testArgs(f80, f128, -fmin(f128));
3582 try testArgs(f80, f128, -tmin(f128));
3583 try testArgs(f80, f128, -0.0);
3584 try testArgs(f80, f128, 0.0);
3585 try testArgs(f80, f128, tmin(f128));
3586 try testArgs(f80, f128, fmin(f128));
3587 try testArgs(f80, f128, 1e-1);
3588 try testArgs(f80, f128, 1e0);
3589 try testArgs(f80, f128, 1e1);
3590 try testArgs(f80, f128, fmax(f128));
3591 try testArgs(f80, f128, inf(f128));
3592 try testArgs(f80, f128, nan(f128));
3593
3594 try testArgs(f128, f128, -nan(f128));
3595 try testArgs(f128, f128, -inf(f128));
3596 try testArgs(f128, f128, -fmax(f128));
3597 try testArgs(f128, f128, -1e1);
3598 try testArgs(f128, f128, -1e0);
3599 try testArgs(f128, f128, -1e-1);
3600 try testArgs(f128, f128, -fmin(f128));
3601 try testArgs(f128, f128, -tmin(f128));
3602 try testArgs(f128, f128, -0.0);
3603 try testArgs(f128, f128, 0.0);
3604 try testArgs(f128, f128, tmin(f128));
3605 try testArgs(f128, f128, fmin(f128));
3606 try testArgs(f128, f128, 1e-1);
3607 try testArgs(f128, f128, 1e0);
3608 try testArgs(f128, f128, 1e1);
3609 try testArgs(f128, f128, fmax(f128));
3610 try testArgs(f128, f128, inf(f128));
3611 try testArgs(f128, f128, nan(f128));
3612 }
3613 fn testSameSignednessIntVectors() !void {
3614 try testArgs(@Vector(1, i7), @Vector(1, i1), .{-1});
3615 try testArgs(@Vector(1, i8), @Vector(1, i1), .{-1});
3616 try testArgs(@Vector(1, i9), @Vector(1, i1), .{-1});
3617 try testArgs(@Vector(1, i15), @Vector(1, i1), .{-1});
3618 try testArgs(@Vector(1, i16), @Vector(1, i1), .{-1});
3619 try testArgs(@Vector(1, i17), @Vector(1, i1), .{-1});
3620 try testArgs(@Vector(1, i31), @Vector(1, i1), .{-1});
3621 try testArgs(@Vector(1, i32), @Vector(1, i1), .{-1});
3622 try testArgs(@Vector(1, i33), @Vector(1, i1), .{-1});
3623 try testArgs(@Vector(1, i63), @Vector(1, i1), .{-1});
3624 try testArgs(@Vector(1, i64), @Vector(1, i1), .{-1});
3625 try testArgs(@Vector(1, i65), @Vector(1, i1), .{-1});
3626 try testArgs(@Vector(1, i127), @Vector(1, i1), .{-1});
3627 try testArgs(@Vector(1, i128), @Vector(1, i1), .{-1});
3628 try testArgs(@Vector(1, i129), @Vector(1, i1), .{-1});
3629 try testArgs(@Vector(1, i255), @Vector(1, i1), .{-1});
3630 try testArgs(@Vector(1, i256), @Vector(1, i1), .{-1});
3631 try testArgs(@Vector(1, i257), @Vector(1, i1), .{-1});
3632 try testArgs(@Vector(1, i511), @Vector(1, i1), .{-1});
3633 try testArgs(@Vector(1, i512), @Vector(1, i1), .{-1});
3634 try testArgs(@Vector(1, i513), @Vector(1, i1), .{-1});
3635 try testArgs(@Vector(1, i1023), @Vector(1, i1), .{-1});
3636 try testArgs(@Vector(1, i1024), @Vector(1, i1), .{-1});
3637 try testArgs(@Vector(1, i1025), @Vector(1, i1), .{-1});
3638 try testArgs(@Vector(1, u7), @Vector(1, u1), .{1});
3639 try testArgs(@Vector(1, u8), @Vector(1, u1), .{1});
3640 try testArgs(@Vector(1, u9), @Vector(1, u1), .{1});
3641 try testArgs(@Vector(1, u15), @Vector(1, u1), .{1});
3642 try testArgs(@Vector(1, u16), @Vector(1, u1), .{1});
3643 try testArgs(@Vector(1, u17), @Vector(1, u1), .{1});
3644 try testArgs(@Vector(1, u31), @Vector(1, u1), .{1});
3645 try testArgs(@Vector(1, u32), @Vector(1, u1), .{1});
3646 try testArgs(@Vector(1, u33), @Vector(1, u1), .{1});
3647 try testArgs(@Vector(1, u63), @Vector(1, u1), .{1});
3648 try testArgs(@Vector(1, u64), @Vector(1, u1), .{1});
3649 try testArgs(@Vector(1, u65), @Vector(1, u1), .{1});
3650 try testArgs(@Vector(1, u127), @Vector(1, u1), .{1});
3651 try testArgs(@Vector(1, u128), @Vector(1, u1), .{1});
3652 try testArgs(@Vector(1, u129), @Vector(1, u1), .{1});
3653 try testArgs(@Vector(1, u255), @Vector(1, u1), .{1});
3654 try testArgs(@Vector(1, u256), @Vector(1, u1), .{1});
3655 try testArgs(@Vector(1, u257), @Vector(1, u1), .{1});
3656 try testArgs(@Vector(1, u511), @Vector(1, u1), .{1});
3657 try testArgs(@Vector(1, u512), @Vector(1, u1), .{1});
3658 try testArgs(@Vector(1, u513), @Vector(1, u1), .{1});
3659 try testArgs(@Vector(1, u1023), @Vector(1, u1), .{1});
3660 try testArgs(@Vector(1, u1024), @Vector(1, u1), .{1});
3661 try testArgs(@Vector(1, u1025), @Vector(1, u1), .{1});
3662
3663 try testArgs(@Vector(2, i7), @Vector(2, i1), .{ -1, 0 });
3664 try testArgs(@Vector(2, i8), @Vector(2, i1), .{ -1, 0 });
3665 try testArgs(@Vector(2, i9), @Vector(2, i1), .{ -1, 0 });
3666 try testArgs(@Vector(2, i15), @Vector(2, i1), .{ -1, 0 });
3667 try testArgs(@Vector(2, i16), @Vector(2, i1), .{ -1, 0 });
3668 try testArgs(@Vector(2, i17), @Vector(2, i1), .{ -1, 0 });
3669 try testArgs(@Vector(2, i31), @Vector(2, i1), .{ -1, 0 });
3670 try testArgs(@Vector(2, i32), @Vector(2, i1), .{ -1, 0 });
3671 try testArgs(@Vector(2, i33), @Vector(2, i1), .{ -1, 0 });
3672 try testArgs(@Vector(2, i63), @Vector(2, i1), .{ -1, 0 });
3673 try testArgs(@Vector(2, i64), @Vector(2, i1), .{ -1, 0 });
3674 try testArgs(@Vector(2, i65), @Vector(2, i1), .{ -1, 0 });
3675 try testArgs(@Vector(2, i127), @Vector(2, i1), .{ -1, 0 });
3676 try testArgs(@Vector(2, i128), @Vector(2, i1), .{ -1, 0 });
3677 try testArgs(@Vector(2, i129), @Vector(2, i1), .{ -1, 0 });
3678 try testArgs(@Vector(2, i255), @Vector(2, i1), .{ -1, 0 });
3679 try testArgs(@Vector(2, i256), @Vector(2, i1), .{ -1, 0 });
3680 try testArgs(@Vector(2, i257), @Vector(2, i1), .{ -1, 0 });
3681 try testArgs(@Vector(2, i511), @Vector(2, i1), .{ -1, 0 });
3682 try testArgs(@Vector(2, i512), @Vector(2, i1), .{ -1, 0 });
3683 try testArgs(@Vector(2, i513), @Vector(2, i1), .{ -1, 0 });
3684 try testArgs(@Vector(2, i1023), @Vector(2, i1), .{ -1, 0 });
3685 try testArgs(@Vector(2, i1024), @Vector(2, i1), .{ -1, 0 });
3686 try testArgs(@Vector(2, i1025), @Vector(2, i1), .{ -1, 0 });
3687 try testArgs(@Vector(2, u7), @Vector(2, u1), .{ 0, 1 });
3688 try testArgs(@Vector(2, u8), @Vector(2, u1), .{ 0, 1 });
3689 try testArgs(@Vector(2, u9), @Vector(2, u1), .{ 0, 1 });
3690 try testArgs(@Vector(2, u15), @Vector(2, u1), .{ 0, 1 });
3691 try testArgs(@Vector(2, u16), @Vector(2, u1), .{ 0, 1 });
3692 try testArgs(@Vector(2, u17), @Vector(2, u1), .{ 0, 1 });
3693 try testArgs(@Vector(2, u31), @Vector(2, u1), .{ 0, 1 });
3694 try testArgs(@Vector(2, u32), @Vector(2, u1), .{ 0, 1 });
3695 try testArgs(@Vector(2, u33), @Vector(2, u1), .{ 0, 1 });
3696 try testArgs(@Vector(2, u63), @Vector(2, u1), .{ 0, 1 });
3697 try testArgs(@Vector(2, u64), @Vector(2, u1), .{ 0, 1 });
3698 try testArgs(@Vector(2, u65), @Vector(2, u1), .{ 0, 1 });
3699 try testArgs(@Vector(2, u127), @Vector(2, u1), .{ 0, 1 });
3700 try testArgs(@Vector(2, u128), @Vector(2, u1), .{ 0, 1 });
3701 try testArgs(@Vector(2, u129), @Vector(2, u1), .{ 0, 1 });
3702 try testArgs(@Vector(2, u255), @Vector(2, u1), .{ 0, 1 });
3703 try testArgs(@Vector(2, u256), @Vector(2, u1), .{ 0, 1 });
3704 try testArgs(@Vector(2, u257), @Vector(2, u1), .{ 0, 1 });
3705 try testArgs(@Vector(2, u511), @Vector(2, u1), .{ 0, 1 });
3706 try testArgs(@Vector(2, u512), @Vector(2, u1), .{ 0, 1 });
3707 try testArgs(@Vector(2, u513), @Vector(2, u1), .{ 0, 1 });
3708 try testArgs(@Vector(2, u1023), @Vector(2, u1), .{ 0, 1 });
3709 try testArgs(@Vector(2, u1024), @Vector(2, u1), .{ 0, 1 });
3710 try testArgs(@Vector(2, u1025), @Vector(2, u1), .{ 0, 1 });
3711
3712 try testArgs(@Vector(3, i7), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3713 try testArgs(@Vector(3, i8), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3714 try testArgs(@Vector(3, i9), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3715 try testArgs(@Vector(3, i15), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3716 try testArgs(@Vector(3, i16), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3717 try testArgs(@Vector(3, i17), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3718 try testArgs(@Vector(3, i31), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3719 try testArgs(@Vector(3, i32), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3720 try testArgs(@Vector(3, i33), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3721 try testArgs(@Vector(3, i63), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3722 try testArgs(@Vector(3, i64), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3723 try testArgs(@Vector(3, i65), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3724 try testArgs(@Vector(3, i127), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3725 try testArgs(@Vector(3, i128), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3726 try testArgs(@Vector(3, i129), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3727 try testArgs(@Vector(3, i255), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3728 try testArgs(@Vector(3, i256), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3729 try testArgs(@Vector(3, i257), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3730 try testArgs(@Vector(3, i511), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3731 try testArgs(@Vector(3, i512), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3732 try testArgs(@Vector(3, i513), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3733 try testArgs(@Vector(3, i1023), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3734 try testArgs(@Vector(3, i1024), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3735 try testArgs(@Vector(3, i1025), @Vector(3, i2), .{ -1 << 1, -1, 0 });
3736 try testArgs(@Vector(3, u7), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3737 try testArgs(@Vector(3, u8), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3738 try testArgs(@Vector(3, u9), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3739 try testArgs(@Vector(3, u15), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3740 try testArgs(@Vector(3, u16), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3741 try testArgs(@Vector(3, u17), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3742 try testArgs(@Vector(3, u31), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3743 try testArgs(@Vector(3, u32), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3744 try testArgs(@Vector(3, u33), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3745 try testArgs(@Vector(3, u63), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3746 try testArgs(@Vector(3, u64), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3747 try testArgs(@Vector(3, u65), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3748 try testArgs(@Vector(3, u127), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3749 try testArgs(@Vector(3, u128), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3750 try testArgs(@Vector(3, u129), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3751 try testArgs(@Vector(3, u255), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3752 try testArgs(@Vector(3, u256), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3753 try testArgs(@Vector(3, u257), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3754 try testArgs(@Vector(3, u511), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3755 try testArgs(@Vector(3, u512), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3756 try testArgs(@Vector(3, u513), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3757 try testArgs(@Vector(3, u1023), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3758 try testArgs(@Vector(3, u1024), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3759 try testArgs(@Vector(3, u1025), @Vector(3, u2), .{ 0, 1, 1 << 1 });
3760
3761 try testArgs(@Vector(3, i7), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3762 try testArgs(@Vector(3, i8), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3763 try testArgs(@Vector(3, i9), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3764 try testArgs(@Vector(3, i15), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3765 try testArgs(@Vector(3, i16), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3766 try testArgs(@Vector(3, i17), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3767 try testArgs(@Vector(3, i31), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3768 try testArgs(@Vector(3, i32), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3769 try testArgs(@Vector(3, i33), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3770 try testArgs(@Vector(3, i63), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3771 try testArgs(@Vector(3, i64), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3772 try testArgs(@Vector(3, i65), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3773 try testArgs(@Vector(3, i127), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3774 try testArgs(@Vector(3, i128), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3775 try testArgs(@Vector(3, i129), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3776 try testArgs(@Vector(3, i255), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3777 try testArgs(@Vector(3, i256), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3778 try testArgs(@Vector(3, i257), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3779 try testArgs(@Vector(3, i511), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3780 try testArgs(@Vector(3, i512), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3781 try testArgs(@Vector(3, i513), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3782 try testArgs(@Vector(3, i1023), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3783 try testArgs(@Vector(3, i1024), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3784 try testArgs(@Vector(3, i1025), @Vector(3, i3), .{ -1 << 2, -1, 0 });
3785 try testArgs(@Vector(3, u7), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3786 try testArgs(@Vector(3, u8), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3787 try testArgs(@Vector(3, u9), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3788 try testArgs(@Vector(3, u15), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3789 try testArgs(@Vector(3, u16), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3790 try testArgs(@Vector(3, u17), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3791 try testArgs(@Vector(3, u31), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3792 try testArgs(@Vector(3, u32), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3793 try testArgs(@Vector(3, u33), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3794 try testArgs(@Vector(3, u63), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3795 try testArgs(@Vector(3, u64), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3796 try testArgs(@Vector(3, u65), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3797 try testArgs(@Vector(3, u127), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3798 try testArgs(@Vector(3, u128), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3799 try testArgs(@Vector(3, u129), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3800 try testArgs(@Vector(3, u255), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3801 try testArgs(@Vector(3, u256), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3802 try testArgs(@Vector(3, u257), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3803 try testArgs(@Vector(3, u511), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3804 try testArgs(@Vector(3, u512), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3805 try testArgs(@Vector(3, u513), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3806 try testArgs(@Vector(3, u1023), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3807 try testArgs(@Vector(3, u1024), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3808 try testArgs(@Vector(3, u1025), @Vector(3, u3), .{ 0, 1, 1 << 2 });
3809
3810 try testArgs(@Vector(3, i7), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3811 try testArgs(@Vector(3, i8), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3812 try testArgs(@Vector(3, i9), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3813 try testArgs(@Vector(3, i15), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3814 try testArgs(@Vector(3, i16), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3815 try testArgs(@Vector(3, i17), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3816 try testArgs(@Vector(3, i31), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3817 try testArgs(@Vector(3, i32), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3818 try testArgs(@Vector(3, i33), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3819 try testArgs(@Vector(3, i63), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3820 try testArgs(@Vector(3, i64), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3821 try testArgs(@Vector(3, i65), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3822 try testArgs(@Vector(3, i127), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3823 try testArgs(@Vector(3, i128), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3824 try testArgs(@Vector(3, i129), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3825 try testArgs(@Vector(3, i255), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3826 try testArgs(@Vector(3, i256), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3827 try testArgs(@Vector(3, i257), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3828 try testArgs(@Vector(3, i511), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3829 try testArgs(@Vector(3, i512), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3830 try testArgs(@Vector(3, i513), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3831 try testArgs(@Vector(3, i1023), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3832 try testArgs(@Vector(3, i1024), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3833 try testArgs(@Vector(3, i1025), @Vector(3, i4), .{ -1 << 3, -1, 0 });
3834 try testArgs(@Vector(3, u7), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3835 try testArgs(@Vector(3, u8), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3836 try testArgs(@Vector(3, u9), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3837 try testArgs(@Vector(3, u15), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3838 try testArgs(@Vector(3, u16), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3839 try testArgs(@Vector(3, u17), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3840 try testArgs(@Vector(3, u31), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3841 try testArgs(@Vector(3, u32), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3842 try testArgs(@Vector(3, u33), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3843 try testArgs(@Vector(3, u63), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3844 try testArgs(@Vector(3, u64), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3845 try testArgs(@Vector(3, u65), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3846 try testArgs(@Vector(3, u127), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3847 try testArgs(@Vector(3, u128), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3848 try testArgs(@Vector(3, u129), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3849 try testArgs(@Vector(3, u255), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3850 try testArgs(@Vector(3, u256), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3851 try testArgs(@Vector(3, u257), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3852 try testArgs(@Vector(3, u511), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3853 try testArgs(@Vector(3, u512), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3854 try testArgs(@Vector(3, u513), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3855 try testArgs(@Vector(3, u1023), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3856 try testArgs(@Vector(3, u1024), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3857 try testArgs(@Vector(3, u1025), @Vector(3, u4), .{ 0, 1, 1 << 3 });
3858
3859 try testArgs(@Vector(3, i7), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3860 try testArgs(@Vector(3, i8), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3861 try testArgs(@Vector(3, i9), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3862 try testArgs(@Vector(3, i15), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3863 try testArgs(@Vector(3, i16), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3864 try testArgs(@Vector(3, i17), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3865 try testArgs(@Vector(3, i31), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3866 try testArgs(@Vector(3, i32), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3867 try testArgs(@Vector(3, i33), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3868 try testArgs(@Vector(3, i63), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3869 try testArgs(@Vector(3, i64), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3870 try testArgs(@Vector(3, i65), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3871 try testArgs(@Vector(3, i127), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3872 try testArgs(@Vector(3, i128), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3873 try testArgs(@Vector(3, i129), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3874 try testArgs(@Vector(3, i255), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3875 try testArgs(@Vector(3, i256), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3876 try testArgs(@Vector(3, i257), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3877 try testArgs(@Vector(3, i511), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3878 try testArgs(@Vector(3, i512), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3879 try testArgs(@Vector(3, i513), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3880 try testArgs(@Vector(3, i1023), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3881 try testArgs(@Vector(3, i1024), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3882 try testArgs(@Vector(3, i1025), @Vector(3, i5), .{ -1 << 4, -1, 0 });
3883 try testArgs(@Vector(3, u7), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3884 try testArgs(@Vector(3, u8), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3885 try testArgs(@Vector(3, u9), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3886 try testArgs(@Vector(3, u15), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3887 try testArgs(@Vector(3, u16), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3888 try testArgs(@Vector(3, u17), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3889 try testArgs(@Vector(3, u31), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3890 try testArgs(@Vector(3, u32), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3891 try testArgs(@Vector(3, u33), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3892 try testArgs(@Vector(3, u63), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3893 try testArgs(@Vector(3, u64), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3894 try testArgs(@Vector(3, u65), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3895 try testArgs(@Vector(3, u127), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3896 try testArgs(@Vector(3, u128), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3897 try testArgs(@Vector(3, u129), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3898 try testArgs(@Vector(3, u255), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3899 try testArgs(@Vector(3, u256), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3900 try testArgs(@Vector(3, u257), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3901 try testArgs(@Vector(3, u511), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3902 try testArgs(@Vector(3, u512), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3903 try testArgs(@Vector(3, u513), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3904 try testArgs(@Vector(3, u1023), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3905 try testArgs(@Vector(3, u1024), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3906 try testArgs(@Vector(3, u1025), @Vector(3, u5), .{ 0, 1, 1 << 4 });
3907
3908 try testArgs(@Vector(3, i7), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3909 try testArgs(@Vector(3, i8), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3910 try testArgs(@Vector(3, i9), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3911 try testArgs(@Vector(3, i15), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3912 try testArgs(@Vector(3, i16), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3913 try testArgs(@Vector(3, i17), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3914 try testArgs(@Vector(3, i31), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3915 try testArgs(@Vector(3, i32), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3916 try testArgs(@Vector(3, i33), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3917 try testArgs(@Vector(3, i63), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3918 try testArgs(@Vector(3, i64), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3919 try testArgs(@Vector(3, i65), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3920 try testArgs(@Vector(3, i127), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3921 try testArgs(@Vector(3, i128), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3922 try testArgs(@Vector(3, i129), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3923 try testArgs(@Vector(3, i255), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3924 try testArgs(@Vector(3, i256), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3925 try testArgs(@Vector(3, i257), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3926 try testArgs(@Vector(3, i511), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3927 try testArgs(@Vector(3, i512), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3928 try testArgs(@Vector(3, i513), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3929 try testArgs(@Vector(3, i1023), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3930 try testArgs(@Vector(3, i1024), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3931 try testArgs(@Vector(3, i1025), @Vector(3, i7), .{ -1 << 6, -1, 0 });
3932 try testArgs(@Vector(3, u7), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3933 try testArgs(@Vector(3, u8), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3934 try testArgs(@Vector(3, u9), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3935 try testArgs(@Vector(3, u15), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3936 try testArgs(@Vector(3, u16), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3937 try testArgs(@Vector(3, u17), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3938 try testArgs(@Vector(3, u31), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3939 try testArgs(@Vector(3, u32), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3940 try testArgs(@Vector(3, u33), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3941 try testArgs(@Vector(3, u63), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3942 try testArgs(@Vector(3, u64), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3943 try testArgs(@Vector(3, u65), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3944 try testArgs(@Vector(3, u127), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3945 try testArgs(@Vector(3, u128), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3946 try testArgs(@Vector(3, u129), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3947 try testArgs(@Vector(3, u255), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3948 try testArgs(@Vector(3, u256), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3949 try testArgs(@Vector(3, u257), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3950 try testArgs(@Vector(3, u511), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3951 try testArgs(@Vector(3, u512), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3952 try testArgs(@Vector(3, u513), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3953 try testArgs(@Vector(3, u1023), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3954 try testArgs(@Vector(3, u1024), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3955 try testArgs(@Vector(3, u1025), @Vector(3, u7), .{ 0, 1, 1 << 6 });
3956
3957 try testArgs(@Vector(3, i7), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3958 try testArgs(@Vector(3, i8), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3959 try testArgs(@Vector(3, i9), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3960 try testArgs(@Vector(3, i15), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3961 try testArgs(@Vector(3, i16), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3962 try testArgs(@Vector(3, i17), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3963 try testArgs(@Vector(3, i31), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3964 try testArgs(@Vector(3, i32), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3965 try testArgs(@Vector(3, i33), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3966 try testArgs(@Vector(3, i63), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3967 try testArgs(@Vector(3, i64), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3968 try testArgs(@Vector(3, i65), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3969 try testArgs(@Vector(3, i127), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3970 try testArgs(@Vector(3, i128), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3971 try testArgs(@Vector(3, i129), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3972 try testArgs(@Vector(3, i255), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3973 try testArgs(@Vector(3, i256), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3974 try testArgs(@Vector(3, i257), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3975 try testArgs(@Vector(3, i511), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3976 try testArgs(@Vector(3, i512), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3977 try testArgs(@Vector(3, i513), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3978 try testArgs(@Vector(3, i1023), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3979 try testArgs(@Vector(3, i1024), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3980 try testArgs(@Vector(3, i1025), @Vector(3, i8), .{ -1 << 7, -1, 0 });
3981 try testArgs(@Vector(3, u7), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3982 try testArgs(@Vector(3, u8), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3983 try testArgs(@Vector(3, u9), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3984 try testArgs(@Vector(3, u15), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3985 try testArgs(@Vector(3, u16), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3986 try testArgs(@Vector(3, u17), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3987 try testArgs(@Vector(3, u31), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3988 try testArgs(@Vector(3, u32), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3989 try testArgs(@Vector(3, u33), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3990 try testArgs(@Vector(3, u63), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3991 try testArgs(@Vector(3, u64), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3992 try testArgs(@Vector(3, u65), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3993 try testArgs(@Vector(3, u127), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3994 try testArgs(@Vector(3, u128), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3995 try testArgs(@Vector(3, u129), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3996 try testArgs(@Vector(3, u255), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3997 try testArgs(@Vector(3, u256), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3998 try testArgs(@Vector(3, u257), @Vector(3, u8), .{ 0, 1, 1 << 7 });
3999 try testArgs(@Vector(3, u511), @Vector(3, u8), .{ 0, 1, 1 << 7 });
4000 try testArgs(@Vector(3, u512), @Vector(3, u8), .{ 0, 1, 1 << 7 });
4001 try testArgs(@Vector(3, u513), @Vector(3, u8), .{ 0, 1, 1 << 7 });
4002 try testArgs(@Vector(3, u1023), @Vector(3, u8), .{ 0, 1, 1 << 7 });
4003 try testArgs(@Vector(3, u1024), @Vector(3, u8), .{ 0, 1, 1 << 7 });
4004 try testArgs(@Vector(3, u1025), @Vector(3, u8), .{ 0, 1, 1 << 7 });
4005
4006 try testArgs(@Vector(3, i7), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4007 try testArgs(@Vector(3, i8), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4008 try testArgs(@Vector(3, i9), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4009 try testArgs(@Vector(3, i15), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4010 try testArgs(@Vector(3, i16), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4011 try testArgs(@Vector(3, i17), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4012 try testArgs(@Vector(3, i31), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4013 try testArgs(@Vector(3, i32), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4014 try testArgs(@Vector(3, i33), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4015 try testArgs(@Vector(3, i63), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4016 try testArgs(@Vector(3, i64), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4017 try testArgs(@Vector(3, i65), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4018 try testArgs(@Vector(3, i127), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4019 try testArgs(@Vector(3, i128), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4020 try testArgs(@Vector(3, i129), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4021 try testArgs(@Vector(3, i255), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4022 try testArgs(@Vector(3, i256), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4023 try testArgs(@Vector(3, i257), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4024 try testArgs(@Vector(3, i511), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4025 try testArgs(@Vector(3, i512), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4026 try testArgs(@Vector(3, i513), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4027 try testArgs(@Vector(3, i1023), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4028 try testArgs(@Vector(3, i1024), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4029 try testArgs(@Vector(3, i1025), @Vector(3, i9), .{ -1 << 8, -1, 0 });
4030 try testArgs(@Vector(3, u7), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4031 try testArgs(@Vector(3, u8), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4032 try testArgs(@Vector(3, u9), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4033 try testArgs(@Vector(3, u15), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4034 try testArgs(@Vector(3, u16), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4035 try testArgs(@Vector(3, u17), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4036 try testArgs(@Vector(3, u31), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4037 try testArgs(@Vector(3, u32), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4038 try testArgs(@Vector(3, u33), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4039 try testArgs(@Vector(3, u63), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4040 try testArgs(@Vector(3, u64), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4041 try testArgs(@Vector(3, u65), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4042 try testArgs(@Vector(3, u127), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4043 try testArgs(@Vector(3, u128), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4044 try testArgs(@Vector(3, u129), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4045 try testArgs(@Vector(3, u255), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4046 try testArgs(@Vector(3, u256), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4047 try testArgs(@Vector(3, u257), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4048 try testArgs(@Vector(3, u511), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4049 try testArgs(@Vector(3, u512), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4050 try testArgs(@Vector(3, u513), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4051 try testArgs(@Vector(3, u1023), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4052 try testArgs(@Vector(3, u1024), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4053 try testArgs(@Vector(3, u1025), @Vector(3, u9), .{ 0, 1, 1 << 8 });
4054
4055 try testArgs(@Vector(3, i7), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4056 try testArgs(@Vector(3, i8), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4057 try testArgs(@Vector(3, i9), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4058 try testArgs(@Vector(3, i15), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4059 try testArgs(@Vector(3, i16), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4060 try testArgs(@Vector(3, i17), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4061 try testArgs(@Vector(3, i31), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4062 try testArgs(@Vector(3, i32), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4063 try testArgs(@Vector(3, i33), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4064 try testArgs(@Vector(3, i63), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4065 try testArgs(@Vector(3, i64), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4066 try testArgs(@Vector(3, i65), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4067 try testArgs(@Vector(3, i127), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4068 try testArgs(@Vector(3, i128), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4069 try testArgs(@Vector(3, i129), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4070 try testArgs(@Vector(3, i255), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4071 try testArgs(@Vector(3, i256), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4072 try testArgs(@Vector(3, i257), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4073 try testArgs(@Vector(3, i511), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4074 try testArgs(@Vector(3, i512), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4075 try testArgs(@Vector(3, i513), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4076 try testArgs(@Vector(3, i1023), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4077 try testArgs(@Vector(3, i1024), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4078 try testArgs(@Vector(3, i1025), @Vector(3, i15), .{ -1 << 14, -1, 0 });
4079 try testArgs(@Vector(3, u7), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4080 try testArgs(@Vector(3, u8), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4081 try testArgs(@Vector(3, u9), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4082 try testArgs(@Vector(3, u15), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4083 try testArgs(@Vector(3, u16), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4084 try testArgs(@Vector(3, u17), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4085 try testArgs(@Vector(3, u31), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4086 try testArgs(@Vector(3, u32), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4087 try testArgs(@Vector(3, u33), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4088 try testArgs(@Vector(3, u63), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4089 try testArgs(@Vector(3, u64), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4090 try testArgs(@Vector(3, u65), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4091 try testArgs(@Vector(3, u127), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4092 try testArgs(@Vector(3, u128), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4093 try testArgs(@Vector(3, u129), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4094 try testArgs(@Vector(3, u255), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4095 try testArgs(@Vector(3, u256), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4096 try testArgs(@Vector(3, u257), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4097 try testArgs(@Vector(3, u511), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4098 try testArgs(@Vector(3, u512), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4099 try testArgs(@Vector(3, u513), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4100 try testArgs(@Vector(3, u1023), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4101 try testArgs(@Vector(3, u1024), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4102 try testArgs(@Vector(3, u1025), @Vector(3, u15), .{ 0, 1, 1 << 14 });
4103
4104 try testArgs(@Vector(3, i7), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4105 try testArgs(@Vector(3, i8), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4106 try testArgs(@Vector(3, i9), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4107 try testArgs(@Vector(3, i15), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4108 try testArgs(@Vector(3, i16), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4109 try testArgs(@Vector(3, i17), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4110 try testArgs(@Vector(3, i31), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4111 try testArgs(@Vector(3, i32), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4112 try testArgs(@Vector(3, i33), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4113 try testArgs(@Vector(3, i63), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4114 try testArgs(@Vector(3, i64), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4115 try testArgs(@Vector(3, i65), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4116 try testArgs(@Vector(3, i127), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4117 try testArgs(@Vector(3, i128), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4118 try testArgs(@Vector(3, i129), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4119 try testArgs(@Vector(3, i255), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4120 try testArgs(@Vector(3, i256), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4121 try testArgs(@Vector(3, i257), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4122 try testArgs(@Vector(3, i511), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4123 try testArgs(@Vector(3, i512), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4124 try testArgs(@Vector(3, i513), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4125 try testArgs(@Vector(3, i1023), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4126 try testArgs(@Vector(3, i1024), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4127 try testArgs(@Vector(3, i1025), @Vector(3, i16), .{ -1 << 15, -1, 0 });
4128 try testArgs(@Vector(3, u7), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4129 try testArgs(@Vector(3, u8), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4130 try testArgs(@Vector(3, u9), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4131 try testArgs(@Vector(3, u15), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4132 try testArgs(@Vector(3, u16), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4133 try testArgs(@Vector(3, u17), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4134 try testArgs(@Vector(3, u31), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4135 try testArgs(@Vector(3, u32), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4136 try testArgs(@Vector(3, u33), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4137 try testArgs(@Vector(3, u63), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4138 try testArgs(@Vector(3, u64), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4139 try testArgs(@Vector(3, u65), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4140 try testArgs(@Vector(3, u127), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4141 try testArgs(@Vector(3, u128), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4142 try testArgs(@Vector(3, u129), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4143 try testArgs(@Vector(3, u255), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4144 try testArgs(@Vector(3, u256), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4145 try testArgs(@Vector(3, u257), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4146 try testArgs(@Vector(3, u511), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4147 try testArgs(@Vector(3, u512), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4148 try testArgs(@Vector(3, u513), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4149 try testArgs(@Vector(3, u1023), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4150 try testArgs(@Vector(3, u1024), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4151 try testArgs(@Vector(3, u1025), @Vector(3, u16), .{ 0, 1, 1 << 15 });
4152
4153 try testArgs(@Vector(3, i7), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4154 try testArgs(@Vector(3, i8), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4155 try testArgs(@Vector(3, i9), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4156 try testArgs(@Vector(3, i15), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4157 try testArgs(@Vector(3, i16), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4158 try testArgs(@Vector(3, i17), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4159 try testArgs(@Vector(3, i31), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4160 try testArgs(@Vector(3, i32), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4161 try testArgs(@Vector(3, i33), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4162 try testArgs(@Vector(3, i63), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4163 try testArgs(@Vector(3, i64), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4164 try testArgs(@Vector(3, i65), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4165 try testArgs(@Vector(3, i127), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4166 try testArgs(@Vector(3, i128), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4167 try testArgs(@Vector(3, i129), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4168 try testArgs(@Vector(3, i255), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4169 try testArgs(@Vector(3, i256), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4170 try testArgs(@Vector(3, i257), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4171 try testArgs(@Vector(3, i511), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4172 try testArgs(@Vector(3, i512), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4173 try testArgs(@Vector(3, i513), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4174 try testArgs(@Vector(3, i1023), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4175 try testArgs(@Vector(3, i1024), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4176 try testArgs(@Vector(3, i1025), @Vector(3, i17), .{ -1 << 16, -1, 0 });
4177 try testArgs(@Vector(3, u7), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4178 try testArgs(@Vector(3, u8), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4179 try testArgs(@Vector(3, u9), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4180 try testArgs(@Vector(3, u15), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4181 try testArgs(@Vector(3, u16), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4182 try testArgs(@Vector(3, u17), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4183 try testArgs(@Vector(3, u31), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4184 try testArgs(@Vector(3, u32), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4185 try testArgs(@Vector(3, u33), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4186 try testArgs(@Vector(3, u63), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4187 try testArgs(@Vector(3, u64), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4188 try testArgs(@Vector(3, u65), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4189 try testArgs(@Vector(3, u127), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4190 try testArgs(@Vector(3, u128), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4191 try testArgs(@Vector(3, u129), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4192 try testArgs(@Vector(3, u255), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4193 try testArgs(@Vector(3, u256), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4194 try testArgs(@Vector(3, u257), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4195 try testArgs(@Vector(3, u511), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4196 try testArgs(@Vector(3, u512), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4197 try testArgs(@Vector(3, u513), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4198 try testArgs(@Vector(3, u1023), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4199 try testArgs(@Vector(3, u1024), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4200 try testArgs(@Vector(3, u1025), @Vector(3, u17), .{ 0, 1, 1 << 16 });
4201
4202 try testArgs(@Vector(3, i7), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4203 try testArgs(@Vector(3, i8), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4204 try testArgs(@Vector(3, i9), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4205 try testArgs(@Vector(3, i15), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4206 try testArgs(@Vector(3, i16), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4207 try testArgs(@Vector(3, i17), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4208 try testArgs(@Vector(3, i31), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4209 try testArgs(@Vector(3, i32), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4210 try testArgs(@Vector(3, i33), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4211 try testArgs(@Vector(3, i63), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4212 try testArgs(@Vector(3, i64), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4213 try testArgs(@Vector(3, i65), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4214 try testArgs(@Vector(3, i127), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4215 try testArgs(@Vector(3, i128), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4216 try testArgs(@Vector(3, i129), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4217 try testArgs(@Vector(3, i255), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4218 try testArgs(@Vector(3, i256), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4219 try testArgs(@Vector(3, i257), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4220 try testArgs(@Vector(3, i511), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4221 try testArgs(@Vector(3, i512), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4222 try testArgs(@Vector(3, i513), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4223 try testArgs(@Vector(3, i1023), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4224 try testArgs(@Vector(3, i1024), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4225 try testArgs(@Vector(3, i1025), @Vector(3, i31), .{ -1 << 30, -1, 0 });
4226 try testArgs(@Vector(3, u7), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4227 try testArgs(@Vector(3, u8), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4228 try testArgs(@Vector(3, u9), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4229 try testArgs(@Vector(3, u15), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4230 try testArgs(@Vector(3, u16), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4231 try testArgs(@Vector(3, u17), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4232 try testArgs(@Vector(3, u31), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4233 try testArgs(@Vector(3, u32), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4234 try testArgs(@Vector(3, u33), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4235 try testArgs(@Vector(3, u63), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4236 try testArgs(@Vector(3, u64), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4237 try testArgs(@Vector(3, u65), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4238 try testArgs(@Vector(3, u127), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4239 try testArgs(@Vector(3, u128), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4240 try testArgs(@Vector(3, u129), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4241 try testArgs(@Vector(3, u255), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4242 try testArgs(@Vector(3, u256), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4243 try testArgs(@Vector(3, u257), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4244 try testArgs(@Vector(3, u511), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4245 try testArgs(@Vector(3, u512), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4246 try testArgs(@Vector(3, u513), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4247 try testArgs(@Vector(3, u1023), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4248 try testArgs(@Vector(3, u1024), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4249 try testArgs(@Vector(3, u1025), @Vector(3, u31), .{ 0, 1, 1 << 30 });
4250
4251 try testArgs(@Vector(3, i7), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4252 try testArgs(@Vector(3, i8), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4253 try testArgs(@Vector(3, i9), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4254 try testArgs(@Vector(3, i15), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4255 try testArgs(@Vector(3, i16), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4256 try testArgs(@Vector(3, i17), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4257 try testArgs(@Vector(3, i31), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4258 try testArgs(@Vector(3, i32), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4259 try testArgs(@Vector(3, i33), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4260 try testArgs(@Vector(3, i63), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4261 try testArgs(@Vector(3, i64), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4262 try testArgs(@Vector(3, i65), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4263 try testArgs(@Vector(3, i127), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4264 try testArgs(@Vector(3, i128), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4265 try testArgs(@Vector(3, i129), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4266 try testArgs(@Vector(3, i255), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4267 try testArgs(@Vector(3, i256), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4268 try testArgs(@Vector(3, i257), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4269 try testArgs(@Vector(3, i511), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4270 try testArgs(@Vector(3, i512), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4271 try testArgs(@Vector(3, i513), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4272 try testArgs(@Vector(3, i1023), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4273 try testArgs(@Vector(3, i1024), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4274 try testArgs(@Vector(3, i1025), @Vector(3, i32), .{ -1 << 31, -1, 0 });
4275 try testArgs(@Vector(3, u7), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4276 try testArgs(@Vector(3, u8), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4277 try testArgs(@Vector(3, u9), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4278 try testArgs(@Vector(3, u15), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4279 try testArgs(@Vector(3, u16), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4280 try testArgs(@Vector(3, u17), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4281 try testArgs(@Vector(3, u31), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4282 try testArgs(@Vector(3, u32), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4283 try testArgs(@Vector(3, u33), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4284 try testArgs(@Vector(3, u63), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4285 try testArgs(@Vector(3, u64), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4286 try testArgs(@Vector(3, u65), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4287 try testArgs(@Vector(3, u127), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4288 try testArgs(@Vector(3, u128), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4289 try testArgs(@Vector(3, u129), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4290 try testArgs(@Vector(3, u255), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4291 try testArgs(@Vector(3, u256), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4292 try testArgs(@Vector(3, u257), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4293 try testArgs(@Vector(3, u511), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4294 try testArgs(@Vector(3, u512), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4295 try testArgs(@Vector(3, u513), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4296 try testArgs(@Vector(3, u1023), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4297 try testArgs(@Vector(3, u1024), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4298 try testArgs(@Vector(3, u1025), @Vector(3, u32), .{ 0, 1, 1 << 31 });
4299
4300 try testArgs(@Vector(3, i7), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4301 try testArgs(@Vector(3, i8), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4302 try testArgs(@Vector(3, i9), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4303 try testArgs(@Vector(3, i15), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4304 try testArgs(@Vector(3, i16), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4305 try testArgs(@Vector(3, i17), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4306 try testArgs(@Vector(3, i31), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4307 try testArgs(@Vector(3, i32), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4308 try testArgs(@Vector(3, i33), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4309 try testArgs(@Vector(3, i63), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4310 try testArgs(@Vector(3, i64), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4311 try testArgs(@Vector(3, i65), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4312 try testArgs(@Vector(3, i127), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4313 try testArgs(@Vector(3, i128), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4314 try testArgs(@Vector(3, i129), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4315 try testArgs(@Vector(3, i255), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4316 try testArgs(@Vector(3, i256), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4317 try testArgs(@Vector(3, i257), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4318 try testArgs(@Vector(3, i511), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4319 try testArgs(@Vector(3, i512), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4320 try testArgs(@Vector(3, i513), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4321 try testArgs(@Vector(3, i1023), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4322 try testArgs(@Vector(3, i1024), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4323 try testArgs(@Vector(3, i1025), @Vector(3, i33), .{ -1 << 32, -1, 0 });
4324 try testArgs(@Vector(3, u7), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4325 try testArgs(@Vector(3, u8), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4326 try testArgs(@Vector(3, u9), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4327 try testArgs(@Vector(3, u15), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4328 try testArgs(@Vector(3, u16), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4329 try testArgs(@Vector(3, u17), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4330 try testArgs(@Vector(3, u31), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4331 try testArgs(@Vector(3, u32), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4332 try testArgs(@Vector(3, u33), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4333 try testArgs(@Vector(3, u63), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4334 try testArgs(@Vector(3, u64), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4335 try testArgs(@Vector(3, u65), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4336 try testArgs(@Vector(3, u127), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4337 try testArgs(@Vector(3, u128), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4338 try testArgs(@Vector(3, u129), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4339 try testArgs(@Vector(3, u255), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4340 try testArgs(@Vector(3, u256), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4341 try testArgs(@Vector(3, u257), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4342 try testArgs(@Vector(3, u511), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4343 try testArgs(@Vector(3, u512), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4344 try testArgs(@Vector(3, u513), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4345 try testArgs(@Vector(3, u1023), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4346 try testArgs(@Vector(3, u1024), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4347 try testArgs(@Vector(3, u1025), @Vector(3, u33), .{ 0, 1, 1 << 32 });
4348
4349 try testArgs(@Vector(3, i7), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4350 try testArgs(@Vector(3, i8), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4351 try testArgs(@Vector(3, i9), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4352 try testArgs(@Vector(3, i15), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4353 try testArgs(@Vector(3, i16), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4354 try testArgs(@Vector(3, i17), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4355 try testArgs(@Vector(3, i31), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4356 try testArgs(@Vector(3, i32), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4357 try testArgs(@Vector(3, i33), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4358 try testArgs(@Vector(3, i63), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4359 try testArgs(@Vector(3, i64), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4360 try testArgs(@Vector(3, i65), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4361 try testArgs(@Vector(3, i127), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4362 try testArgs(@Vector(3, i128), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4363 try testArgs(@Vector(3, i129), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4364 try testArgs(@Vector(3, i255), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4365 try testArgs(@Vector(3, i256), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4366 try testArgs(@Vector(3, i257), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4367 try testArgs(@Vector(3, i511), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4368 try testArgs(@Vector(3, i512), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4369 try testArgs(@Vector(3, i513), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4370 try testArgs(@Vector(3, i1023), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4371 try testArgs(@Vector(3, i1024), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4372 try testArgs(@Vector(3, i1025), @Vector(3, i63), .{ -1 << 62, -1, 0 });
4373 try testArgs(@Vector(3, u7), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4374 try testArgs(@Vector(3, u8), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4375 try testArgs(@Vector(3, u9), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4376 try testArgs(@Vector(3, u15), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4377 try testArgs(@Vector(3, u16), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4378 try testArgs(@Vector(3, u17), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4379 try testArgs(@Vector(3, u31), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4380 try testArgs(@Vector(3, u32), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4381 try testArgs(@Vector(3, u33), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4382 try testArgs(@Vector(3, u63), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4383 try testArgs(@Vector(3, u64), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4384 try testArgs(@Vector(3, u65), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4385 try testArgs(@Vector(3, u127), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4386 try testArgs(@Vector(3, u128), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4387 try testArgs(@Vector(3, u129), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4388 try testArgs(@Vector(3, u255), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4389 try testArgs(@Vector(3, u256), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4390 try testArgs(@Vector(3, u257), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4391 try testArgs(@Vector(3, u511), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4392 try testArgs(@Vector(3, u512), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4393 try testArgs(@Vector(3, u513), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4394 try testArgs(@Vector(3, u1023), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4395 try testArgs(@Vector(3, u1024), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4396 try testArgs(@Vector(3, u1025), @Vector(3, u63), .{ 0, 1, 1 << 62 });
4397
4398 try testArgs(@Vector(3, i7), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4399 try testArgs(@Vector(3, i8), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4400 try testArgs(@Vector(3, i9), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4401 try testArgs(@Vector(3, i15), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4402 try testArgs(@Vector(3, i16), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4403 try testArgs(@Vector(3, i17), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4404 try testArgs(@Vector(3, i31), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4405 try testArgs(@Vector(3, i32), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4406 try testArgs(@Vector(3, i33), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4407 try testArgs(@Vector(3, i63), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4408 try testArgs(@Vector(3, i64), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4409 try testArgs(@Vector(3, i65), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4410 try testArgs(@Vector(3, i127), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4411 try testArgs(@Vector(3, i128), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4412 try testArgs(@Vector(3, i129), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4413 try testArgs(@Vector(3, i255), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4414 try testArgs(@Vector(3, i256), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4415 try testArgs(@Vector(3, i257), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4416 try testArgs(@Vector(3, i511), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4417 try testArgs(@Vector(3, i512), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4418 try testArgs(@Vector(3, i513), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4419 try testArgs(@Vector(3, i1023), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4420 try testArgs(@Vector(3, i1024), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4421 try testArgs(@Vector(3, i1025), @Vector(3, i64), .{ -1 << 63, -1, 0 });
4422 try testArgs(@Vector(3, u7), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4423 try testArgs(@Vector(3, u8), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4424 try testArgs(@Vector(3, u9), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4425 try testArgs(@Vector(3, u15), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4426 try testArgs(@Vector(3, u16), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4427 try testArgs(@Vector(3, u17), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4428 try testArgs(@Vector(3, u31), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4429 try testArgs(@Vector(3, u32), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4430 try testArgs(@Vector(3, u33), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4431 try testArgs(@Vector(3, u63), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4432 try testArgs(@Vector(3, u64), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4433 try testArgs(@Vector(3, u65), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4434 try testArgs(@Vector(3, u127), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4435 try testArgs(@Vector(3, u128), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4436 try testArgs(@Vector(3, u129), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4437 try testArgs(@Vector(3, u255), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4438 try testArgs(@Vector(3, u256), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4439 try testArgs(@Vector(3, u257), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4440 try testArgs(@Vector(3, u511), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4441 try testArgs(@Vector(3, u512), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4442 try testArgs(@Vector(3, u513), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4443 try testArgs(@Vector(3, u1023), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4444 try testArgs(@Vector(3, u1024), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4445 try testArgs(@Vector(3, u1025), @Vector(3, u64), .{ 0, 1, 1 << 63 });
4446
4447 try testArgs(@Vector(3, i7), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4448 try testArgs(@Vector(3, i8), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4449 try testArgs(@Vector(3, i9), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4450 try testArgs(@Vector(3, i15), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4451 try testArgs(@Vector(3, i16), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4452 try testArgs(@Vector(3, i17), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4453 try testArgs(@Vector(3, i31), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4454 try testArgs(@Vector(3, i32), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4455 try testArgs(@Vector(3, i33), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4456 try testArgs(@Vector(3, i63), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4457 try testArgs(@Vector(3, i64), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4458 try testArgs(@Vector(3, i65), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4459 try testArgs(@Vector(3, i127), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4460 try testArgs(@Vector(3, i128), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4461 try testArgs(@Vector(3, i129), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4462 try testArgs(@Vector(3, i255), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4463 try testArgs(@Vector(3, i256), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4464 try testArgs(@Vector(3, i257), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4465 try testArgs(@Vector(3, i511), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4466 try testArgs(@Vector(3, i512), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4467 try testArgs(@Vector(3, i513), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4468 try testArgs(@Vector(3, i1023), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4469 try testArgs(@Vector(3, i1024), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4470 try testArgs(@Vector(3, i1025), @Vector(3, i65), .{ -1 << 64, -1, 0 });
4471 try testArgs(@Vector(3, u7), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4472 try testArgs(@Vector(3, u8), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4473 try testArgs(@Vector(3, u9), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4474 try testArgs(@Vector(3, u15), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4475 try testArgs(@Vector(3, u16), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4476 try testArgs(@Vector(3, u17), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4477 try testArgs(@Vector(3, u31), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4478 try testArgs(@Vector(3, u32), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4479 try testArgs(@Vector(3, u33), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4480 try testArgs(@Vector(3, u63), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4481 try testArgs(@Vector(3, u64), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4482 try testArgs(@Vector(3, u65), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4483 try testArgs(@Vector(3, u127), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4484 try testArgs(@Vector(3, u128), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4485 try testArgs(@Vector(3, u129), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4486 try testArgs(@Vector(3, u255), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4487 try testArgs(@Vector(3, u256), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4488 try testArgs(@Vector(3, u257), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4489 try testArgs(@Vector(3, u511), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4490 try testArgs(@Vector(3, u512), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4491 try testArgs(@Vector(3, u513), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4492 try testArgs(@Vector(3, u1023), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4493 try testArgs(@Vector(3, u1024), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4494 try testArgs(@Vector(3, u1025), @Vector(3, u65), .{ 0, 1, 1 << 64 });
4495
4496 try testArgs(@Vector(3, i7), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4497 try testArgs(@Vector(3, i8), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4498 try testArgs(@Vector(3, i9), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4499 try testArgs(@Vector(3, i15), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4500 try testArgs(@Vector(3, i16), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4501 try testArgs(@Vector(3, i17), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4502 try testArgs(@Vector(3, i31), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4503 try testArgs(@Vector(3, i32), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4504 try testArgs(@Vector(3, i33), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4505 try testArgs(@Vector(3, i63), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4506 try testArgs(@Vector(3, i64), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4507 try testArgs(@Vector(3, i65), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4508 try testArgs(@Vector(3, i127), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4509 try testArgs(@Vector(3, i128), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4510 try testArgs(@Vector(3, i129), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4511 try testArgs(@Vector(3, i255), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4512 try testArgs(@Vector(3, i256), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4513 try testArgs(@Vector(3, i257), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4514 try testArgs(@Vector(3, i511), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4515 try testArgs(@Vector(3, i512), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4516 try testArgs(@Vector(3, i513), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4517 try testArgs(@Vector(3, i1023), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4518 try testArgs(@Vector(3, i1024), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4519 try testArgs(@Vector(3, i1025), @Vector(3, i95), .{ -1 << 94, -1, 0 });
4520 try testArgs(@Vector(3, u7), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4521 try testArgs(@Vector(3, u8), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4522 try testArgs(@Vector(3, u9), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4523 try testArgs(@Vector(3, u15), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4524 try testArgs(@Vector(3, u16), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4525 try testArgs(@Vector(3, u17), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4526 try testArgs(@Vector(3, u31), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4527 try testArgs(@Vector(3, u32), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4528 try testArgs(@Vector(3, u33), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4529 try testArgs(@Vector(3, u63), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4530 try testArgs(@Vector(3, u64), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4531 try testArgs(@Vector(3, u65), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4532 try testArgs(@Vector(3, u127), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4533 try testArgs(@Vector(3, u128), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4534 try testArgs(@Vector(3, u129), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4535 try testArgs(@Vector(3, u255), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4536 try testArgs(@Vector(3, u256), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4537 try testArgs(@Vector(3, u257), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4538 try testArgs(@Vector(3, u511), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4539 try testArgs(@Vector(3, u512), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4540 try testArgs(@Vector(3, u513), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4541 try testArgs(@Vector(3, u1023), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4542 try testArgs(@Vector(3, u1024), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4543 try testArgs(@Vector(3, u1025), @Vector(3, u95), .{ 0, 1, 1 << 94 });
4544
4545 try testArgs(@Vector(3, i7), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4546 try testArgs(@Vector(3, i8), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4547 try testArgs(@Vector(3, i9), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4548 try testArgs(@Vector(3, i15), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4549 try testArgs(@Vector(3, i16), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4550 try testArgs(@Vector(3, i17), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4551 try testArgs(@Vector(3, i31), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4552 try testArgs(@Vector(3, i32), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4553 try testArgs(@Vector(3, i33), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4554 try testArgs(@Vector(3, i63), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4555 try testArgs(@Vector(3, i64), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4556 try testArgs(@Vector(3, i65), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4557 try testArgs(@Vector(3, i127), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4558 try testArgs(@Vector(3, i128), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4559 try testArgs(@Vector(3, i129), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4560 try testArgs(@Vector(3, i255), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4561 try testArgs(@Vector(3, i256), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4562 try testArgs(@Vector(3, i257), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4563 try testArgs(@Vector(3, i511), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4564 try testArgs(@Vector(3, i512), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4565 try testArgs(@Vector(3, i513), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4566 try testArgs(@Vector(3, i1023), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4567 try testArgs(@Vector(3, i1024), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4568 try testArgs(@Vector(3, i1025), @Vector(3, i96), .{ -1 << 95, -1, 0 });
4569 try testArgs(@Vector(3, u7), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4570 try testArgs(@Vector(3, u8), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4571 try testArgs(@Vector(3, u9), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4572 try testArgs(@Vector(3, u15), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4573 try testArgs(@Vector(3, u16), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4574 try testArgs(@Vector(3, u17), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4575 try testArgs(@Vector(3, u31), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4576 try testArgs(@Vector(3, u32), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4577 try testArgs(@Vector(3, u33), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4578 try testArgs(@Vector(3, u63), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4579 try testArgs(@Vector(3, u64), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4580 try testArgs(@Vector(3, u65), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4581 try testArgs(@Vector(3, u127), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4582 try testArgs(@Vector(3, u128), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4583 try testArgs(@Vector(3, u129), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4584 try testArgs(@Vector(3, u255), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4585 try testArgs(@Vector(3, u256), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4586 try testArgs(@Vector(3, u257), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4587 try testArgs(@Vector(3, u511), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4588 try testArgs(@Vector(3, u512), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4589 try testArgs(@Vector(3, u513), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4590 try testArgs(@Vector(3, u1023), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4591 try testArgs(@Vector(3, u1024), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4592 try testArgs(@Vector(3, u1025), @Vector(3, u96), .{ 0, 1, 1 << 95 });
4593
4594 try testArgs(@Vector(3, i7), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4595 try testArgs(@Vector(3, i8), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4596 try testArgs(@Vector(3, i9), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4597 try testArgs(@Vector(3, i15), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4598 try testArgs(@Vector(3, i16), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4599 try testArgs(@Vector(3, i17), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4600 try testArgs(@Vector(3, i31), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4601 try testArgs(@Vector(3, i32), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4602 try testArgs(@Vector(3, i33), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4603 try testArgs(@Vector(3, i63), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4604 try testArgs(@Vector(3, i64), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4605 try testArgs(@Vector(3, i65), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4606 try testArgs(@Vector(3, i127), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4607 try testArgs(@Vector(3, i128), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4608 try testArgs(@Vector(3, i129), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4609 try testArgs(@Vector(3, i255), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4610 try testArgs(@Vector(3, i256), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4611 try testArgs(@Vector(3, i257), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4612 try testArgs(@Vector(3, i511), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4613 try testArgs(@Vector(3, i512), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4614 try testArgs(@Vector(3, i513), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4615 try testArgs(@Vector(3, i1023), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4616 try testArgs(@Vector(3, i1024), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4617 try testArgs(@Vector(3, i1025), @Vector(3, i97), .{ -1 << 96, -1, 0 });
4618 try testArgs(@Vector(3, u7), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4619 try testArgs(@Vector(3, u8), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4620 try testArgs(@Vector(3, u9), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4621 try testArgs(@Vector(3, u15), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4622 try testArgs(@Vector(3, u16), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4623 try testArgs(@Vector(3, u17), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4624 try testArgs(@Vector(3, u31), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4625 try testArgs(@Vector(3, u32), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4626 try testArgs(@Vector(3, u33), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4627 try testArgs(@Vector(3, u63), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4628 try testArgs(@Vector(3, u64), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4629 try testArgs(@Vector(3, u65), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4630 try testArgs(@Vector(3, u127), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4631 try testArgs(@Vector(3, u128), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4632 try testArgs(@Vector(3, u129), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4633 try testArgs(@Vector(3, u255), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4634 try testArgs(@Vector(3, u256), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4635 try testArgs(@Vector(3, u257), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4636 try testArgs(@Vector(3, u511), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4637 try testArgs(@Vector(3, u512), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4638 try testArgs(@Vector(3, u513), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4639 try testArgs(@Vector(3, u1023), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4640 try testArgs(@Vector(3, u1024), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4641 try testArgs(@Vector(3, u1025), @Vector(3, u97), .{ 0, 1, 1 << 96 });
4642
4643 try testArgs(@Vector(3, i7), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4644 try testArgs(@Vector(3, i8), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4645 try testArgs(@Vector(3, i9), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4646 try testArgs(@Vector(3, i15), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4647 try testArgs(@Vector(3, i16), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4648 try testArgs(@Vector(3, i17), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4649 try testArgs(@Vector(3, i31), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4650 try testArgs(@Vector(3, i32), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4651 try testArgs(@Vector(3, i33), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4652 try testArgs(@Vector(3, i63), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4653 try testArgs(@Vector(3, i64), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4654 try testArgs(@Vector(3, i65), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4655 try testArgs(@Vector(3, i127), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4656 try testArgs(@Vector(3, i128), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4657 try testArgs(@Vector(3, i129), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4658 try testArgs(@Vector(3, i255), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4659 try testArgs(@Vector(3, i256), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4660 try testArgs(@Vector(3, i257), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4661 try testArgs(@Vector(3, i511), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4662 try testArgs(@Vector(3, i512), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4663 try testArgs(@Vector(3, i513), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4664 try testArgs(@Vector(3, i1023), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4665 try testArgs(@Vector(3, i1024), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4666 try testArgs(@Vector(3, i1025), @Vector(3, i127), .{ -1 << 126, -1, 0 });
4667 try testArgs(@Vector(3, u7), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4668 try testArgs(@Vector(3, u8), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4669 try testArgs(@Vector(3, u9), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4670 try testArgs(@Vector(3, u15), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4671 try testArgs(@Vector(3, u16), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4672 try testArgs(@Vector(3, u17), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4673 try testArgs(@Vector(3, u31), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4674 try testArgs(@Vector(3, u32), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4675 try testArgs(@Vector(3, u33), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4676 try testArgs(@Vector(3, u63), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4677 try testArgs(@Vector(3, u64), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4678 try testArgs(@Vector(3, u65), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4679 try testArgs(@Vector(3, u127), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4680 try testArgs(@Vector(3, u128), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4681 try testArgs(@Vector(3, u129), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4682 try testArgs(@Vector(3, u255), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4683 try testArgs(@Vector(3, u256), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4684 try testArgs(@Vector(3, u257), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4685 try testArgs(@Vector(3, u511), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4686 try testArgs(@Vector(3, u512), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4687 try testArgs(@Vector(3, u513), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4688 try testArgs(@Vector(3, u1023), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4689 try testArgs(@Vector(3, u1024), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4690 try testArgs(@Vector(3, u1025), @Vector(3, u127), .{ 0, 1, 1 << 126 });
4691
4692 try testArgs(@Vector(3, i7), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4693 try testArgs(@Vector(3, i8), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4694 try testArgs(@Vector(3, i9), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4695 try testArgs(@Vector(3, i15), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4696 try testArgs(@Vector(3, i16), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4697 try testArgs(@Vector(3, i17), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4698 try testArgs(@Vector(3, i31), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4699 try testArgs(@Vector(3, i32), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4700 try testArgs(@Vector(3, i33), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4701 try testArgs(@Vector(3, i63), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4702 try testArgs(@Vector(3, i64), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4703 try testArgs(@Vector(3, i65), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4704 try testArgs(@Vector(3, i127), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4705 try testArgs(@Vector(3, i128), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4706 try testArgs(@Vector(3, i129), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4707 try testArgs(@Vector(3, i255), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4708 try testArgs(@Vector(3, i256), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4709 try testArgs(@Vector(3, i257), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4710 try testArgs(@Vector(3, i511), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4711 try testArgs(@Vector(3, i512), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4712 try testArgs(@Vector(3, i513), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4713 try testArgs(@Vector(3, i1023), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4714 try testArgs(@Vector(3, i1024), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4715 try testArgs(@Vector(3, i1025), @Vector(3, i128), .{ -1 << 127, -1, 0 });
4716 try testArgs(@Vector(3, u7), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4717 try testArgs(@Vector(3, u8), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4718 try testArgs(@Vector(3, u9), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4719 try testArgs(@Vector(3, u15), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4720 try testArgs(@Vector(3, u16), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4721 try testArgs(@Vector(3, u17), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4722 try testArgs(@Vector(3, u31), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4723 try testArgs(@Vector(3, u32), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4724 try testArgs(@Vector(3, u33), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4725 try testArgs(@Vector(3, u63), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4726 try testArgs(@Vector(3, u64), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4727 try testArgs(@Vector(3, u65), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4728 try testArgs(@Vector(3, u127), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4729 try testArgs(@Vector(3, u128), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4730 try testArgs(@Vector(3, u129), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4731 try testArgs(@Vector(3, u255), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4732 try testArgs(@Vector(3, u256), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4733 try testArgs(@Vector(3, u257), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4734 try testArgs(@Vector(3, u511), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4735 try testArgs(@Vector(3, u512), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4736 try testArgs(@Vector(3, u513), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4737 try testArgs(@Vector(3, u1023), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4738 try testArgs(@Vector(3, u1024), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4739 try testArgs(@Vector(3, u1025), @Vector(3, u128), .{ 0, 1, 1 << 127 });
4740
4741 try testArgs(@Vector(3, i7), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4742 try testArgs(@Vector(3, i8), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4743 try testArgs(@Vector(3, i9), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4744 try testArgs(@Vector(3, i15), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4745 try testArgs(@Vector(3, i16), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4746 try testArgs(@Vector(3, i17), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4747 try testArgs(@Vector(3, i31), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4748 try testArgs(@Vector(3, i32), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4749 try testArgs(@Vector(3, i33), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4750 try testArgs(@Vector(3, i63), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4751 try testArgs(@Vector(3, i64), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4752 try testArgs(@Vector(3, i65), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4753 try testArgs(@Vector(3, i127), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4754 try testArgs(@Vector(3, i128), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4755 try testArgs(@Vector(3, i129), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4756 try testArgs(@Vector(3, i255), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4757 try testArgs(@Vector(3, i256), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4758 try testArgs(@Vector(3, i257), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4759 try testArgs(@Vector(3, i511), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4760 try testArgs(@Vector(3, i512), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4761 try testArgs(@Vector(3, i513), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4762 try testArgs(@Vector(3, i1023), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4763 try testArgs(@Vector(3, i1024), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4764 try testArgs(@Vector(3, i1025), @Vector(3, i129), .{ -1 << 128, -1, 0 });
4765 try testArgs(@Vector(3, u7), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4766 try testArgs(@Vector(3, u8), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4767 try testArgs(@Vector(3, u9), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4768 try testArgs(@Vector(3, u15), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4769 try testArgs(@Vector(3, u16), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4770 try testArgs(@Vector(3, u17), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4771 try testArgs(@Vector(3, u31), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4772 try testArgs(@Vector(3, u32), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4773 try testArgs(@Vector(3, u33), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4774 try testArgs(@Vector(3, u63), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4775 try testArgs(@Vector(3, u64), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4776 try testArgs(@Vector(3, u65), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4777 try testArgs(@Vector(3, u127), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4778 try testArgs(@Vector(3, u128), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4779 try testArgs(@Vector(3, u129), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4780 try testArgs(@Vector(3, u255), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4781 try testArgs(@Vector(3, u256), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4782 try testArgs(@Vector(3, u257), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4783 try testArgs(@Vector(3, u511), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4784 try testArgs(@Vector(3, u512), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4785 try testArgs(@Vector(3, u513), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4786 try testArgs(@Vector(3, u1023), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4787 try testArgs(@Vector(3, u1024), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4788 try testArgs(@Vector(3, u1025), @Vector(3, u129), .{ 0, 1, 1 << 128 });
4789
4790 try testArgs(@Vector(3, i7), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4791 try testArgs(@Vector(3, i8), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4792 try testArgs(@Vector(3, i9), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4793 try testArgs(@Vector(3, i15), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4794 try testArgs(@Vector(3, i16), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4795 try testArgs(@Vector(3, i17), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4796 try testArgs(@Vector(3, i31), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4797 try testArgs(@Vector(3, i32), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4798 try testArgs(@Vector(3, i33), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4799 try testArgs(@Vector(3, i63), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4800 try testArgs(@Vector(3, i64), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4801 try testArgs(@Vector(3, i65), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4802 try testArgs(@Vector(3, i127), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4803 try testArgs(@Vector(3, i128), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4804 try testArgs(@Vector(3, i129), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4805 try testArgs(@Vector(3, i255), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4806 try testArgs(@Vector(3, i256), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4807 try testArgs(@Vector(3, i257), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4808 try testArgs(@Vector(3, i511), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4809 try testArgs(@Vector(3, i512), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4810 try testArgs(@Vector(3, i513), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4811 try testArgs(@Vector(3, i1023), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4812 try testArgs(@Vector(3, i1024), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4813 try testArgs(@Vector(3, i1025), @Vector(3, i159), .{ -1 << 158, -1, 0 });
4814 try testArgs(@Vector(3, u7), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4815 try testArgs(@Vector(3, u8), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4816 try testArgs(@Vector(3, u9), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4817 try testArgs(@Vector(3, u15), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4818 try testArgs(@Vector(3, u16), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4819 try testArgs(@Vector(3, u17), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4820 try testArgs(@Vector(3, u31), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4821 try testArgs(@Vector(3, u32), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4822 try testArgs(@Vector(3, u33), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4823 try testArgs(@Vector(3, u63), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4824 try testArgs(@Vector(3, u64), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4825 try testArgs(@Vector(3, u65), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4826 try testArgs(@Vector(3, u127), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4827 try testArgs(@Vector(3, u128), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4828 try testArgs(@Vector(3, u129), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4829 try testArgs(@Vector(3, u255), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4830 try testArgs(@Vector(3, u256), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4831 try testArgs(@Vector(3, u257), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4832 try testArgs(@Vector(3, u511), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4833 try testArgs(@Vector(3, u512), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4834 try testArgs(@Vector(3, u513), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4835 try testArgs(@Vector(3, u1023), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4836 try testArgs(@Vector(3, u1024), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4837 try testArgs(@Vector(3, u1025), @Vector(3, u159), .{ 0, 1, 1 << 158 });
4838
4839 try testArgs(@Vector(3, i7), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4840 try testArgs(@Vector(3, i8), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4841 try testArgs(@Vector(3, i9), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4842 try testArgs(@Vector(3, i15), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4843 try testArgs(@Vector(3, i16), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4844 try testArgs(@Vector(3, i17), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4845 try testArgs(@Vector(3, i31), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4846 try testArgs(@Vector(3, i32), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4847 try testArgs(@Vector(3, i33), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4848 try testArgs(@Vector(3, i63), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4849 try testArgs(@Vector(3, i64), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4850 try testArgs(@Vector(3, i65), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4851 try testArgs(@Vector(3, i127), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4852 try testArgs(@Vector(3, i128), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4853 try testArgs(@Vector(3, i129), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4854 try testArgs(@Vector(3, i255), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4855 try testArgs(@Vector(3, i256), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4856 try testArgs(@Vector(3, i257), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4857 try testArgs(@Vector(3, i511), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4858 try testArgs(@Vector(3, i512), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4859 try testArgs(@Vector(3, i513), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4860 try testArgs(@Vector(3, i1023), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4861 try testArgs(@Vector(3, i1024), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4862 try testArgs(@Vector(3, i1025), @Vector(3, i160), .{ -1 << 159, -1, 0 });
4863 try testArgs(@Vector(3, u7), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4864 try testArgs(@Vector(3, u8), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4865 try testArgs(@Vector(3, u9), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4866 try testArgs(@Vector(3, u15), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4867 try testArgs(@Vector(3, u16), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4868 try testArgs(@Vector(3, u17), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4869 try testArgs(@Vector(3, u31), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4870 try testArgs(@Vector(3, u32), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4871 try testArgs(@Vector(3, u33), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4872 try testArgs(@Vector(3, u63), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4873 try testArgs(@Vector(3, u64), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4874 try testArgs(@Vector(3, u65), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4875 try testArgs(@Vector(3, u127), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4876 try testArgs(@Vector(3, u128), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4877 try testArgs(@Vector(3, u129), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4878 try testArgs(@Vector(3, u255), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4879 try testArgs(@Vector(3, u256), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4880 try testArgs(@Vector(3, u257), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4881 try testArgs(@Vector(3, u511), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4882 try testArgs(@Vector(3, u512), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4883 try testArgs(@Vector(3, u513), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4884 try testArgs(@Vector(3, u1023), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4885 try testArgs(@Vector(3, u1024), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4886 try testArgs(@Vector(3, u1025), @Vector(3, u160), .{ 0, 1, 1 << 159 });
4887
4888 try testArgs(@Vector(3, i7), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4889 try testArgs(@Vector(3, i8), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4890 try testArgs(@Vector(3, i9), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4891 try testArgs(@Vector(3, i15), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4892 try testArgs(@Vector(3, i16), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4893 try testArgs(@Vector(3, i17), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4894 try testArgs(@Vector(3, i31), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4895 try testArgs(@Vector(3, i32), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4896 try testArgs(@Vector(3, i33), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4897 try testArgs(@Vector(3, i63), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4898 try testArgs(@Vector(3, i64), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4899 try testArgs(@Vector(3, i65), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4900 try testArgs(@Vector(3, i127), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4901 try testArgs(@Vector(3, i128), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4902 try testArgs(@Vector(3, i129), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4903 try testArgs(@Vector(3, i255), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4904 try testArgs(@Vector(3, i256), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4905 try testArgs(@Vector(3, i257), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4906 try testArgs(@Vector(3, i511), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4907 try testArgs(@Vector(3, i512), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4908 try testArgs(@Vector(3, i513), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4909 try testArgs(@Vector(3, i1023), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4910 try testArgs(@Vector(3, i1024), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4911 try testArgs(@Vector(3, i1025), @Vector(3, i161), .{ -1 << 160, -1, 0 });
4912 try testArgs(@Vector(3, u7), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4913 try testArgs(@Vector(3, u8), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4914 try testArgs(@Vector(3, u9), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4915 try testArgs(@Vector(3, u15), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4916 try testArgs(@Vector(3, u16), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4917 try testArgs(@Vector(3, u17), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4918 try testArgs(@Vector(3, u31), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4919 try testArgs(@Vector(3, u32), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4920 try testArgs(@Vector(3, u33), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4921 try testArgs(@Vector(3, u63), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4922 try testArgs(@Vector(3, u64), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4923 try testArgs(@Vector(3, u65), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4924 try testArgs(@Vector(3, u127), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4925 try testArgs(@Vector(3, u128), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4926 try testArgs(@Vector(3, u129), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4927 try testArgs(@Vector(3, u255), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4928 try testArgs(@Vector(3, u256), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4929 try testArgs(@Vector(3, u257), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4930 try testArgs(@Vector(3, u511), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4931 try testArgs(@Vector(3, u512), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4932 try testArgs(@Vector(3, u513), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4933 try testArgs(@Vector(3, u1023), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4934 try testArgs(@Vector(3, u1024), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4935 try testArgs(@Vector(3, u1025), @Vector(3, u161), .{ 0, 1, 1 << 160 });
4936
4937 try testArgs(@Vector(3, i7), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4938 try testArgs(@Vector(3, i8), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4939 try testArgs(@Vector(3, i9), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4940 try testArgs(@Vector(3, i15), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4941 try testArgs(@Vector(3, i16), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4942 try testArgs(@Vector(3, i17), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4943 try testArgs(@Vector(3, i31), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4944 try testArgs(@Vector(3, i32), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4945 try testArgs(@Vector(3, i33), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4946 try testArgs(@Vector(3, i63), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4947 try testArgs(@Vector(3, i64), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4948 try testArgs(@Vector(3, i65), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4949 try testArgs(@Vector(3, i127), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4950 try testArgs(@Vector(3, i128), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4951 try testArgs(@Vector(3, i129), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4952 try testArgs(@Vector(3, i255), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4953 try testArgs(@Vector(3, i256), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4954 try testArgs(@Vector(3, i257), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4955 try testArgs(@Vector(3, i511), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4956 try testArgs(@Vector(3, i512), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4957 try testArgs(@Vector(3, i513), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4958 try testArgs(@Vector(3, i1023), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4959 try testArgs(@Vector(3, i1024), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4960 try testArgs(@Vector(3, i1025), @Vector(3, i191), .{ -1 << 190, -1, 0 });
4961 try testArgs(@Vector(3, u7), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4962 try testArgs(@Vector(3, u8), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4963 try testArgs(@Vector(3, u9), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4964 try testArgs(@Vector(3, u15), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4965 try testArgs(@Vector(3, u16), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4966 try testArgs(@Vector(3, u17), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4967 try testArgs(@Vector(3, u31), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4968 try testArgs(@Vector(3, u32), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4969 try testArgs(@Vector(3, u33), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4970 try testArgs(@Vector(3, u63), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4971 try testArgs(@Vector(3, u64), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4972 try testArgs(@Vector(3, u65), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4973 try testArgs(@Vector(3, u127), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4974 try testArgs(@Vector(3, u128), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4975 try testArgs(@Vector(3, u129), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4976 try testArgs(@Vector(3, u255), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4977 try testArgs(@Vector(3, u256), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4978 try testArgs(@Vector(3, u257), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4979 try testArgs(@Vector(3, u511), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4980 try testArgs(@Vector(3, u512), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4981 try testArgs(@Vector(3, u513), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4982 try testArgs(@Vector(3, u1023), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4983 try testArgs(@Vector(3, u1024), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4984 try testArgs(@Vector(3, u1025), @Vector(3, u191), .{ 0, 1, 1 << 190 });
4985
4986 try testArgs(@Vector(3, i7), @Vector(3, i192), .{ -1 << 191, -1, 0 });
4987 try testArgs(@Vector(3, i8), @Vector(3, i192), .{ -1 << 191, -1, 0 });
4988 try testArgs(@Vector(3, i9), @Vector(3, i192), .{ -1 << 191, -1, 0 });
4989 try testArgs(@Vector(3, i15), @Vector(3, i192), .{ -1 << 191, -1, 0 });
4990 try testArgs(@Vector(3, i16), @Vector(3, i192), .{ -1 << 191, -1, 0 });
4991 try testArgs(@Vector(3, i17), @Vector(3, i192), .{ -1 << 191, -1, 0 });
4992 try testArgs(@Vector(3, i31), @Vector(3, i192), .{ -1 << 191, -1, 0 });
4993 try testArgs(@Vector(3, i32), @Vector(3, i192), .{ -1 << 191, -1, 0 });
4994 try testArgs(@Vector(3, i33), @Vector(3, i192), .{ -1 << 191, -1, 0 });
4995 try testArgs(@Vector(3, i63), @Vector(3, i192), .{ -1 << 191, -1, 0 });
4996 try testArgs(@Vector(3, i64), @Vector(3, i192), .{ -1 << 191, -1, 0 });
4997 try testArgs(@Vector(3, i65), @Vector(3, i192), .{ -1 << 191, -1, 0 });
4998 try testArgs(@Vector(3, i127), @Vector(3, i192), .{ -1 << 191, -1, 0 });
4999 try testArgs(@Vector(3, i128), @Vector(3, i192), .{ -1 << 191, -1, 0 });
5000 try testArgs(@Vector(3, i129), @Vector(3, i192), .{ -1 << 191, -1, 0 });
5001 try testArgs(@Vector(3, i255), @Vector(3, i192), .{ -1 << 191, -1, 0 });
5002 try testArgs(@Vector(3, i256), @Vector(3, i192), .{ -1 << 191, -1, 0 });
5003 try testArgs(@Vector(3, i257), @Vector(3, i192), .{ -1 << 191, -1, 0 });
5004 try testArgs(@Vector(3, i511), @Vector(3, i192), .{ -1 << 191, -1, 0 });
5005 try testArgs(@Vector(3, i512), @Vector(3, i192), .{ -1 << 191, -1, 0 });
5006 try testArgs(@Vector(3, i513), @Vector(3, i192), .{ -1 << 191, -1, 0 });
5007 try testArgs(@Vector(3, i1023), @Vector(3, i192), .{ -1 << 191, -1, 0 });
5008 try testArgs(@Vector(3, i1024), @Vector(3, i192), .{ -1 << 191, -1, 0 });
5009 try testArgs(@Vector(3, i1025), @Vector(3, i192), .{ -1 << 191, -1, 0 });
5010 try testArgs(@Vector(3, u7), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5011 try testArgs(@Vector(3, u8), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5012 try testArgs(@Vector(3, u9), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5013 try testArgs(@Vector(3, u15), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5014 try testArgs(@Vector(3, u16), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5015 try testArgs(@Vector(3, u17), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5016 try testArgs(@Vector(3, u31), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5017 try testArgs(@Vector(3, u32), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5018 try testArgs(@Vector(3, u33), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5019 try testArgs(@Vector(3, u63), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5020 try testArgs(@Vector(3, u64), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5021 try testArgs(@Vector(3, u65), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5022 try testArgs(@Vector(3, u127), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5023 try testArgs(@Vector(3, u128), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5024 try testArgs(@Vector(3, u129), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5025 try testArgs(@Vector(3, u255), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5026 try testArgs(@Vector(3, u256), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5027 try testArgs(@Vector(3, u257), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5028 try testArgs(@Vector(3, u511), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5029 try testArgs(@Vector(3, u512), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5030 try testArgs(@Vector(3, u513), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5031 try testArgs(@Vector(3, u1023), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5032 try testArgs(@Vector(3, u1024), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5033 try testArgs(@Vector(3, u1025), @Vector(3, u192), .{ 0, 1, 1 << 191 });
5034
5035 try testArgs(@Vector(3, i7), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5036 try testArgs(@Vector(3, i8), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5037 try testArgs(@Vector(3, i9), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5038 try testArgs(@Vector(3, i15), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5039 try testArgs(@Vector(3, i16), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5040 try testArgs(@Vector(3, i17), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5041 try testArgs(@Vector(3, i31), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5042 try testArgs(@Vector(3, i32), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5043 try testArgs(@Vector(3, i33), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5044 try testArgs(@Vector(3, i63), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5045 try testArgs(@Vector(3, i64), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5046 try testArgs(@Vector(3, i65), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5047 try testArgs(@Vector(3, i127), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5048 try testArgs(@Vector(3, i128), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5049 try testArgs(@Vector(3, i129), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5050 try testArgs(@Vector(3, i255), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5051 try testArgs(@Vector(3, i256), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5052 try testArgs(@Vector(3, i257), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5053 try testArgs(@Vector(3, i511), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5054 try testArgs(@Vector(3, i512), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5055 try testArgs(@Vector(3, i513), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5056 try testArgs(@Vector(3, i1023), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5057 try testArgs(@Vector(3, i1024), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5058 try testArgs(@Vector(3, i1025), @Vector(3, i193), .{ -1 << 192, -1, 0 });
5059 try testArgs(@Vector(3, u7), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5060 try testArgs(@Vector(3, u8), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5061 try testArgs(@Vector(3, u9), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5062 try testArgs(@Vector(3, u15), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5063 try testArgs(@Vector(3, u16), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5064 try testArgs(@Vector(3, u17), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5065 try testArgs(@Vector(3, u31), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5066 try testArgs(@Vector(3, u32), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5067 try testArgs(@Vector(3, u33), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5068 try testArgs(@Vector(3, u63), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5069 try testArgs(@Vector(3, u64), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5070 try testArgs(@Vector(3, u65), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5071 try testArgs(@Vector(3, u127), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5072 try testArgs(@Vector(3, u128), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5073 try testArgs(@Vector(3, u129), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5074 try testArgs(@Vector(3, u255), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5075 try testArgs(@Vector(3, u256), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5076 try testArgs(@Vector(3, u257), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5077 try testArgs(@Vector(3, u511), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5078 try testArgs(@Vector(3, u512), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5079 try testArgs(@Vector(3, u513), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5080 try testArgs(@Vector(3, u1023), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5081 try testArgs(@Vector(3, u1024), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5082 try testArgs(@Vector(3, u1025), @Vector(3, u193), .{ 0, 1, 1 << 192 });
5083
5084 try testArgs(@Vector(3, i7), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5085 try testArgs(@Vector(3, i8), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5086 try testArgs(@Vector(3, i9), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5087 try testArgs(@Vector(3, i15), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5088 try testArgs(@Vector(3, i16), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5089 try testArgs(@Vector(3, i17), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5090 try testArgs(@Vector(3, i31), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5091 try testArgs(@Vector(3, i32), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5092 try testArgs(@Vector(3, i33), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5093 try testArgs(@Vector(3, i63), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5094 try testArgs(@Vector(3, i64), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5095 try testArgs(@Vector(3, i65), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5096 try testArgs(@Vector(3, i127), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5097 try testArgs(@Vector(3, i128), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5098 try testArgs(@Vector(3, i129), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5099 try testArgs(@Vector(3, i255), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5100 try testArgs(@Vector(3, i256), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5101 try testArgs(@Vector(3, i257), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5102 try testArgs(@Vector(3, i511), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5103 try testArgs(@Vector(3, i512), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5104 try testArgs(@Vector(3, i513), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5105 try testArgs(@Vector(3, i1023), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5106 try testArgs(@Vector(3, i1024), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5107 try testArgs(@Vector(3, i1025), @Vector(3, i223), .{ -1 << 222, -1, 0 });
5108 try testArgs(@Vector(3, u7), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5109 try testArgs(@Vector(3, u8), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5110 try testArgs(@Vector(3, u9), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5111 try testArgs(@Vector(3, u15), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5112 try testArgs(@Vector(3, u16), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5113 try testArgs(@Vector(3, u17), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5114 try testArgs(@Vector(3, u31), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5115 try testArgs(@Vector(3, u32), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5116 try testArgs(@Vector(3, u33), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5117 try testArgs(@Vector(3, u63), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5118 try testArgs(@Vector(3, u64), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5119 try testArgs(@Vector(3, u65), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5120 try testArgs(@Vector(3, u127), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5121 try testArgs(@Vector(3, u128), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5122 try testArgs(@Vector(3, u129), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5123 try testArgs(@Vector(3, u255), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5124 try testArgs(@Vector(3, u256), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5125 try testArgs(@Vector(3, u257), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5126 try testArgs(@Vector(3, u511), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5127 try testArgs(@Vector(3, u512), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5128 try testArgs(@Vector(3, u513), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5129 try testArgs(@Vector(3, u1023), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5130 try testArgs(@Vector(3, u1024), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5131 try testArgs(@Vector(3, u1025), @Vector(3, u223), .{ 0, 1, 1 << 222 });
5132
5133 try testArgs(@Vector(3, i7), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5134 try testArgs(@Vector(3, i8), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5135 try testArgs(@Vector(3, i9), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5136 try testArgs(@Vector(3, i15), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5137 try testArgs(@Vector(3, i16), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5138 try testArgs(@Vector(3, i17), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5139 try testArgs(@Vector(3, i31), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5140 try testArgs(@Vector(3, i32), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5141 try testArgs(@Vector(3, i33), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5142 try testArgs(@Vector(3, i63), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5143 try testArgs(@Vector(3, i64), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5144 try testArgs(@Vector(3, i65), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5145 try testArgs(@Vector(3, i127), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5146 try testArgs(@Vector(3, i128), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5147 try testArgs(@Vector(3, i129), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5148 try testArgs(@Vector(3, i255), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5149 try testArgs(@Vector(3, i256), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5150 try testArgs(@Vector(3, i257), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5151 try testArgs(@Vector(3, i511), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5152 try testArgs(@Vector(3, i512), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5153 try testArgs(@Vector(3, i513), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5154 try testArgs(@Vector(3, i1023), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5155 try testArgs(@Vector(3, i1024), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5156 try testArgs(@Vector(3, i1025), @Vector(3, i224), .{ -1 << 223, -1, 0 });
5157 try testArgs(@Vector(3, u7), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5158 try testArgs(@Vector(3, u8), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5159 try testArgs(@Vector(3, u9), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5160 try testArgs(@Vector(3, u15), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5161 try testArgs(@Vector(3, u16), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5162 try testArgs(@Vector(3, u17), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5163 try testArgs(@Vector(3, u31), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5164 try testArgs(@Vector(3, u32), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5165 try testArgs(@Vector(3, u33), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5166 try testArgs(@Vector(3, u63), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5167 try testArgs(@Vector(3, u64), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5168 try testArgs(@Vector(3, u65), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5169 try testArgs(@Vector(3, u127), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5170 try testArgs(@Vector(3, u128), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5171 try testArgs(@Vector(3, u129), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5172 try testArgs(@Vector(3, u255), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5173 try testArgs(@Vector(3, u256), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5174 try testArgs(@Vector(3, u257), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5175 try testArgs(@Vector(3, u511), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5176 try testArgs(@Vector(3, u512), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5177 try testArgs(@Vector(3, u513), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5178 try testArgs(@Vector(3, u1023), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5179 try testArgs(@Vector(3, u1024), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5180 try testArgs(@Vector(3, u1025), @Vector(3, u224), .{ 0, 1, 1 << 223 });
5181
5182 try testArgs(@Vector(3, i7), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5183 try testArgs(@Vector(3, i8), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5184 try testArgs(@Vector(3, i9), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5185 try testArgs(@Vector(3, i15), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5186 try testArgs(@Vector(3, i16), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5187 try testArgs(@Vector(3, i17), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5188 try testArgs(@Vector(3, i31), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5189 try testArgs(@Vector(3, i32), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5190 try testArgs(@Vector(3, i33), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5191 try testArgs(@Vector(3, i63), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5192 try testArgs(@Vector(3, i64), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5193 try testArgs(@Vector(3, i65), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5194 try testArgs(@Vector(3, i127), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5195 try testArgs(@Vector(3, i128), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5196 try testArgs(@Vector(3, i129), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5197 try testArgs(@Vector(3, i255), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5198 try testArgs(@Vector(3, i256), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5199 try testArgs(@Vector(3, i257), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5200 try testArgs(@Vector(3, i511), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5201 try testArgs(@Vector(3, i512), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5202 try testArgs(@Vector(3, i513), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5203 try testArgs(@Vector(3, i1023), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5204 try testArgs(@Vector(3, i1024), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5205 try testArgs(@Vector(3, i1025), @Vector(3, i225), .{ -1 << 224, -1, 0 });
5206 try testArgs(@Vector(3, u7), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5207 try testArgs(@Vector(3, u8), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5208 try testArgs(@Vector(3, u9), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5209 try testArgs(@Vector(3, u15), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5210 try testArgs(@Vector(3, u16), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5211 try testArgs(@Vector(3, u17), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5212 try testArgs(@Vector(3, u31), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5213 try testArgs(@Vector(3, u32), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5214 try testArgs(@Vector(3, u33), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5215 try testArgs(@Vector(3, u63), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5216 try testArgs(@Vector(3, u64), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5217 try testArgs(@Vector(3, u65), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5218 try testArgs(@Vector(3, u127), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5219 try testArgs(@Vector(3, u128), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5220 try testArgs(@Vector(3, u129), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5221 try testArgs(@Vector(3, u255), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5222 try testArgs(@Vector(3, u256), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5223 try testArgs(@Vector(3, u257), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5224 try testArgs(@Vector(3, u511), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5225 try testArgs(@Vector(3, u512), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5226 try testArgs(@Vector(3, u513), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5227 try testArgs(@Vector(3, u1023), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5228 try testArgs(@Vector(3, u1024), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5229 try testArgs(@Vector(3, u1025), @Vector(3, u225), .{ 0, 1, 1 << 224 });
5230
5231 try testArgs(@Vector(3, i7), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5232 try testArgs(@Vector(3, i8), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5233 try testArgs(@Vector(3, i9), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5234 try testArgs(@Vector(3, i15), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5235 try testArgs(@Vector(3, i16), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5236 try testArgs(@Vector(3, i17), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5237 try testArgs(@Vector(3, i31), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5238 try testArgs(@Vector(3, i32), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5239 try testArgs(@Vector(3, i33), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5240 try testArgs(@Vector(3, i63), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5241 try testArgs(@Vector(3, i64), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5242 try testArgs(@Vector(3, i65), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5243 try testArgs(@Vector(3, i127), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5244 try testArgs(@Vector(3, i128), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5245 try testArgs(@Vector(3, i129), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5246 try testArgs(@Vector(3, i255), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5247 try testArgs(@Vector(3, i256), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5248 try testArgs(@Vector(3, i257), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5249 try testArgs(@Vector(3, i511), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5250 try testArgs(@Vector(3, i512), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5251 try testArgs(@Vector(3, i513), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5252 try testArgs(@Vector(3, i1023), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5253 try testArgs(@Vector(3, i1024), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5254 try testArgs(@Vector(3, i1025), @Vector(3, i255), .{ -1 << 254, -1, 0 });
5255 try testArgs(@Vector(3, u7), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5256 try testArgs(@Vector(3, u8), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5257 try testArgs(@Vector(3, u9), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5258 try testArgs(@Vector(3, u15), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5259 try testArgs(@Vector(3, u16), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5260 try testArgs(@Vector(3, u17), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5261 try testArgs(@Vector(3, u31), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5262 try testArgs(@Vector(3, u32), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5263 try testArgs(@Vector(3, u33), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5264 try testArgs(@Vector(3, u63), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5265 try testArgs(@Vector(3, u64), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5266 try testArgs(@Vector(3, u65), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5267 try testArgs(@Vector(3, u127), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5268 try testArgs(@Vector(3, u128), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5269 try testArgs(@Vector(3, u129), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5270 try testArgs(@Vector(3, u255), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5271 try testArgs(@Vector(3, u256), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5272 try testArgs(@Vector(3, u257), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5273 try testArgs(@Vector(3, u511), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5274 try testArgs(@Vector(3, u512), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5275 try testArgs(@Vector(3, u513), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5276 try testArgs(@Vector(3, u1023), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5277 try testArgs(@Vector(3, u1024), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5278 try testArgs(@Vector(3, u1025), @Vector(3, u255), .{ 0, 1, 1 << 254 });
5279
5280 try testArgs(@Vector(3, i7), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5281 try testArgs(@Vector(3, i8), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5282 try testArgs(@Vector(3, i9), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5283 try testArgs(@Vector(3, i15), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5284 try testArgs(@Vector(3, i16), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5285 try testArgs(@Vector(3, i17), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5286 try testArgs(@Vector(3, i31), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5287 try testArgs(@Vector(3, i32), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5288 try testArgs(@Vector(3, i33), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5289 try testArgs(@Vector(3, i63), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5290 try testArgs(@Vector(3, i64), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5291 try testArgs(@Vector(3, i65), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5292 try testArgs(@Vector(3, i127), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5293 try testArgs(@Vector(3, i128), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5294 try testArgs(@Vector(3, i129), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5295 try testArgs(@Vector(3, i255), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5296 try testArgs(@Vector(3, i256), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5297 try testArgs(@Vector(3, i257), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5298 try testArgs(@Vector(3, i511), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5299 try testArgs(@Vector(3, i512), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5300 try testArgs(@Vector(3, i513), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5301 try testArgs(@Vector(3, i1023), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5302 try testArgs(@Vector(3, i1024), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5303 try testArgs(@Vector(3, i1025), @Vector(3, i256), .{ -1 << 255, -1, 0 });
5304 try testArgs(@Vector(3, u7), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5305 try testArgs(@Vector(3, u8), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5306 try testArgs(@Vector(3, u9), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5307 try testArgs(@Vector(3, u15), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5308 try testArgs(@Vector(3, u16), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5309 try testArgs(@Vector(3, u17), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5310 try testArgs(@Vector(3, u31), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5311 try testArgs(@Vector(3, u32), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5312 try testArgs(@Vector(3, u33), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5313 try testArgs(@Vector(3, u63), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5314 try testArgs(@Vector(3, u64), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5315 try testArgs(@Vector(3, u65), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5316 try testArgs(@Vector(3, u127), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5317 try testArgs(@Vector(3, u128), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5318 try testArgs(@Vector(3, u129), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5319 try testArgs(@Vector(3, u255), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5320 try testArgs(@Vector(3, u256), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5321 try testArgs(@Vector(3, u257), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5322 try testArgs(@Vector(3, u511), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5323 try testArgs(@Vector(3, u512), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5324 try testArgs(@Vector(3, u513), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5325 try testArgs(@Vector(3, u1023), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5326 try testArgs(@Vector(3, u1024), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5327 try testArgs(@Vector(3, u1025), @Vector(3, u256), .{ 0, 1, 1 << 255 });
5328
5329 try testArgs(@Vector(3, i7), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5330 try testArgs(@Vector(3, i8), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5331 try testArgs(@Vector(3, i9), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5332 try testArgs(@Vector(3, i15), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5333 try testArgs(@Vector(3, i16), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5334 try testArgs(@Vector(3, i17), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5335 try testArgs(@Vector(3, i31), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5336 try testArgs(@Vector(3, i32), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5337 try testArgs(@Vector(3, i33), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5338 try testArgs(@Vector(3, i63), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5339 try testArgs(@Vector(3, i64), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5340 try testArgs(@Vector(3, i65), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5341 try testArgs(@Vector(3, i127), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5342 try testArgs(@Vector(3, i128), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5343 try testArgs(@Vector(3, i129), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5344 try testArgs(@Vector(3, i255), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5345 try testArgs(@Vector(3, i256), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5346 try testArgs(@Vector(3, i257), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5347 try testArgs(@Vector(3, i511), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5348 try testArgs(@Vector(3, i512), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5349 try testArgs(@Vector(3, i513), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5350 try testArgs(@Vector(3, i1023), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5351 try testArgs(@Vector(3, i1024), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5352 try testArgs(@Vector(3, i1025), @Vector(3, i257), .{ -1 << 256, -1, 0 });
5353 try testArgs(@Vector(3, u7), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5354 try testArgs(@Vector(3, u8), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5355 try testArgs(@Vector(3, u9), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5356 try testArgs(@Vector(3, u15), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5357 try testArgs(@Vector(3, u16), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5358 try testArgs(@Vector(3, u17), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5359 try testArgs(@Vector(3, u31), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5360 try testArgs(@Vector(3, u32), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5361 try testArgs(@Vector(3, u33), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5362 try testArgs(@Vector(3, u63), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5363 try testArgs(@Vector(3, u64), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5364 try testArgs(@Vector(3, u65), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5365 try testArgs(@Vector(3, u127), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5366 try testArgs(@Vector(3, u128), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5367 try testArgs(@Vector(3, u129), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5368 try testArgs(@Vector(3, u255), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5369 try testArgs(@Vector(3, u256), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5370 try testArgs(@Vector(3, u257), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5371 try testArgs(@Vector(3, u511), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5372 try testArgs(@Vector(3, u512), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5373 try testArgs(@Vector(3, u513), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5374 try testArgs(@Vector(3, u1023), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5375 try testArgs(@Vector(3, u1024), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5376 try testArgs(@Vector(3, u1025), @Vector(3, u257), .{ 0, 1, 1 << 256 });
5377
5378 try testArgs(@Vector(3, i7), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5379 try testArgs(@Vector(3, i8), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5380 try testArgs(@Vector(3, i9), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5381 try testArgs(@Vector(3, i15), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5382 try testArgs(@Vector(3, i16), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5383 try testArgs(@Vector(3, i17), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5384 try testArgs(@Vector(3, i31), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5385 try testArgs(@Vector(3, i32), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5386 try testArgs(@Vector(3, i33), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5387 try testArgs(@Vector(3, i63), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5388 try testArgs(@Vector(3, i64), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5389 try testArgs(@Vector(3, i65), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5390 try testArgs(@Vector(3, i127), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5391 try testArgs(@Vector(3, i128), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5392 try testArgs(@Vector(3, i129), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5393 try testArgs(@Vector(3, i255), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5394 try testArgs(@Vector(3, i256), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5395 try testArgs(@Vector(3, i257), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5396 try testArgs(@Vector(3, i511), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5397 try testArgs(@Vector(3, i512), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5398 try testArgs(@Vector(3, i513), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5399 try testArgs(@Vector(3, i1023), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5400 try testArgs(@Vector(3, i1024), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5401 try testArgs(@Vector(3, i1025), @Vector(3, i511), .{ -1 << 510, -1, 0 });
5402 try testArgs(@Vector(3, u7), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5403 try testArgs(@Vector(3, u8), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5404 try testArgs(@Vector(3, u9), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5405 try testArgs(@Vector(3, u15), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5406 try testArgs(@Vector(3, u16), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5407 try testArgs(@Vector(3, u17), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5408 try testArgs(@Vector(3, u31), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5409 try testArgs(@Vector(3, u32), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5410 try testArgs(@Vector(3, u33), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5411 try testArgs(@Vector(3, u63), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5412 try testArgs(@Vector(3, u64), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5413 try testArgs(@Vector(3, u65), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5414 try testArgs(@Vector(3, u127), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5415 try testArgs(@Vector(3, u128), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5416 try testArgs(@Vector(3, u129), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5417 try testArgs(@Vector(3, u255), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5418 try testArgs(@Vector(3, u256), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5419 try testArgs(@Vector(3, u257), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5420 try testArgs(@Vector(3, u511), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5421 try testArgs(@Vector(3, u512), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5422 try testArgs(@Vector(3, u513), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5423 try testArgs(@Vector(3, u1023), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5424 try testArgs(@Vector(3, u1024), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5425 try testArgs(@Vector(3, u1025), @Vector(3, u511), .{ 0, 1, 1 << 510 });
5426
5427 try testArgs(@Vector(3, i7), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5428 try testArgs(@Vector(3, i8), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5429 try testArgs(@Vector(3, i9), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5430 try testArgs(@Vector(3, i15), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5431 try testArgs(@Vector(3, i16), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5432 try testArgs(@Vector(3, i17), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5433 try testArgs(@Vector(3, i31), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5434 try testArgs(@Vector(3, i32), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5435 try testArgs(@Vector(3, i33), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5436 try testArgs(@Vector(3, i63), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5437 try testArgs(@Vector(3, i64), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5438 try testArgs(@Vector(3, i65), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5439 try testArgs(@Vector(3, i127), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5440 try testArgs(@Vector(3, i128), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5441 try testArgs(@Vector(3, i129), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5442 try testArgs(@Vector(3, i255), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5443 try testArgs(@Vector(3, i256), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5444 try testArgs(@Vector(3, i257), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5445 try testArgs(@Vector(3, i511), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5446 try testArgs(@Vector(3, i512), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5447 try testArgs(@Vector(3, i513), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5448 try testArgs(@Vector(3, i1023), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5449 try testArgs(@Vector(3, i1024), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5450 try testArgs(@Vector(3, i1025), @Vector(3, i512), .{ -1 << 511, -1, 0 });
5451 try testArgs(@Vector(3, u7), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5452 try testArgs(@Vector(3, u8), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5453 try testArgs(@Vector(3, u9), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5454 try testArgs(@Vector(3, u15), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5455 try testArgs(@Vector(3, u16), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5456 try testArgs(@Vector(3, u17), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5457 try testArgs(@Vector(3, u31), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5458 try testArgs(@Vector(3, u32), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5459 try testArgs(@Vector(3, u33), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5460 try testArgs(@Vector(3, u63), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5461 try testArgs(@Vector(3, u64), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5462 try testArgs(@Vector(3, u65), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5463 try testArgs(@Vector(3, u127), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5464 try testArgs(@Vector(3, u128), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5465 try testArgs(@Vector(3, u129), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5466 try testArgs(@Vector(3, u255), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5467 try testArgs(@Vector(3, u256), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5468 try testArgs(@Vector(3, u257), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5469 try testArgs(@Vector(3, u511), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5470 try testArgs(@Vector(3, u512), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5471 try testArgs(@Vector(3, u513), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5472 try testArgs(@Vector(3, u1023), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5473 try testArgs(@Vector(3, u1024), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5474 try testArgs(@Vector(3, u1025), @Vector(3, u512), .{ 0, 1, 1 << 511 });
5475
5476 try testArgs(@Vector(3, i7), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5477 try testArgs(@Vector(3, i8), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5478 try testArgs(@Vector(3, i9), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5479 try testArgs(@Vector(3, i15), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5480 try testArgs(@Vector(3, i16), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5481 try testArgs(@Vector(3, i17), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5482 try testArgs(@Vector(3, i31), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5483 try testArgs(@Vector(3, i32), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5484 try testArgs(@Vector(3, i33), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5485 try testArgs(@Vector(3, i63), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5486 try testArgs(@Vector(3, i64), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5487 try testArgs(@Vector(3, i65), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5488 try testArgs(@Vector(3, i127), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5489 try testArgs(@Vector(3, i128), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5490 try testArgs(@Vector(3, i129), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5491 try testArgs(@Vector(3, i255), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5492 try testArgs(@Vector(3, i256), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5493 try testArgs(@Vector(3, i257), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5494 try testArgs(@Vector(3, i511), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5495 try testArgs(@Vector(3, i512), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5496 try testArgs(@Vector(3, i513), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5497 try testArgs(@Vector(3, i1023), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5498 try testArgs(@Vector(3, i1024), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5499 try testArgs(@Vector(3, i1025), @Vector(3, i513), .{ -1 << 512, -1, 0 });
5500 try testArgs(@Vector(3, u7), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5501 try testArgs(@Vector(3, u8), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5502 try testArgs(@Vector(3, u9), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5503 try testArgs(@Vector(3, u15), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5504 try testArgs(@Vector(3, u16), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5505 try testArgs(@Vector(3, u17), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5506 try testArgs(@Vector(3, u31), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5507 try testArgs(@Vector(3, u32), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5508 try testArgs(@Vector(3, u33), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5509 try testArgs(@Vector(3, u63), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5510 try testArgs(@Vector(3, u64), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5511 try testArgs(@Vector(3, u65), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5512 try testArgs(@Vector(3, u127), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5513 try testArgs(@Vector(3, u128), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5514 try testArgs(@Vector(3, u129), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5515 try testArgs(@Vector(3, u255), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5516 try testArgs(@Vector(3, u256), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5517 try testArgs(@Vector(3, u257), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5518 try testArgs(@Vector(3, u511), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5519 try testArgs(@Vector(3, u512), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5520 try testArgs(@Vector(3, u513), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5521 try testArgs(@Vector(3, u1023), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5522 try testArgs(@Vector(3, u1024), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5523 try testArgs(@Vector(3, u1025), @Vector(3, u513), .{ 0, 1, 1 << 512 });
5524
5525 try testArgs(@Vector(3, i7), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5526 try testArgs(@Vector(3, i8), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5527 try testArgs(@Vector(3, i9), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5528 try testArgs(@Vector(3, i15), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5529 try testArgs(@Vector(3, i16), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5530 try testArgs(@Vector(3, i17), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5531 try testArgs(@Vector(3, i31), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5532 try testArgs(@Vector(3, i32), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5533 try testArgs(@Vector(3, i33), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5534 try testArgs(@Vector(3, i63), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5535 try testArgs(@Vector(3, i64), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5536 try testArgs(@Vector(3, i65), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5537 try testArgs(@Vector(3, i127), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5538 try testArgs(@Vector(3, i128), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5539 try testArgs(@Vector(3, i129), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5540 try testArgs(@Vector(3, i255), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5541 try testArgs(@Vector(3, i256), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5542 try testArgs(@Vector(3, i257), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5543 try testArgs(@Vector(3, i511), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5544 try testArgs(@Vector(3, i512), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5545 try testArgs(@Vector(3, i513), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5546 try testArgs(@Vector(3, i1023), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5547 try testArgs(@Vector(3, i1024), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5548 try testArgs(@Vector(3, i1025), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
5549 try testArgs(@Vector(3, u7), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5550 try testArgs(@Vector(3, u8), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5551 try testArgs(@Vector(3, u9), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5552 try testArgs(@Vector(3, u15), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5553 try testArgs(@Vector(3, u16), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5554 try testArgs(@Vector(3, u17), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5555 try testArgs(@Vector(3, u31), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5556 try testArgs(@Vector(3, u32), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5557 try testArgs(@Vector(3, u33), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5558 try testArgs(@Vector(3, u63), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5559 try testArgs(@Vector(3, u64), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5560 try testArgs(@Vector(3, u65), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5561 try testArgs(@Vector(3, u127), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5562 try testArgs(@Vector(3, u128), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5563 try testArgs(@Vector(3, u129), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5564 try testArgs(@Vector(3, u255), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5565 try testArgs(@Vector(3, u256), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5566 try testArgs(@Vector(3, u257), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5567 try testArgs(@Vector(3, u511), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5568 try testArgs(@Vector(3, u512), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5569 try testArgs(@Vector(3, u513), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5570 try testArgs(@Vector(3, u1023), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5571 try testArgs(@Vector(3, u1024), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5572 try testArgs(@Vector(3, u1025), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
5573
5574 try testArgs(@Vector(3, i7), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5575 try testArgs(@Vector(3, i8), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5576 try testArgs(@Vector(3, i9), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5577 try testArgs(@Vector(3, i15), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5578 try testArgs(@Vector(3, i16), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5579 try testArgs(@Vector(3, i17), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5580 try testArgs(@Vector(3, i31), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5581 try testArgs(@Vector(3, i32), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5582 try testArgs(@Vector(3, i33), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5583 try testArgs(@Vector(3, i63), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5584 try testArgs(@Vector(3, i64), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5585 try testArgs(@Vector(3, i65), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5586 try testArgs(@Vector(3, i127), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5587 try testArgs(@Vector(3, i128), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5588 try testArgs(@Vector(3, i129), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5589 try testArgs(@Vector(3, i255), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5590 try testArgs(@Vector(3, i256), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5591 try testArgs(@Vector(3, i257), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5592 try testArgs(@Vector(3, i511), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5593 try testArgs(@Vector(3, i512), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5594 try testArgs(@Vector(3, i513), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5595 try testArgs(@Vector(3, i1023), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5596 try testArgs(@Vector(3, i1024), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5597 try testArgs(@Vector(3, i1025), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
5598 try testArgs(@Vector(3, u7), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5599 try testArgs(@Vector(3, u8), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5600 try testArgs(@Vector(3, u9), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5601 try testArgs(@Vector(3, u15), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5602 try testArgs(@Vector(3, u16), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5603 try testArgs(@Vector(3, u17), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5604 try testArgs(@Vector(3, u31), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5605 try testArgs(@Vector(3, u32), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5606 try testArgs(@Vector(3, u33), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5607 try testArgs(@Vector(3, u63), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5608 try testArgs(@Vector(3, u64), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5609 try testArgs(@Vector(3, u65), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5610 try testArgs(@Vector(3, u127), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5611 try testArgs(@Vector(3, u128), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5612 try testArgs(@Vector(3, u129), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5613 try testArgs(@Vector(3, u255), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5614 try testArgs(@Vector(3, u256), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5615 try testArgs(@Vector(3, u257), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5616 try testArgs(@Vector(3, u511), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5617 try testArgs(@Vector(3, u512), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5618 try testArgs(@Vector(3, u513), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5619 try testArgs(@Vector(3, u1023), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5620 try testArgs(@Vector(3, u1024), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5621 try testArgs(@Vector(3, u1025), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
5622
5623 try testArgs(@Vector(3, i7), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5624 try testArgs(@Vector(3, i8), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5625 try testArgs(@Vector(3, i9), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5626 try testArgs(@Vector(3, i15), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5627 try testArgs(@Vector(3, i16), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5628 try testArgs(@Vector(3, i17), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5629 try testArgs(@Vector(3, i31), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5630 try testArgs(@Vector(3, i32), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5631 try testArgs(@Vector(3, i33), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5632 try testArgs(@Vector(3, i63), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5633 try testArgs(@Vector(3, i64), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5634 try testArgs(@Vector(3, i65), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5635 try testArgs(@Vector(3, i127), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5636 try testArgs(@Vector(3, i128), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5637 try testArgs(@Vector(3, i129), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5638 try testArgs(@Vector(3, i255), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5639 try testArgs(@Vector(3, i256), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5640 try testArgs(@Vector(3, i257), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5641 try testArgs(@Vector(3, i511), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5642 try testArgs(@Vector(3, i512), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5643 try testArgs(@Vector(3, i513), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5644 try testArgs(@Vector(3, i1023), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5645 try testArgs(@Vector(3, i1024), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5646 try testArgs(@Vector(3, i1025), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
5647 try testArgs(@Vector(3, u7), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5648 try testArgs(@Vector(3, u8), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5649 try testArgs(@Vector(3, u9), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5650 try testArgs(@Vector(3, u15), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5651 try testArgs(@Vector(3, u16), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5652 try testArgs(@Vector(3, u17), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5653 try testArgs(@Vector(3, u31), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5654 try testArgs(@Vector(3, u32), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5655 try testArgs(@Vector(3, u33), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5656 try testArgs(@Vector(3, u63), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5657 try testArgs(@Vector(3, u64), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5658 try testArgs(@Vector(3, u65), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5659 try testArgs(@Vector(3, u127), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5660 try testArgs(@Vector(3, u128), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5661 try testArgs(@Vector(3, u129), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5662 try testArgs(@Vector(3, u255), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5663 try testArgs(@Vector(3, u256), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5664 try testArgs(@Vector(3, u257), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5665 try testArgs(@Vector(3, u511), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5666 try testArgs(@Vector(3, u512), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5667 try testArgs(@Vector(3, u513), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5668 try testArgs(@Vector(3, u1023), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5669 try testArgs(@Vector(3, u1024), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5670 try testArgs(@Vector(3, u1025), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
5671 }
5672 fn testIntVectors() !void {
5673 try testSameSignednessIntVectors();
5674
5675 try testArgs(@Vector(1, u8), @Vector(1, i1), .{-1});
5676 try testArgs(@Vector(1, u16), @Vector(1, i1), .{-1});
5677 try testArgs(@Vector(1, u32), @Vector(1, i1), .{-1});
5678 try testArgs(@Vector(1, u64), @Vector(1, i1), .{-1});
5679 try testArgs(@Vector(1, u128), @Vector(1, i1), .{-1});
5680 try testArgs(@Vector(1, u256), @Vector(1, i1), .{-1});
5681 try testArgs(@Vector(1, u512), @Vector(1, i1), .{-1});
5682 try testArgs(@Vector(1, u1024), @Vector(1, i1), .{-1});
5683 try testArgs(@Vector(1, i8), @Vector(1, u1), .{1});
5684 try testArgs(@Vector(1, i16), @Vector(1, u1), .{1});
5685 try testArgs(@Vector(1, i32), @Vector(1, u1), .{1});
5686 try testArgs(@Vector(1, i64), @Vector(1, u1), .{1});
5687 try testArgs(@Vector(1, i128), @Vector(1, u1), .{1});
5688 try testArgs(@Vector(1, i256), @Vector(1, u1), .{1});
5689 try testArgs(@Vector(1, i512), @Vector(1, u1), .{1});
5690 try testArgs(@Vector(1, i1024), @Vector(1, u1), .{1});
5691
5692 try testArgs(@Vector(2, u8), @Vector(2, i1), .{ -1, 0 });
5693 try testArgs(@Vector(2, u16), @Vector(2, i1), .{ -1, 0 });
5694 try testArgs(@Vector(2, u32), @Vector(2, i1), .{ -1, 0 });
5695 try testArgs(@Vector(2, u64), @Vector(2, i1), .{ -1, 0 });
5696 try testArgs(@Vector(2, u128), @Vector(2, i1), .{ -1, 0 });
5697 try testArgs(@Vector(2, u256), @Vector(2, i1), .{ -1, 0 });
5698 try testArgs(@Vector(2, u512), @Vector(2, i1), .{ -1, 0 });
5699 try testArgs(@Vector(2, u1024), @Vector(2, i1), .{ -1, 0 });
5700 try testArgs(@Vector(2, i8), @Vector(2, u1), .{ 0, 1 });
5701 try testArgs(@Vector(2, i16), @Vector(2, u1), .{ 0, 1 });
5702 try testArgs(@Vector(2, i32), @Vector(2, u1), .{ 0, 1 });
5703 try testArgs(@Vector(2, i64), @Vector(2, u1), .{ 0, 1 });
5704 try testArgs(@Vector(2, i128), @Vector(2, u1), .{ 0, 1 });
5705 try testArgs(@Vector(2, i256), @Vector(2, u1), .{ 0, 1 });
5706 try testArgs(@Vector(2, i512), @Vector(2, u1), .{ 0, 1 });
5707 try testArgs(@Vector(2, i1024), @Vector(2, u1), .{ 0, 1 });
5708
5709 try testArgs(@Vector(3, u8), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5710 try testArgs(@Vector(3, u16), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5711 try testArgs(@Vector(3, u32), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5712 try testArgs(@Vector(3, u64), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5713 try testArgs(@Vector(3, u128), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5714 try testArgs(@Vector(3, u256), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5715 try testArgs(@Vector(3, u512), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5716 try testArgs(@Vector(3, u1024), @Vector(3, i2), .{ -1 << 1, -1, 0 });
5717 try testArgs(@Vector(3, i8), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5718 try testArgs(@Vector(3, i16), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5719 try testArgs(@Vector(3, i32), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5720 try testArgs(@Vector(3, i64), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5721 try testArgs(@Vector(3, i128), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5722 try testArgs(@Vector(3, i256), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5723 try testArgs(@Vector(3, i512), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5724 try testArgs(@Vector(3, i1024), @Vector(3, u2), .{ 0, 1, 1 << 1 });
5725
5726 try testArgs(@Vector(3, u8), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5727 try testArgs(@Vector(3, u16), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5728 try testArgs(@Vector(3, u32), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5729 try testArgs(@Vector(3, u64), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5730 try testArgs(@Vector(3, u128), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5731 try testArgs(@Vector(3, u256), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5732 try testArgs(@Vector(3, u512), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5733 try testArgs(@Vector(3, u1024), @Vector(3, i3), .{ -1 << 2, -1, 0 });
5734 try testArgs(@Vector(3, i8), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5735 try testArgs(@Vector(3, i16), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5736 try testArgs(@Vector(3, i32), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5737 try testArgs(@Vector(3, i64), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5738 try testArgs(@Vector(3, i128), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5739 try testArgs(@Vector(3, i256), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5740 try testArgs(@Vector(3, i512), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5741 try testArgs(@Vector(3, i1024), @Vector(3, u3), .{ 0, 1, 1 << 2 });
5742
5743 try testArgs(@Vector(3, u8), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5744 try testArgs(@Vector(3, u16), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5745 try testArgs(@Vector(3, u32), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5746 try testArgs(@Vector(3, u64), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5747 try testArgs(@Vector(3, u128), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5748 try testArgs(@Vector(3, u256), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5749 try testArgs(@Vector(3, u512), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5750 try testArgs(@Vector(3, u1024), @Vector(3, i4), .{ -1 << 3, -1, 0 });
5751 try testArgs(@Vector(3, i8), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5752 try testArgs(@Vector(3, i16), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5753 try testArgs(@Vector(3, i32), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5754 try testArgs(@Vector(3, i64), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5755 try testArgs(@Vector(3, i128), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5756 try testArgs(@Vector(3, i256), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5757 try testArgs(@Vector(3, i512), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5758 try testArgs(@Vector(3, i1024), @Vector(3, u4), .{ 0, 1, 1 << 3 });
5759
5760 try testArgs(@Vector(3, u8), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5761 try testArgs(@Vector(3, u16), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5762 try testArgs(@Vector(3, u32), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5763 try testArgs(@Vector(3, u64), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5764 try testArgs(@Vector(3, u128), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5765 try testArgs(@Vector(3, u256), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5766 try testArgs(@Vector(3, u512), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5767 try testArgs(@Vector(3, u1024), @Vector(3, i5), .{ -1 << 4, -1, 0 });
5768 try testArgs(@Vector(3, i8), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5769 try testArgs(@Vector(3, i16), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5770 try testArgs(@Vector(3, i32), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5771 try testArgs(@Vector(3, i64), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5772 try testArgs(@Vector(3, i128), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5773 try testArgs(@Vector(3, i256), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5774 try testArgs(@Vector(3, i512), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5775 try testArgs(@Vector(3, i1024), @Vector(3, u5), .{ 0, 1, 1 << 4 });
5776
5777 try testArgs(@Vector(3, u8), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5778 try testArgs(@Vector(3, u16), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5779 try testArgs(@Vector(3, u32), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5780 try testArgs(@Vector(3, u64), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5781 try testArgs(@Vector(3, u128), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5782 try testArgs(@Vector(3, u256), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5783 try testArgs(@Vector(3, u512), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5784 try testArgs(@Vector(3, u1024), @Vector(3, i7), .{ -1 << 6, -1, 0 });
5785 try testArgs(@Vector(3, i8), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5786 try testArgs(@Vector(3, i16), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5787 try testArgs(@Vector(3, i32), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5788 try testArgs(@Vector(3, i64), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5789 try testArgs(@Vector(3, i128), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5790 try testArgs(@Vector(3, i256), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5791 try testArgs(@Vector(3, i512), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5792 try testArgs(@Vector(3, i1024), @Vector(3, u7), .{ 0, 1, 1 << 6 });
5793
5794 try testArgs(@Vector(3, u8), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5795 try testArgs(@Vector(3, u16), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5796 try testArgs(@Vector(3, u32), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5797 try testArgs(@Vector(3, u64), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5798 try testArgs(@Vector(3, u128), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5799 try testArgs(@Vector(3, u256), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5800 try testArgs(@Vector(3, u512), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5801 try testArgs(@Vector(3, u1024), @Vector(3, i8), .{ -1 << 7, -1, 0 });
5802 try testArgs(@Vector(3, i8), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5803 try testArgs(@Vector(3, i16), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5804 try testArgs(@Vector(3, i32), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5805 try testArgs(@Vector(3, i64), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5806 try testArgs(@Vector(3, i128), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5807 try testArgs(@Vector(3, i256), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5808 try testArgs(@Vector(3, i512), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5809 try testArgs(@Vector(3, i1024), @Vector(3, u8), .{ 0, 1, 1 << 7 });
5810
5811 try testArgs(@Vector(3, u8), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5812 try testArgs(@Vector(3, u16), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5813 try testArgs(@Vector(3, u32), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5814 try testArgs(@Vector(3, u64), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5815 try testArgs(@Vector(3, u128), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5816 try testArgs(@Vector(3, u256), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5817 try testArgs(@Vector(3, u512), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5818 try testArgs(@Vector(3, u1024), @Vector(3, i9), .{ -1 << 8, -1, 0 });
5819 try testArgs(@Vector(3, i8), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5820 try testArgs(@Vector(3, i16), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5821 try testArgs(@Vector(3, i32), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5822 try testArgs(@Vector(3, i64), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5823 try testArgs(@Vector(3, i128), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5824 try testArgs(@Vector(3, i256), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5825 try testArgs(@Vector(3, i512), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5826 try testArgs(@Vector(3, i1024), @Vector(3, u9), .{ 0, 1, 1 << 8 });
5827
5828 try testArgs(@Vector(3, u8), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5829 try testArgs(@Vector(3, u16), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5830 try testArgs(@Vector(3, u32), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5831 try testArgs(@Vector(3, u64), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5832 try testArgs(@Vector(3, u128), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5833 try testArgs(@Vector(3, u256), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5834 try testArgs(@Vector(3, u512), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5835 try testArgs(@Vector(3, u1024), @Vector(3, i15), .{ -1 << 14, -1, 0 });
5836 try testArgs(@Vector(3, i8), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5837 try testArgs(@Vector(3, i16), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5838 try testArgs(@Vector(3, i32), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5839 try testArgs(@Vector(3, i64), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5840 try testArgs(@Vector(3, i128), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5841 try testArgs(@Vector(3, i256), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5842 try testArgs(@Vector(3, i512), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5843 try testArgs(@Vector(3, i1024), @Vector(3, u15), .{ 0, 1, 1 << 14 });
5844
5845 try testArgs(@Vector(3, u8), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5846 try testArgs(@Vector(3, u16), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5847 try testArgs(@Vector(3, u32), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5848 try testArgs(@Vector(3, u64), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5849 try testArgs(@Vector(3, u128), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5850 try testArgs(@Vector(3, u256), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5851 try testArgs(@Vector(3, u512), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5852 try testArgs(@Vector(3, u1024), @Vector(3, i16), .{ -1 << 15, -1, 0 });
5853 try testArgs(@Vector(3, i8), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5854 try testArgs(@Vector(3, i16), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5855 try testArgs(@Vector(3, i32), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5856 try testArgs(@Vector(3, i64), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5857 try testArgs(@Vector(3, i128), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5858 try testArgs(@Vector(3, i256), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5859 try testArgs(@Vector(3, i512), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5860 try testArgs(@Vector(3, i1024), @Vector(3, u16), .{ 0, 1, 1 << 15 });
5861
5862 try testArgs(@Vector(3, u8), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5863 try testArgs(@Vector(3, u16), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5864 try testArgs(@Vector(3, u32), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5865 try testArgs(@Vector(3, u64), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5866 try testArgs(@Vector(3, u128), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5867 try testArgs(@Vector(3, u256), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5868 try testArgs(@Vector(3, u512), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5869 try testArgs(@Vector(3, u1024), @Vector(3, i17), .{ -1 << 16, -1, 0 });
5870 try testArgs(@Vector(3, i8), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5871 try testArgs(@Vector(3, i16), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5872 try testArgs(@Vector(3, i32), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5873 try testArgs(@Vector(3, i64), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5874 try testArgs(@Vector(3, i128), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5875 try testArgs(@Vector(3, i256), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5876 try testArgs(@Vector(3, i512), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5877 try testArgs(@Vector(3, i1024), @Vector(3, u17), .{ 0, 1, 1 << 16 });
5878
5879 try testArgs(@Vector(3, u8), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5880 try testArgs(@Vector(3, u16), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5881 try testArgs(@Vector(3, u32), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5882 try testArgs(@Vector(3, u64), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5883 try testArgs(@Vector(3, u128), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5884 try testArgs(@Vector(3, u256), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5885 try testArgs(@Vector(3, u512), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5886 try testArgs(@Vector(3, u1024), @Vector(3, i31), .{ -1 << 30, -1, 0 });
5887 try testArgs(@Vector(3, i8), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5888 try testArgs(@Vector(3, i16), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5889 try testArgs(@Vector(3, i32), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5890 try testArgs(@Vector(3, i64), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5891 try testArgs(@Vector(3, i128), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5892 try testArgs(@Vector(3, i256), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5893 try testArgs(@Vector(3, i512), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5894 try testArgs(@Vector(3, i1024), @Vector(3, u31), .{ 0, 1, 1 << 30 });
5895
5896 try testArgs(@Vector(3, u8), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5897 try testArgs(@Vector(3, u16), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5898 try testArgs(@Vector(3, u32), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5899 try testArgs(@Vector(3, u64), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5900 try testArgs(@Vector(3, u128), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5901 try testArgs(@Vector(3, u256), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5902 try testArgs(@Vector(3, u512), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5903 try testArgs(@Vector(3, u1024), @Vector(3, i32), .{ -1 << 31, -1, 0 });
5904 try testArgs(@Vector(3, i8), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5905 try testArgs(@Vector(3, i16), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5906 try testArgs(@Vector(3, i32), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5907 try testArgs(@Vector(3, i64), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5908 try testArgs(@Vector(3, i128), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5909 try testArgs(@Vector(3, i256), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5910 try testArgs(@Vector(3, i512), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5911 try testArgs(@Vector(3, i1024), @Vector(3, u32), .{ 0, 1, 1 << 31 });
5912
5913 try testArgs(@Vector(3, u8), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5914 try testArgs(@Vector(3, u16), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5915 try testArgs(@Vector(3, u32), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5916 try testArgs(@Vector(3, u64), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5917 try testArgs(@Vector(3, u128), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5918 try testArgs(@Vector(3, u256), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5919 try testArgs(@Vector(3, u512), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5920 try testArgs(@Vector(3, u1024), @Vector(3, i33), .{ -1 << 32, -1, 0 });
5921 try testArgs(@Vector(3, i8), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5922 try testArgs(@Vector(3, i16), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5923 try testArgs(@Vector(3, i32), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5924 try testArgs(@Vector(3, i64), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5925 try testArgs(@Vector(3, i128), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5926 try testArgs(@Vector(3, i256), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5927 try testArgs(@Vector(3, i512), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5928 try testArgs(@Vector(3, i1024), @Vector(3, u33), .{ 0, 1, 1 << 32 });
5929
5930 try testArgs(@Vector(3, u8), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5931 try testArgs(@Vector(3, u16), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5932 try testArgs(@Vector(3, u32), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5933 try testArgs(@Vector(3, u64), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5934 try testArgs(@Vector(3, u128), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5935 try testArgs(@Vector(3, u256), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5936 try testArgs(@Vector(3, u512), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5937 try testArgs(@Vector(3, u1024), @Vector(3, i63), .{ -1 << 62, -1, 0 });
5938 try testArgs(@Vector(3, i8), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5939 try testArgs(@Vector(3, i16), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5940 try testArgs(@Vector(3, i32), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5941 try testArgs(@Vector(3, i64), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5942 try testArgs(@Vector(3, i128), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5943 try testArgs(@Vector(3, i256), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5944 try testArgs(@Vector(3, i512), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5945 try testArgs(@Vector(3, i1024), @Vector(3, u63), .{ 0, 1, 1 << 62 });
5946
5947 try testArgs(@Vector(3, u8), @Vector(3, i64), .{ -1 << 63, -1, 0 });
5948 try testArgs(@Vector(3, u16), @Vector(3, i64), .{ -1 << 63, -1, 0 });
5949 try testArgs(@Vector(3, u32), @Vector(3, i64), .{ -1 << 63, -1, 0 });
5950 try testArgs(@Vector(3, u64), @Vector(3, i64), .{ -1 << 63, -1, 0 });
5951 try testArgs(@Vector(3, u128), @Vector(3, i64), .{ -1 << 63, -1, 0 });
5952 try testArgs(@Vector(3, u256), @Vector(3, i64), .{ -1 << 63, -1, 0 });
5953 try testArgs(@Vector(3, u512), @Vector(3, i64), .{ -1 << 63, -1, 0 });
5954 try testArgs(@Vector(3, u1024), @Vector(3, i64), .{ -1 << 63, -1, 0 });
5955 try testArgs(@Vector(3, i8), @Vector(3, u64), .{ 0, 1, 1 << 63 });
5956 try testArgs(@Vector(3, i16), @Vector(3, u64), .{ 0, 1, 1 << 63 });
5957 try testArgs(@Vector(3, i32), @Vector(3, u64), .{ 0, 1, 1 << 63 });
5958 try testArgs(@Vector(3, i64), @Vector(3, u64), .{ 0, 1, 1 << 63 });
5959 try testArgs(@Vector(3, i128), @Vector(3, u64), .{ 0, 1, 1 << 63 });
5960 try testArgs(@Vector(3, i256), @Vector(3, u64), .{ 0, 1, 1 << 63 });
5961 try testArgs(@Vector(3, i512), @Vector(3, u64), .{ 0, 1, 1 << 63 });
5962 try testArgs(@Vector(3, i1024), @Vector(3, u64), .{ 0, 1, 1 << 63 });
5963
5964 try testArgs(@Vector(3, u8), @Vector(3, i65), .{ -1 << 64, -1, 0 });
5965 try testArgs(@Vector(3, u16), @Vector(3, i65), .{ -1 << 64, -1, 0 });
5966 try testArgs(@Vector(3, u32), @Vector(3, i65), .{ -1 << 64, -1, 0 });
5967 try testArgs(@Vector(3, u64), @Vector(3, i65), .{ -1 << 64, -1, 0 });
5968 try testArgs(@Vector(3, u128), @Vector(3, i65), .{ -1 << 64, -1, 0 });
5969 try testArgs(@Vector(3, u256), @Vector(3, i65), .{ -1 << 64, -1, 0 });
5970 try testArgs(@Vector(3, u512), @Vector(3, i65), .{ -1 << 64, -1, 0 });
5971 try testArgs(@Vector(3, u1024), @Vector(3, i65), .{ -1 << 64, -1, 0 });
5972 try testArgs(@Vector(3, i8), @Vector(3, u65), .{ 0, 1, 1 << 64 });
5973 try testArgs(@Vector(3, i16), @Vector(3, u65), .{ 0, 1, 1 << 64 });
5974 try testArgs(@Vector(3, i32), @Vector(3, u65), .{ 0, 1, 1 << 64 });
5975 try testArgs(@Vector(3, i64), @Vector(3, u65), .{ 0, 1, 1 << 64 });
5976 try testArgs(@Vector(3, i128), @Vector(3, u65), .{ 0, 1, 1 << 64 });
5977 try testArgs(@Vector(3, i256), @Vector(3, u65), .{ 0, 1, 1 << 64 });
5978 try testArgs(@Vector(3, i512), @Vector(3, u65), .{ 0, 1, 1 << 64 });
5979 try testArgs(@Vector(3, i1024), @Vector(3, u65), .{ 0, 1, 1 << 64 });
5980
5981 try testArgs(@Vector(3, u8), @Vector(3, i95), .{ -1 << 94, -1, 0 });
5982 try testArgs(@Vector(3, u16), @Vector(3, i95), .{ -1 << 94, -1, 0 });
5983 try testArgs(@Vector(3, u32), @Vector(3, i95), .{ -1 << 94, -1, 0 });
5984 try testArgs(@Vector(3, u64), @Vector(3, i95), .{ -1 << 94, -1, 0 });
5985 try testArgs(@Vector(3, u128), @Vector(3, i95), .{ -1 << 94, -1, 0 });
5986 try testArgs(@Vector(3, u256), @Vector(3, i95), .{ -1 << 94, -1, 0 });
5987 try testArgs(@Vector(3, u512), @Vector(3, i95), .{ -1 << 94, -1, 0 });
5988 try testArgs(@Vector(3, u1024), @Vector(3, i95), .{ -1 << 94, -1, 0 });
5989 try testArgs(@Vector(3, i8), @Vector(3, u95), .{ 0, 1, 1 << 94 });
5990 try testArgs(@Vector(3, i16), @Vector(3, u95), .{ 0, 1, 1 << 94 });
5991 try testArgs(@Vector(3, i32), @Vector(3, u95), .{ 0, 1, 1 << 94 });
5992 try testArgs(@Vector(3, i64), @Vector(3, u95), .{ 0, 1, 1 << 94 });
5993 try testArgs(@Vector(3, i128), @Vector(3, u95), .{ 0, 1, 1 << 94 });
5994 try testArgs(@Vector(3, i256), @Vector(3, u95), .{ 0, 1, 1 << 94 });
5995 try testArgs(@Vector(3, i512), @Vector(3, u95), .{ 0, 1, 1 << 94 });
5996 try testArgs(@Vector(3, i1024), @Vector(3, u95), .{ 0, 1, 1 << 94 });
5997
5998 try testArgs(@Vector(3, u8), @Vector(3, i96), .{ -1 << 95, -1, 0 });
5999 try testArgs(@Vector(3, u16), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6000 try testArgs(@Vector(3, u32), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6001 try testArgs(@Vector(3, u64), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6002 try testArgs(@Vector(3, u128), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6003 try testArgs(@Vector(3, u256), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6004 try testArgs(@Vector(3, u512), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6005 try testArgs(@Vector(3, u1024), @Vector(3, i96), .{ -1 << 95, -1, 0 });
6006 try testArgs(@Vector(3, i8), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6007 try testArgs(@Vector(3, i16), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6008 try testArgs(@Vector(3, i32), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6009 try testArgs(@Vector(3, i64), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6010 try testArgs(@Vector(3, i128), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6011 try testArgs(@Vector(3, i256), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6012 try testArgs(@Vector(3, i512), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6013 try testArgs(@Vector(3, i1024), @Vector(3, u96), .{ 0, 1, 1 << 95 });
6014
6015 try testArgs(@Vector(3, u8), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6016 try testArgs(@Vector(3, u16), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6017 try testArgs(@Vector(3, u32), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6018 try testArgs(@Vector(3, u64), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6019 try testArgs(@Vector(3, u128), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6020 try testArgs(@Vector(3, u256), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6021 try testArgs(@Vector(3, u512), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6022 try testArgs(@Vector(3, u1024), @Vector(3, i97), .{ -1 << 96, -1, 0 });
6023 try testArgs(@Vector(3, i8), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6024 try testArgs(@Vector(3, i16), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6025 try testArgs(@Vector(3, i32), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6026 try testArgs(@Vector(3, i64), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6027 try testArgs(@Vector(3, i128), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6028 try testArgs(@Vector(3, i256), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6029 try testArgs(@Vector(3, i512), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6030 try testArgs(@Vector(3, i1024), @Vector(3, u97), .{ 0, 1, 1 << 96 });
6031
6032 try testArgs(@Vector(3, u8), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6033 try testArgs(@Vector(3, u16), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6034 try testArgs(@Vector(3, u32), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6035 try testArgs(@Vector(3, u64), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6036 try testArgs(@Vector(3, u128), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6037 try testArgs(@Vector(3, u256), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6038 try testArgs(@Vector(3, u512), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6039 try testArgs(@Vector(3, u1024), @Vector(3, i127), .{ -1 << 126, -1, 0 });
6040 try testArgs(@Vector(3, i8), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6041 try testArgs(@Vector(3, i16), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6042 try testArgs(@Vector(3, i32), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6043 try testArgs(@Vector(3, i64), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6044 try testArgs(@Vector(3, i128), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6045 try testArgs(@Vector(3, i256), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6046 try testArgs(@Vector(3, i512), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6047 try testArgs(@Vector(3, i1024), @Vector(3, u127), .{ 0, 1, 1 << 126 });
6048
6049 try testArgs(@Vector(3, u8), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6050 try testArgs(@Vector(3, u16), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6051 try testArgs(@Vector(3, u32), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6052 try testArgs(@Vector(3, u64), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6053 try testArgs(@Vector(3, u128), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6054 try testArgs(@Vector(3, u256), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6055 try testArgs(@Vector(3, u512), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6056 try testArgs(@Vector(3, u1024), @Vector(3, i128), .{ -1 << 127, -1, 0 });
6057 try testArgs(@Vector(3, i8), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6058 try testArgs(@Vector(3, i16), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6059 try testArgs(@Vector(3, i32), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6060 try testArgs(@Vector(3, i64), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6061 try testArgs(@Vector(3, i128), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6062 try testArgs(@Vector(3, i256), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6063 try testArgs(@Vector(3, i512), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6064 try testArgs(@Vector(3, i1024), @Vector(3, u128), .{ 0, 1, 1 << 127 });
6065
6066 try testArgs(@Vector(3, u8), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6067 try testArgs(@Vector(3, u16), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6068 try testArgs(@Vector(3, u32), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6069 try testArgs(@Vector(3, u64), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6070 try testArgs(@Vector(3, u128), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6071 try testArgs(@Vector(3, u256), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6072 try testArgs(@Vector(3, u512), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6073 try testArgs(@Vector(3, u1024), @Vector(3, i129), .{ -1 << 128, -1, 0 });
6074 try testArgs(@Vector(3, i8), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6075 try testArgs(@Vector(3, i16), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6076 try testArgs(@Vector(3, i32), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6077 try testArgs(@Vector(3, i64), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6078 try testArgs(@Vector(3, i128), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6079 try testArgs(@Vector(3, i256), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6080 try testArgs(@Vector(3, i512), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6081 try testArgs(@Vector(3, i1024), @Vector(3, u129), .{ 0, 1, 1 << 128 });
6082
6083 try testArgs(@Vector(3, u8), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6084 try testArgs(@Vector(3, u16), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6085 try testArgs(@Vector(3, u32), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6086 try testArgs(@Vector(3, u64), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6087 try testArgs(@Vector(3, u128), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6088 try testArgs(@Vector(3, u256), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6089 try testArgs(@Vector(3, u512), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6090 try testArgs(@Vector(3, u1024), @Vector(3, i159), .{ -1 << 158, -1, 0 });
6091 try testArgs(@Vector(3, i8), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6092 try testArgs(@Vector(3, i16), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6093 try testArgs(@Vector(3, i32), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6094 try testArgs(@Vector(3, i64), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6095 try testArgs(@Vector(3, i128), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6096 try testArgs(@Vector(3, i256), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6097 try testArgs(@Vector(3, i512), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6098 try testArgs(@Vector(3, i1024), @Vector(3, u159), .{ 0, 1, 1 << 158 });
6099
6100 try testArgs(@Vector(3, u8), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6101 try testArgs(@Vector(3, u16), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6102 try testArgs(@Vector(3, u32), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6103 try testArgs(@Vector(3, u64), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6104 try testArgs(@Vector(3, u128), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6105 try testArgs(@Vector(3, u256), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6106 try testArgs(@Vector(3, u512), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6107 try testArgs(@Vector(3, u1024), @Vector(3, i160), .{ -1 << 159, -1, 0 });
6108 try testArgs(@Vector(3, i8), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6109 try testArgs(@Vector(3, i16), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6110 try testArgs(@Vector(3, i32), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6111 try testArgs(@Vector(3, i64), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6112 try testArgs(@Vector(3, i128), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6113 try testArgs(@Vector(3, i256), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6114 try testArgs(@Vector(3, i512), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6115 try testArgs(@Vector(3, i1024), @Vector(3, u160), .{ 0, 1, 1 << 159 });
6116
6117 try testArgs(@Vector(3, u8), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6118 try testArgs(@Vector(3, u16), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6119 try testArgs(@Vector(3, u32), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6120 try testArgs(@Vector(3, u64), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6121 try testArgs(@Vector(3, u128), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6122 try testArgs(@Vector(3, u256), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6123 try testArgs(@Vector(3, u512), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6124 try testArgs(@Vector(3, u1024), @Vector(3, i161), .{ -1 << 160, -1, 0 });
6125 try testArgs(@Vector(3, i8), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6126 try testArgs(@Vector(3, i16), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6127 try testArgs(@Vector(3, i32), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6128 try testArgs(@Vector(3, i64), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6129 try testArgs(@Vector(3, i128), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6130 try testArgs(@Vector(3, i256), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6131 try testArgs(@Vector(3, i512), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6132 try testArgs(@Vector(3, i1024), @Vector(3, u161), .{ 0, 1, 1 << 160 });
6133
6134 try testArgs(@Vector(3, u8), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6135 try testArgs(@Vector(3, u16), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6136 try testArgs(@Vector(3, u32), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6137 try testArgs(@Vector(3, u64), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6138 try testArgs(@Vector(3, u128), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6139 try testArgs(@Vector(3, u256), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6140 try testArgs(@Vector(3, u512), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6141 try testArgs(@Vector(3, u1024), @Vector(3, i191), .{ -1 << 190, -1, 0 });
6142 try testArgs(@Vector(3, i8), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6143 try testArgs(@Vector(3, i16), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6144 try testArgs(@Vector(3, i32), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6145 try testArgs(@Vector(3, i64), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6146 try testArgs(@Vector(3, i128), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6147 try testArgs(@Vector(3, i256), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6148 try testArgs(@Vector(3, i512), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6149 try testArgs(@Vector(3, i1024), @Vector(3, u191), .{ 0, 1, 1 << 190 });
6150
6151 try testArgs(@Vector(3, u8), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6152 try testArgs(@Vector(3, u16), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6153 try testArgs(@Vector(3, u32), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6154 try testArgs(@Vector(3, u64), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6155 try testArgs(@Vector(3, u128), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6156 try testArgs(@Vector(3, u256), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6157 try testArgs(@Vector(3, u512), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6158 try testArgs(@Vector(3, u1024), @Vector(3, i192), .{ -1 << 191, -1, 0 });
6159 try testArgs(@Vector(3, i8), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6160 try testArgs(@Vector(3, i16), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6161 try testArgs(@Vector(3, i32), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6162 try testArgs(@Vector(3, i64), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6163 try testArgs(@Vector(3, i128), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6164 try testArgs(@Vector(3, i256), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6165 try testArgs(@Vector(3, i512), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6166 try testArgs(@Vector(3, i1024), @Vector(3, u192), .{ 0, 1, 1 << 191 });
6167
6168 try testArgs(@Vector(3, u8), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6169 try testArgs(@Vector(3, u16), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6170 try testArgs(@Vector(3, u32), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6171 try testArgs(@Vector(3, u64), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6172 try testArgs(@Vector(3, u128), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6173 try testArgs(@Vector(3, u256), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6174 try testArgs(@Vector(3, u512), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6175 try testArgs(@Vector(3, u1024), @Vector(3, i193), .{ -1 << 192, -1, 0 });
6176 try testArgs(@Vector(3, i8), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6177 try testArgs(@Vector(3, i16), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6178 try testArgs(@Vector(3, i32), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6179 try testArgs(@Vector(3, i64), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6180 try testArgs(@Vector(3, i128), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6181 try testArgs(@Vector(3, i256), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6182 try testArgs(@Vector(3, i512), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6183 try testArgs(@Vector(3, i1024), @Vector(3, u193), .{ 0, 1, 1 << 192 });
6184
6185 try testArgs(@Vector(3, u8), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6186 try testArgs(@Vector(3, u16), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6187 try testArgs(@Vector(3, u32), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6188 try testArgs(@Vector(3, u64), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6189 try testArgs(@Vector(3, u128), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6190 try testArgs(@Vector(3, u256), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6191 try testArgs(@Vector(3, u512), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6192 try testArgs(@Vector(3, u1024), @Vector(3, i223), .{ -1 << 222, -1, 0 });
6193 try testArgs(@Vector(3, i8), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6194 try testArgs(@Vector(3, i16), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6195 try testArgs(@Vector(3, i32), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6196 try testArgs(@Vector(3, i64), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6197 try testArgs(@Vector(3, i128), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6198 try testArgs(@Vector(3, i256), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6199 try testArgs(@Vector(3, i512), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6200 try testArgs(@Vector(3, i1024), @Vector(3, u223), .{ 0, 1, 1 << 222 });
6201
6202 try testArgs(@Vector(3, u8), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6203 try testArgs(@Vector(3, u16), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6204 try testArgs(@Vector(3, u32), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6205 try testArgs(@Vector(3, u64), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6206 try testArgs(@Vector(3, u128), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6207 try testArgs(@Vector(3, u256), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6208 try testArgs(@Vector(3, u512), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6209 try testArgs(@Vector(3, u1024), @Vector(3, i224), .{ -1 << 223, -1, 0 });
6210 try testArgs(@Vector(3, i8), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6211 try testArgs(@Vector(3, i16), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6212 try testArgs(@Vector(3, i32), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6213 try testArgs(@Vector(3, i64), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6214 try testArgs(@Vector(3, i128), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6215 try testArgs(@Vector(3, i256), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6216 try testArgs(@Vector(3, i512), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6217 try testArgs(@Vector(3, i1024), @Vector(3, u224), .{ 0, 1, 1 << 223 });
6218
6219 try testArgs(@Vector(3, u8), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6220 try testArgs(@Vector(3, u16), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6221 try testArgs(@Vector(3, u32), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6222 try testArgs(@Vector(3, u64), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6223 try testArgs(@Vector(3, u128), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6224 try testArgs(@Vector(3, u256), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6225 try testArgs(@Vector(3, u512), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6226 try testArgs(@Vector(3, u1024), @Vector(3, i225), .{ -1 << 224, -1, 0 });
6227 try testArgs(@Vector(3, i8), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6228 try testArgs(@Vector(3, i16), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6229 try testArgs(@Vector(3, i32), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6230 try testArgs(@Vector(3, i64), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6231 try testArgs(@Vector(3, i128), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6232 try testArgs(@Vector(3, i256), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6233 try testArgs(@Vector(3, i512), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6234 try testArgs(@Vector(3, i1024), @Vector(3, u225), .{ 0, 1, 1 << 224 });
6235
6236 try testArgs(@Vector(3, u8), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6237 try testArgs(@Vector(3, u16), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6238 try testArgs(@Vector(3, u32), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6239 try testArgs(@Vector(3, u64), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6240 try testArgs(@Vector(3, u128), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6241 try testArgs(@Vector(3, u256), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6242 try testArgs(@Vector(3, u512), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6243 try testArgs(@Vector(3, u1024), @Vector(3, i255), .{ -1 << 254, -1, 0 });
6244 try testArgs(@Vector(3, i8), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6245 try testArgs(@Vector(3, i16), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6246 try testArgs(@Vector(3, i32), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6247 try testArgs(@Vector(3, i64), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6248 try testArgs(@Vector(3, i128), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6249 try testArgs(@Vector(3, i256), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6250 try testArgs(@Vector(3, i512), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6251 try testArgs(@Vector(3, i1024), @Vector(3, u255), .{ 0, 1, 1 << 254 });
6252
6253 try testArgs(@Vector(3, u8), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6254 try testArgs(@Vector(3, u16), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6255 try testArgs(@Vector(3, u32), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6256 try testArgs(@Vector(3, u64), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6257 try testArgs(@Vector(3, u128), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6258 try testArgs(@Vector(3, u256), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6259 try testArgs(@Vector(3, u512), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6260 try testArgs(@Vector(3, u1024), @Vector(3, i256), .{ -1 << 255, -1, 0 });
6261 try testArgs(@Vector(3, i8), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6262 try testArgs(@Vector(3, i16), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6263 try testArgs(@Vector(3, i32), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6264 try testArgs(@Vector(3, i64), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6265 try testArgs(@Vector(3, i128), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6266 try testArgs(@Vector(3, i256), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6267 try testArgs(@Vector(3, i512), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6268 try testArgs(@Vector(3, i1024), @Vector(3, u256), .{ 0, 1, 1 << 255 });
6269
6270 try testArgs(@Vector(3, u8), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6271 try testArgs(@Vector(3, u16), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6272 try testArgs(@Vector(3, u32), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6273 try testArgs(@Vector(3, u64), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6274 try testArgs(@Vector(3, u128), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6275 try testArgs(@Vector(3, u256), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6276 try testArgs(@Vector(3, u512), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6277 try testArgs(@Vector(3, u1024), @Vector(3, i257), .{ -1 << 256, -1, 0 });
6278 try testArgs(@Vector(3, i8), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6279 try testArgs(@Vector(3, i16), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6280 try testArgs(@Vector(3, i32), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6281 try testArgs(@Vector(3, i64), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6282 try testArgs(@Vector(3, i128), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6283 try testArgs(@Vector(3, i256), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6284 try testArgs(@Vector(3, i512), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6285 try testArgs(@Vector(3, i1024), @Vector(3, u257), .{ 0, 1, 1 << 256 });
6286
6287 try testArgs(@Vector(3, u8), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6288 try testArgs(@Vector(3, u16), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6289 try testArgs(@Vector(3, u32), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6290 try testArgs(@Vector(3, u64), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6291 try testArgs(@Vector(3, u128), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6292 try testArgs(@Vector(3, u256), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6293 try testArgs(@Vector(3, u512), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6294 try testArgs(@Vector(3, u1024), @Vector(3, i511), .{ -1 << 510, -1, 0 });
6295 try testArgs(@Vector(3, i8), @Vector(3, u511), .{ 0, 1, 1 << 510 });
6296 try testArgs(@Vector(3, i16), @Vector(3, u511), .{ 0, 1, 1 << 510 });
6297 try testArgs(@Vector(3, i32), @Vector(3, u511), .{ 0, 1, 1 << 510 });
6298 try testArgs(@Vector(3, i64), @Vector(3, u511), .{ 0, 1, 1 << 510 });
6299 try testArgs(@Vector(3, i128), @Vector(3, u511), .{ 0, 1, 1 << 510 });
6300 try testArgs(@Vector(3, i256), @Vector(3, u511), .{ 0, 1, 1 << 510 });
6301 try testArgs(@Vector(3, i512), @Vector(3, u511), .{ 0, 1, 1 << 510 });
6302 try testArgs(@Vector(3, i1024), @Vector(3, u511), .{ 0, 1, 1 << 510 });
6303
6304 try testArgs(@Vector(3, u8), @Vector(3, i512), .{ -1 << 511, -1, 0 });
6305 try testArgs(@Vector(3, u16), @Vector(3, i512), .{ -1 << 511, -1, 0 });
6306 try testArgs(@Vector(3, u32), @Vector(3, i512), .{ -1 << 511, -1, 0 });
6307 try testArgs(@Vector(3, u64), @Vector(3, i512), .{ -1 << 511, -1, 0 });
6308 try testArgs(@Vector(3, u128), @Vector(3, i512), .{ -1 << 511, -1, 0 });
6309 try testArgs(@Vector(3, u256), @Vector(3, i512), .{ -1 << 511, -1, 0 });
6310 try testArgs(@Vector(3, u512), @Vector(3, i512), .{ -1 << 511, -1, 0 });
6311 try testArgs(@Vector(3, u1024), @Vector(3, i512), .{ -1 << 511, -1, 0 });
6312 try testArgs(@Vector(3, i8), @Vector(3, u512), .{ 0, 1, 1 << 511 });
6313 try testArgs(@Vector(3, i16), @Vector(3, u512), .{ 0, 1, 1 << 511 });
6314 try testArgs(@Vector(3, i32), @Vector(3, u512), .{ 0, 1, 1 << 511 });
6315 try testArgs(@Vector(3, i64), @Vector(3, u512), .{ 0, 1, 1 << 511 });
6316 try testArgs(@Vector(3, i128), @Vector(3, u512), .{ 0, 1, 1 << 511 });
6317 try testArgs(@Vector(3, i256), @Vector(3, u512), .{ 0, 1, 1 << 511 });
6318 try testArgs(@Vector(3, i512), @Vector(3, u512), .{ 0, 1, 1 << 511 });
6319 try testArgs(@Vector(3, i1024), @Vector(3, u512), .{ 0, 1, 1 << 511 });
6320
6321 try testArgs(@Vector(3, u8), @Vector(3, i513), .{ -1 << 512, -1, 0 });
6322 try testArgs(@Vector(3, u16), @Vector(3, i513), .{ -1 << 512, -1, 0 });
6323 try testArgs(@Vector(3, u32), @Vector(3, i513), .{ -1 << 512, -1, 0 });
6324 try testArgs(@Vector(3, u64), @Vector(3, i513), .{ -1 << 512, -1, 0 });
6325 try testArgs(@Vector(3, u128), @Vector(3, i513), .{ -1 << 512, -1, 0 });
6326 try testArgs(@Vector(3, u256), @Vector(3, i513), .{ -1 << 512, -1, 0 });
6327 try testArgs(@Vector(3, u512), @Vector(3, i513), .{ -1 << 512, -1, 0 });
6328 try testArgs(@Vector(3, u1024), @Vector(3, i513), .{ -1 << 512, -1, 0 });
6329 try testArgs(@Vector(3, i8), @Vector(3, u513), .{ 0, 1, 1 << 512 });
6330 try testArgs(@Vector(3, i16), @Vector(3, u513), .{ 0, 1, 1 << 512 });
6331 try testArgs(@Vector(3, i32), @Vector(3, u513), .{ 0, 1, 1 << 512 });
6332 try testArgs(@Vector(3, i64), @Vector(3, u513), .{ 0, 1, 1 << 512 });
6333 try testArgs(@Vector(3, i128), @Vector(3, u513), .{ 0, 1, 1 << 512 });
6334 try testArgs(@Vector(3, i256), @Vector(3, u513), .{ 0, 1, 1 << 512 });
6335 try testArgs(@Vector(3, i512), @Vector(3, u513), .{ 0, 1, 1 << 512 });
6336 try testArgs(@Vector(3, i1024), @Vector(3, u513), .{ 0, 1, 1 << 512 });
6337
6338 try testArgs(@Vector(3, u8), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
6339 try testArgs(@Vector(3, u16), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
6340 try testArgs(@Vector(3, u32), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
6341 try testArgs(@Vector(3, u64), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
6342 try testArgs(@Vector(3, u128), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
6343 try testArgs(@Vector(3, u256), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
6344 try testArgs(@Vector(3, u512), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
6345 try testArgs(@Vector(3, u1024), @Vector(3, i1023), .{ -1 << 1022, -1, 0 });
6346 try testArgs(@Vector(3, i8), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
6347 try testArgs(@Vector(3, i16), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
6348 try testArgs(@Vector(3, i32), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
6349 try testArgs(@Vector(3, i64), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
6350 try testArgs(@Vector(3, i128), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
6351 try testArgs(@Vector(3, i256), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
6352 try testArgs(@Vector(3, i512), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
6353 try testArgs(@Vector(3, i1024), @Vector(3, u1023), .{ 0, 1, 1 << 1022 });
6354
6355 try testArgs(@Vector(3, u8), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
6356 try testArgs(@Vector(3, u16), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
6357 try testArgs(@Vector(3, u32), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
6358 try testArgs(@Vector(3, u64), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
6359 try testArgs(@Vector(3, u128), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
6360 try testArgs(@Vector(3, u256), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
6361 try testArgs(@Vector(3, u512), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
6362 try testArgs(@Vector(3, u1024), @Vector(3, i1024), .{ -1 << 1023, -1, 0 });
6363 try testArgs(@Vector(3, i8), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
6364 try testArgs(@Vector(3, i16), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
6365 try testArgs(@Vector(3, i32), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
6366 try testArgs(@Vector(3, i64), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
6367 try testArgs(@Vector(3, i128), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
6368 try testArgs(@Vector(3, i256), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
6369 try testArgs(@Vector(3, i512), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
6370 try testArgs(@Vector(3, i1024), @Vector(3, u1024), .{ 0, 1, 1 << 1023 });
6371
6372 try testArgs(@Vector(3, u8), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
6373 try testArgs(@Vector(3, u16), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
6374 try testArgs(@Vector(3, u32), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
6375 try testArgs(@Vector(3, u64), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
6376 try testArgs(@Vector(3, u128), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
6377 try testArgs(@Vector(3, u256), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
6378 try testArgs(@Vector(3, u512), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
6379 try testArgs(@Vector(3, u1024), @Vector(3, i1025), .{ -1 << 1024, -1, 0 });
6380 try testArgs(@Vector(3, i8), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
6381 try testArgs(@Vector(3, i16), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
6382 try testArgs(@Vector(3, i32), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
6383 try testArgs(@Vector(3, i64), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
6384 try testArgs(@Vector(3, i128), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
6385 try testArgs(@Vector(3, i256), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
6386 try testArgs(@Vector(3, i512), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
6387 try testArgs(@Vector(3, i1024), @Vector(3, u1025), .{ 0, 1, 1 << 1024 });
6388 }
6389 fn testFloatVectors() !void {
6390 @setEvalBranchQuota(6_700);
6391
6392 try testArgs(@Vector(1, f16), @Vector(1, f16), .{
6393 1e0,
6394 });
6395 try testArgs(@Vector(2, f16), @Vector(2, f16), .{
6396 -inf(f16), -1e-2,
6397 });
6398 try testArgs(@Vector(4, f16), @Vector(4, f16), .{
6399 -1e2, 1e-1, fmax(f16), 1e-2,
6400 });
6401 try testArgs(@Vector(8, f16), @Vector(8, f16), .{
6402 -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4,
6403 });
6404 try testArgs(@Vector(16, f16), @Vector(16, f16), .{
6405 -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1,
6406 });
6407 try testArgs(@Vector(32, f16), @Vector(32, f16), .{
6408 -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0,
6409 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16),
6410 });
6411
6412 try testArgs(@Vector(1, f32), @Vector(1, f16), .{
6413 1e0,
6414 });
6415 try testArgs(@Vector(2, f32), @Vector(2, f16), .{
6416 -inf(f16), -1e-2,
6417 });
6418 try testArgs(@Vector(4, f32), @Vector(4, f16), .{
6419 -1e2, 1e-1, fmax(f16), 1e-2,
6420 });
6421 try testArgs(@Vector(8, f32), @Vector(8, f16), .{
6422 -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4,
6423 });
6424 try testArgs(@Vector(16, f32), @Vector(16, f16), .{
6425 -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1,
6426 });
6427 try testArgs(@Vector(32, f32), @Vector(32, f16), .{
6428 -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0,
6429 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16),
6430 });
6431
6432 try testArgs(@Vector(1, f64), @Vector(1, f16), .{
6433 1e0,
6434 });
6435 try testArgs(@Vector(2, f64), @Vector(2, f16), .{
6436 -inf(f16), -1e-2,
6437 });
6438 try testArgs(@Vector(4, f64), @Vector(4, f16), .{
6439 -1e2, 1e-1, fmax(f16), 1e-2,
6440 });
6441 try testArgs(@Vector(8, f64), @Vector(8, f16), .{
6442 -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4,
6443 });
6444 try testArgs(@Vector(16, f64), @Vector(16, f16), .{
6445 -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1,
6446 });
6447 try testArgs(@Vector(32, f64), @Vector(32, f16), .{
6448 -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0,
6449 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16),
6450 });
6451
6452 try testArgs(@Vector(1, f80), @Vector(1, f16), .{
6453 1e0,
6454 });
6455 try testArgs(@Vector(2, f80), @Vector(2, f16), .{
6456 -inf(f16), -1e-2,
6457 });
6458 try testArgs(@Vector(4, f80), @Vector(4, f16), .{
6459 -1e2, 1e-1, fmax(f16), 1e-2,
6460 });
6461 try testArgs(@Vector(8, f80), @Vector(8, f16), .{
6462 -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4,
6463 });
6464 try testArgs(@Vector(16, f80), @Vector(16, f16), .{
6465 -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1,
6466 });
6467 try testArgs(@Vector(32, f80), @Vector(32, f16), .{
6468 -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0,
6469 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16),
6470 });
6471
6472 try testArgs(@Vector(1, f128), @Vector(1, f16), .{
6473 1e0,
6474 });
6475 try testArgs(@Vector(2, f128), @Vector(2, f16), .{
6476 -inf(f16), -1e-2,
6477 });
6478 try testArgs(@Vector(4, f128), @Vector(4, f16), .{
6479 -1e2, 1e-1, fmax(f16), 1e-2,
6480 });
6481 try testArgs(@Vector(8, f128), @Vector(8, f16), .{
6482 -1e-1, tmin(f16), -1e3, fmin(f16), nan(f16), -1e-3, 1e1, 1e4,
6483 });
6484 try testArgs(@Vector(16, f128), @Vector(16, f16), .{
6485 -fmax(f16), -1e0, 1e-4, 1e2, -fmin(f16), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f16), -tmin(f16), -1e-4, inf(f16), 1e-3, -1e-1,
6486 });
6487 try testArgs(@Vector(32, f128), @Vector(32, f16), .{
6488 -1e3, -tmin(f16), inf(f16), -1e4, -0.0, fmax(f16), 1e2, 1e4, -nan(f16), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f16), -1e0,
6489 1e3, -1e-3, -fmin(f16), -inf(f16), 1e-3, tmin(f16), fmin(f16), 1e1, 1e-4, -fmax(f16), -1e2, 1e-2, -1e-2, 1e3, inf(f16), -fmin(f16),
6490 });
6491
6492 try testArgs(@Vector(1, f16), @Vector(1, f32), .{
6493 1e0,
6494 });
6495 try testArgs(@Vector(2, f16), @Vector(2, f32), .{
6496 -inf(f32), -1e-2,
6497 });
6498 try testArgs(@Vector(4, f16), @Vector(4, f32), .{
6499 -1e2, 1e-1, fmax(f32), 1e-2,
6500 });
6501 try testArgs(@Vector(8, f16), @Vector(8, f32), .{
6502 -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4,
6503 });
6504 try testArgs(@Vector(16, f16), @Vector(16, f32), .{
6505 -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1,
6506 });
6507 try testArgs(@Vector(32, f16), @Vector(32, f32), .{
6508 -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0,
6509 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32),
6510 });
6511
6512 try testArgs(@Vector(1, f32), @Vector(1, f32), .{
6513 1e0,
6514 });
6515 try testArgs(@Vector(2, f32), @Vector(2, f32), .{
6516 -inf(f32), -1e-2,
6517 });
6518 try testArgs(@Vector(4, f32), @Vector(4, f32), .{
6519 -1e2, 1e-1, fmax(f32), 1e-2,
6520 });
6521 try testArgs(@Vector(8, f32), @Vector(8, f32), .{
6522 -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4,
6523 });
6524 try testArgs(@Vector(16, f32), @Vector(16, f32), .{
6525 -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1,
6526 });
6527 try testArgs(@Vector(32, f32), @Vector(32, f32), .{
6528 -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0,
6529 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32),
6530 });
6531
6532 try testArgs(@Vector(1, f64), @Vector(1, f32), .{
6533 1e0,
6534 });
6535 try testArgs(@Vector(2, f64), @Vector(2, f32), .{
6536 -inf(f32), -1e-2,
6537 });
6538 try testArgs(@Vector(4, f64), @Vector(4, f32), .{
6539 -1e2, 1e-1, fmax(f32), 1e-2,
6540 });
6541 try testArgs(@Vector(8, f64), @Vector(8, f32), .{
6542 -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4,
6543 });
6544 try testArgs(@Vector(16, f64), @Vector(16, f32), .{
6545 -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1,
6546 });
6547 try testArgs(@Vector(32, f64), @Vector(32, f32), .{
6548 -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0,
6549 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32),
6550 });
6551
6552 try testArgs(@Vector(1, f80), @Vector(1, f32), .{
6553 1e0,
6554 });
6555 try testArgs(@Vector(2, f80), @Vector(2, f32), .{
6556 -inf(f32), -1e-2,
6557 });
6558 try testArgs(@Vector(4, f80), @Vector(4, f32), .{
6559 -1e2, 1e-1, fmax(f32), 1e-2,
6560 });
6561 try testArgs(@Vector(8, f80), @Vector(8, f32), .{
6562 -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4,
6563 });
6564 try testArgs(@Vector(16, f80), @Vector(16, f32), .{
6565 -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1,
6566 });
6567 try testArgs(@Vector(32, f80), @Vector(32, f32), .{
6568 -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0,
6569 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32),
6570 });
6571
6572 try testArgs(@Vector(1, f128), @Vector(1, f32), .{
6573 1e0,
6574 });
6575 try testArgs(@Vector(2, f128), @Vector(2, f32), .{
6576 -inf(f32), -1e-2,
6577 });
6578 try testArgs(@Vector(4, f128), @Vector(4, f32), .{
6579 -1e2, 1e-1, fmax(f32), 1e-2,
6580 });
6581 try testArgs(@Vector(8, f128), @Vector(8, f32), .{
6582 -1e-1, tmin(f32), -1e3, fmin(f32), nan(f32), -1e-3, 1e1, 1e4,
6583 });
6584 try testArgs(@Vector(16, f128), @Vector(16, f32), .{
6585 -fmax(f32), -1e0, 1e-4, 1e2, -fmin(f32), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f32), -tmin(f32), -1e-4, inf(f32), 1e-3, -1e-1,
6586 });
6587 try testArgs(@Vector(32, f128), @Vector(32, f32), .{
6588 -1e3, -tmin(f32), inf(f32), -1e4, -0.0, fmax(f32), 1e2, 1e4, -nan(f32), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f32), -1e0,
6589 1e3, -1e-3, -fmin(f32), -inf(f32), 1e-3, tmin(f32), fmin(f32), 1e1, 1e-4, -fmax(f32), -1e2, 1e-2, -1e-2, 1e3, inf(f32), -fmin(f32),
6590 });
6591
6592 try testArgs(@Vector(1, f16), @Vector(1, f64), .{
6593 1e0,
6594 });
6595 try testArgs(@Vector(2, f16), @Vector(2, f64), .{
6596 -inf(f64), -1e-2,
6597 });
6598 try testArgs(@Vector(4, f16), @Vector(4, f64), .{
6599 -1e2, 1e-1, fmax(f64), 1e-2,
6600 });
6601 try testArgs(@Vector(8, f16), @Vector(8, f64), .{
6602 -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4,
6603 });
6604 try testArgs(@Vector(16, f16), @Vector(16, f64), .{
6605 -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1,
6606 });
6607 try testArgs(@Vector(32, f16), @Vector(32, f64), .{
6608 -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0,
6609 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64),
6610 });
6611
6612 try testArgs(@Vector(1, f32), @Vector(1, f64), .{
6613 1e0,
6614 });
6615 try testArgs(@Vector(2, f32), @Vector(2, f64), .{
6616 -inf(f64), -1e-2,
6617 });
6618 try testArgs(@Vector(4, f32), @Vector(4, f64), .{
6619 -1e2, 1e-1, fmax(f64), 1e-2,
6620 });
6621 try testArgs(@Vector(8, f32), @Vector(8, f64), .{
6622 -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4,
6623 });
6624 try testArgs(@Vector(16, f32), @Vector(16, f64), .{
6625 -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1,
6626 });
6627 try testArgs(@Vector(32, f32), @Vector(32, f64), .{
6628 -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0,
6629 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64),
6630 });
6631
6632 try testArgs(@Vector(1, f64), @Vector(1, f64), .{
6633 1e0,
6634 });
6635 try testArgs(@Vector(2, f64), @Vector(2, f64), .{
6636 -inf(f64), -1e-2,
6637 });
6638 try testArgs(@Vector(4, f64), @Vector(4, f64), .{
6639 -1e2, 1e-1, fmax(f64), 1e-2,
6640 });
6641 try testArgs(@Vector(8, f64), @Vector(8, f64), .{
6642 -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4,
6643 });
6644 try testArgs(@Vector(16, f64), @Vector(16, f64), .{
6645 -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1,
6646 });
6647 try testArgs(@Vector(32, f64), @Vector(32, f64), .{
6648 -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0,
6649 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64),
6650 });
6651
6652 try testArgs(@Vector(1, f80), @Vector(1, f64), .{
6653 1e0,
6654 });
6655 try testArgs(@Vector(2, f80), @Vector(2, f64), .{
6656 -inf(f64), -1e-2,
6657 });
6658 try testArgs(@Vector(4, f80), @Vector(4, f64), .{
6659 -1e2, 1e-1, fmax(f64), 1e-2,
6660 });
6661 try testArgs(@Vector(8, f80), @Vector(8, f64), .{
6662 -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4,
6663 });
6664 try testArgs(@Vector(16, f80), @Vector(16, f64), .{
6665 -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1,
6666 });
6667 try testArgs(@Vector(32, f80), @Vector(32, f64), .{
6668 -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0,
6669 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64),
6670 });
6671
6672 try testArgs(@Vector(1, f128), @Vector(1, f64), .{
6673 1e0,
6674 });
6675 try testArgs(@Vector(2, f128), @Vector(2, f64), .{
6676 -inf(f64), -1e-2,
6677 });
6678 try testArgs(@Vector(4, f128), @Vector(4, f64), .{
6679 -1e2, 1e-1, fmax(f64), 1e-2,
6680 });
6681 try testArgs(@Vector(8, f128), @Vector(8, f64), .{
6682 -1e-1, tmin(f64), -1e3, fmin(f64), nan(f64), -1e-3, 1e1, 1e4,
6683 });
6684 try testArgs(@Vector(16, f128), @Vector(16, f64), .{
6685 -fmax(f64), -1e0, 1e-4, 1e2, -fmin(f64), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f64), -tmin(f64), -1e-4, inf(f64), 1e-3, -1e-1,
6686 });
6687 try testArgs(@Vector(32, f128), @Vector(32, f64), .{
6688 -1e3, -tmin(f64), inf(f64), -1e4, -0.0, fmax(f64), 1e2, 1e4, -nan(f64), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f64), -1e0,
6689 1e3, -1e-3, -fmin(f64), -inf(f64), 1e-3, tmin(f64), fmin(f64), 1e1, 1e-4, -fmax(f64), -1e2, 1e-2, -1e-2, 1e3, inf(f64), -fmin(f64),
6690 });
6691
6692 try testArgs(@Vector(1, f16), @Vector(1, f80), .{
6693 1e0,
6694 });
6695 try testArgs(@Vector(2, f16), @Vector(2, f80), .{
6696 -inf(f80), -1e-2,
6697 });
6698 try testArgs(@Vector(4, f16), @Vector(4, f80), .{
6699 -1e2, 1e-1, fmax(f80), 1e-2,
6700 });
6701 try testArgs(@Vector(8, f16), @Vector(8, f80), .{
6702 -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4,
6703 });
6704 try testArgs(@Vector(16, f16), @Vector(16, f80), .{
6705 -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1,
6706 });
6707 try testArgs(@Vector(32, f16), @Vector(32, f80), .{
6708 -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0,
6709 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80),
6710 });
6711
6712 try testArgs(@Vector(1, f32), @Vector(1, f80), .{
6713 1e0,
6714 });
6715 try testArgs(@Vector(2, f32), @Vector(2, f80), .{
6716 -inf(f80), -1e-2,
6717 });
6718 try testArgs(@Vector(4, f32), @Vector(4, f80), .{
6719 -1e2, 1e-1, fmax(f80), 1e-2,
6720 });
6721 try testArgs(@Vector(8, f32), @Vector(8, f80), .{
6722 -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4,
6723 });
6724 try testArgs(@Vector(16, f32), @Vector(16, f80), .{
6725 -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1,
6726 });
6727 try testArgs(@Vector(32, f32), @Vector(32, f80), .{
6728 -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0,
6729 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80),
6730 });
6731
6732 try testArgs(@Vector(1, f64), @Vector(1, f80), .{
6733 1e0,
6734 });
6735 try testArgs(@Vector(2, f64), @Vector(2, f80), .{
6736 -inf(f80), -1e-2,
6737 });
6738 try testArgs(@Vector(4, f64), @Vector(4, f80), .{
6739 -1e2, 1e-1, fmax(f80), 1e-2,
6740 });
6741 try testArgs(@Vector(8, f64), @Vector(8, f80), .{
6742 -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4,
6743 });
6744 try testArgs(@Vector(16, f64), @Vector(16, f80), .{
6745 -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1,
6746 });
6747 try testArgs(@Vector(32, f64), @Vector(32, f80), .{
6748 -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0,
6749 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80),
6750 });
6751
6752 try testArgs(@Vector(1, f80), @Vector(1, f80), .{
6753 1e0,
6754 });
6755 try testArgs(@Vector(2, f80), @Vector(2, f80), .{
6756 -inf(f80), -1e-2,
6757 });
6758 try testArgs(@Vector(4, f80), @Vector(4, f80), .{
6759 -1e2, 1e-1, fmax(f80), 1e-2,
6760 });
6761 try testArgs(@Vector(8, f80), @Vector(8, f80), .{
6762 -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4,
6763 });
6764 try testArgs(@Vector(16, f80), @Vector(16, f80), .{
6765 -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1,
6766 });
6767 try testArgs(@Vector(32, f80), @Vector(32, f80), .{
6768 -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0,
6769 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80),
6770 });
6771
6772 try testArgs(@Vector(1, f128), @Vector(1, f80), .{
6773 1e0,
6774 });
6775 try testArgs(@Vector(2, f128), @Vector(2, f80), .{
6776 -inf(f80), -1e-2,
6777 });
6778 try testArgs(@Vector(4, f128), @Vector(4, f80), .{
6779 -1e2, 1e-1, fmax(f80), 1e-2,
6780 });
6781 try testArgs(@Vector(8, f128), @Vector(8, f80), .{
6782 -1e-1, tmin(f80), -1e3, fmin(f80), nan(f80), -1e-3, 1e1, 1e4,
6783 });
6784 try testArgs(@Vector(16, f128), @Vector(16, f80), .{
6785 -fmax(f80), -1e0, 1e-4, 1e2, -fmin(f80), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f80), -tmin(f80), -1e-4, inf(f80), 1e-3, -1e-1,
6786 });
6787 try testArgs(@Vector(32, f128), @Vector(32, f80), .{
6788 -1e3, -tmin(f80), inf(f80), -1e4, -0.0, fmax(f80), 1e2, 1e4, -nan(f80), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f80), -1e0,
6789 1e3, -1e-3, -fmin(f80), -inf(f80), 1e-3, tmin(f80), fmin(f80), 1e1, 1e-4, -fmax(f80), -1e2, 1e-2, -1e-2, 1e3, inf(f80), -fmin(f80),
6790 });
6791
6792 try testArgs(@Vector(1, f16), @Vector(1, f128), .{
6793 1e0,
6794 });
6795 try testArgs(@Vector(2, f16), @Vector(2, f128), .{
6796 -inf(f128), -1e-2,
6797 });
6798 try testArgs(@Vector(4, f16), @Vector(4, f128), .{
6799 -1e2, 1e-1, fmax(f128), 1e-2,
6800 });
6801 try testArgs(@Vector(8, f16), @Vector(8, f128), .{
6802 -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4,
6803 });
6804 try testArgs(@Vector(16, f16), @Vector(16, f128), .{
6805 -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1,
6806 });
6807 try testArgs(@Vector(32, f16), @Vector(32, f128), .{
6808 -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0,
6809 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128),
6810 });
6811
6812 try testArgs(@Vector(1, f32), @Vector(1, f128), .{
6813 1e0,
6814 });
6815 try testArgs(@Vector(2, f32), @Vector(2, f128), .{
6816 -inf(f128), -1e-2,
6817 });
6818 try testArgs(@Vector(4, f32), @Vector(4, f128), .{
6819 -1e2, 1e-1, fmax(f128), 1e-2,
6820 });
6821 try testArgs(@Vector(8, f32), @Vector(8, f128), .{
6822 -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4,
6823 });
6824 try testArgs(@Vector(16, f32), @Vector(16, f128), .{
6825 -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1,
6826 });
6827 try testArgs(@Vector(32, f32), @Vector(32, f128), .{
6828 -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0,
6829 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128),
6830 });
6831
6832 try testArgs(@Vector(1, f64), @Vector(1, f128), .{
6833 1e0,
6834 });
6835 try testArgs(@Vector(2, f64), @Vector(2, f128), .{
6836 -inf(f128), -1e-2,
6837 });
6838 try testArgs(@Vector(4, f64), @Vector(4, f128), .{
6839 -1e2, 1e-1, fmax(f128), 1e-2,
6840 });
6841 try testArgs(@Vector(8, f64), @Vector(8, f128), .{
6842 -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4,
6843 });
6844 try testArgs(@Vector(16, f64), @Vector(16, f128), .{
6845 -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1,
6846 });
6847 try testArgs(@Vector(32, f64), @Vector(32, f128), .{
6848 -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0,
6849 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128),
6850 });
6851
6852 try testArgs(@Vector(1, f80), @Vector(1, f128), .{
6853 1e0,
6854 });
6855 try testArgs(@Vector(2, f80), @Vector(2, f128), .{
6856 -inf(f128), -1e-2,
6857 });
6858 try testArgs(@Vector(4, f80), @Vector(4, f128), .{
6859 -1e2, 1e-1, fmax(f128), 1e-2,
6860 });
6861 try testArgs(@Vector(8, f80), @Vector(8, f128), .{
6862 -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4,
6863 });
6864 try testArgs(@Vector(16, f80), @Vector(16, f128), .{
6865 -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1,
6866 });
6867 try testArgs(@Vector(32, f80), @Vector(32, f128), .{
6868 -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0,
6869 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128),
6870 });
6871
6872 try testArgs(@Vector(1, f128), @Vector(1, f128), .{
6873 1e0,
6874 });
6875 try testArgs(@Vector(2, f128), @Vector(2, f128), .{
6876 -inf(f128), -1e-2,
6877 });
6878 try testArgs(@Vector(4, f128), @Vector(4, f128), .{
6879 -1e2, 1e-1, fmax(f128), 1e-2,
6880 });
6881 try testArgs(@Vector(8, f128), @Vector(8, f128), .{
6882 -1e-1, tmin(f128), -1e3, fmin(f128), nan(f128), -1e-3, 1e1, 1e4,
6883 });
6884 try testArgs(@Vector(16, f128), @Vector(16, f128), .{
6885 -fmax(f128), -1e0, 1e-4, 1e2, -fmin(f128), -1e1, 0.0, -1e4, -0.0, 1e3, -nan(f128), -tmin(f128), -1e-4, inf(f128), 1e-3, -1e-1,
6886 });
6887 try testArgs(@Vector(32, f128), @Vector(32, f128), .{
6888 -1e3, -tmin(f128), inf(f128), -1e4, -0.0, fmax(f128), 1e2, 1e4, -nan(f128), 0.0, -1e-4, -1e1, 1e0, 1e-1, nan(f128), -1e0,
6889 1e3, -1e-3, -fmin(f128), -inf(f128), 1e-3, tmin(f128), fmin(f128), 1e1, 1e-4, -fmax(f128), -1e2, 1e-2, -1e-2, 1e3, inf(f128), -fmin(f128),
6890 });
6891 }
6892 fn testIntsFromFloats() !void {
6893 @setEvalBranchQuota(2_600);
6894
6895 try testArgs(i8, f16, -0x0.8p8);
6896 try testArgs(i8, f16, next(f16, -0x0.8p8, -0.0));
6897 try testArgs(i8, f16, next(f16, next(f16, -0x0.8p8, -0.0), -0.0));
6898 try testArgs(i8, f16, -1e2);
6899 try testArgs(i8, f16, -1e1);
6900 try testArgs(i8, f16, -1e0);
6901 try testArgs(i8, f16, -1e-1);
6902 try testArgs(i8, f16, -0.0);
6903 try testArgs(i8, f16, 0.0);
6904 try testArgs(i8, f16, 1e-1);
6905 try testArgs(i8, f16, 1e0);
6906 try testArgs(i8, f16, 1e1);
6907 try testArgs(i8, f16, 1e2);
6908 try testArgs(i8, f16, next(f16, next(f16, 0x0.8p8, 0.0), 0.0));
6909 try testArgs(i8, f16, next(f16, 0x0.8p8, 0.0));
6910
6911 try testArgs(u8, f16, -0.0);
6912 try testArgs(u8, f16, 0.0);
6913 try testArgs(u8, f16, 1e-1);
6914 try testArgs(u8, f16, 1e0);
6915 try testArgs(u8, f16, 1e1);
6916 try testArgs(u8, f16, 1e2);
6917 try testArgs(u8, f16, next(f16, next(f16, 0x1p8, 0.0), 0.0));
6918 try testArgs(u8, f16, next(f16, 0x1p8, 0.0));
6919
6920 try testArgs(i16, f16, -1e4);
6921 try testArgs(i16, f16, -1e3);
6922 try testArgs(i16, f16, -1e2);
6923 try testArgs(i16, f16, -1e1);
6924 try testArgs(i16, f16, -1e0);
6925 try testArgs(i16, f16, -1e-1);
6926 try testArgs(i16, f16, -0.0);
6927 try testArgs(i16, f16, 0.0);
6928 try testArgs(i16, f16, 1e-1);
6929 try testArgs(i16, f16, 1e0);
6930 try testArgs(i16, f16, 1e1);
6931 try testArgs(i16, f16, 1e2);
6932 try testArgs(i16, f16, 1e3);
6933 try testArgs(i16, f16, 1e4);
6934 try testArgs(i16, f16, next(f16, next(f16, 0x0.8p16, 0.0), 0.0));
6935 try testArgs(i16, f16, next(f16, 0x0.8p16, 0.0));
6936
6937 try testArgs(u16, f16, -0.0);
6938 try testArgs(u16, f16, 0.0);
6939 try testArgs(u16, f16, 1e-1);
6940 try testArgs(u16, f16, 1e0);
6941 try testArgs(u16, f16, 1e1);
6942 try testArgs(u16, f16, 1e2);
6943 try testArgs(u16, f16, 1e3);
6944 try testArgs(u16, f16, 1e4);
6945 try testArgs(u16, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0));
6946 try testArgs(u16, f16, next(f16, fmax(f16), 0.0));
6947 try testArgs(u16, f16, fmax(f16));
6948
6949 try testArgs(i32, f16, -fmax(f16));
6950 try testArgs(i32, f16, next(f16, -fmax(f16), -0.0));
6951 try testArgs(i32, f16, next(f16, next(f16, -fmax(f16), -0.0), -0.0));
6952 try testArgs(i32, f16, -1e4);
6953 try testArgs(i32, f16, -1e3);
6954 try testArgs(i32, f16, -1e2);
6955 try testArgs(i32, f16, -1e1);
6956 try testArgs(i32, f16, -1e0);
6957 try testArgs(i32, f16, -1e-1);
6958 try testArgs(i32, f16, -0.0);
6959 try testArgs(i32, f16, 0.0);
6960 try testArgs(i32, f16, 1e-1);
6961 try testArgs(i32, f16, 1e0);
6962 try testArgs(i32, f16, 1e1);
6963 try testArgs(i32, f16, 1e2);
6964 try testArgs(i32, f16, 1e3);
6965 try testArgs(i32, f16, 1e4);
6966 try testArgs(i32, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0));
6967 try testArgs(i32, f16, next(f16, fmax(f16), 0.0));
6968 try testArgs(i32, f16, fmax(f16));
6969
6970 try testArgs(u32, f16, -0.0);
6971 try testArgs(u32, f16, 0.0);
6972 try testArgs(u32, f16, 1e-1);
6973 try testArgs(u32, f16, 1e0);
6974 try testArgs(u32, f16, 1e1);
6975 try testArgs(u32, f16, 1e2);
6976 try testArgs(u32, f16, 1e3);
6977 try testArgs(u32, f16, 1e4);
6978 try testArgs(u32, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0));
6979 try testArgs(u32, f16, next(f16, fmax(f16), 0.0));
6980 try testArgs(u32, f16, fmax(f16));
6981
6982 try testArgs(i64, f16, -fmax(f16));
6983 try testArgs(i64, f16, next(f16, -fmax(f16), -0.0));
6984 try testArgs(i64, f16, next(f16, next(f16, -fmax(f16), -0.0), -0.0));
6985 try testArgs(i64, f16, -1e4);
6986 try testArgs(i64, f16, -1e3);
6987 try testArgs(i64, f16, -1e2);
6988 try testArgs(i64, f16, -1e1);
6989 try testArgs(i64, f16, -1e0);
6990 try testArgs(i64, f16, -1e-1);
6991 try testArgs(i64, f16, -0.0);
6992 try testArgs(i64, f16, 0.0);
6993 try testArgs(i64, f16, 1e-1);
6994 try testArgs(i64, f16, 1e0);
6995 try testArgs(i64, f16, 1e1);
6996 try testArgs(i64, f16, 1e2);
6997 try testArgs(i64, f16, 1e3);
6998 try testArgs(i64, f16, 1e4);
6999 try testArgs(i64, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0));
7000 try testArgs(i64, f16, next(f16, fmax(f16), 0.0));
7001 try testArgs(i64, f16, fmax(f16));
7002
7003 try testArgs(u64, f16, -0.0);
7004 try testArgs(u64, f16, 0.0);
7005 try testArgs(u64, f16, 1e-1);
7006 try testArgs(u64, f16, 1e0);
7007 try testArgs(u64, f16, 1e1);
7008 try testArgs(u64, f16, 1e2);
7009 try testArgs(u64, f16, 1e3);
7010 try testArgs(u64, f16, 1e4);
7011 try testArgs(u64, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0));
7012 try testArgs(u64, f16, next(f16, fmax(f16), 0.0));
7013 try testArgs(u64, f16, fmax(f16));
7014
7015 try testArgs(i128, f16, -fmax(f16));
7016 try testArgs(i128, f16, next(f16, -fmax(f16), -0.0));
7017 try testArgs(i128, f16, next(f16, next(f16, -fmax(f16), -0.0), -0.0));
7018 try testArgs(i128, f16, -1e4);
7019 try testArgs(i128, f16, -1e3);
7020 try testArgs(i128, f16, -1e2);
7021 try testArgs(i128, f16, -1e1);
7022 try testArgs(i128, f16, -1e0);
7023 try testArgs(i128, f16, -1e-1);
7024 try testArgs(i128, f16, -0.0);
7025 try testArgs(i128, f16, 0.0);
7026 try testArgs(i128, f16, 1e-1);
7027 try testArgs(i128, f16, 1e0);
7028 try testArgs(i128, f16, 1e1);
7029 try testArgs(i128, f16, 1e2);
7030 try testArgs(i128, f16, 1e3);
7031 try testArgs(i128, f16, 1e4);
7032 try testArgs(i128, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0));
7033 try testArgs(i128, f16, next(f16, fmax(f16), 0.0));
7034 try testArgs(i128, f16, fmax(f16));
7035
7036 try testArgs(u128, f16, -0.0);
7037 try testArgs(u128, f16, 0.0);
7038 try testArgs(u128, f16, 1e-1);
7039 try testArgs(u128, f16, 1e0);
7040 try testArgs(u128, f16, 1e1);
7041 try testArgs(u128, f16, 1e2);
7042 try testArgs(u128, f16, 1e3);
7043 try testArgs(u128, f16, 1e4);
7044 try testArgs(u128, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0));
7045 try testArgs(u128, f16, next(f16, fmax(f16), 0.0));
7046 try testArgs(u128, f16, fmax(f16));
7047
7048 try testArgs(i256, f16, -fmax(f16));
7049 try testArgs(i256, f16, next(f16, -fmax(f16), -0.0));
7050 try testArgs(i256, f16, next(f16, next(f16, -fmax(f16), -0.0), -0.0));
7051 try testArgs(i256, f16, -1e4);
7052 try testArgs(i256, f16, -1e3);
7053 try testArgs(i256, f16, -1e2);
7054 try testArgs(i256, f16, -1e1);
7055 try testArgs(i256, f16, -1e0);
7056 try testArgs(i256, f16, -1e-1);
7057 try testArgs(i256, f16, -0.0);
7058 try testArgs(i256, f16, 0.0);
7059 try testArgs(i256, f16, 1e-1);
7060 try testArgs(i256, f16, 1e0);
7061 try testArgs(i256, f16, 1e1);
7062 try testArgs(i256, f16, 1e2);
7063 try testArgs(i256, f16, 1e3);
7064 try testArgs(i256, f16, 1e4);
7065 try testArgs(i256, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0));
7066 try testArgs(i256, f16, next(f16, fmax(f16), 0.0));
7067 try testArgs(i256, f16, fmax(f16));
7068
7069 try testArgs(u256, f16, -0.0);
7070 try testArgs(u256, f16, 0.0);
7071 try testArgs(u256, f16, 1e-1);
7072 try testArgs(u256, f16, 1e0);
7073 try testArgs(u256, f16, 1e1);
7074 try testArgs(u256, f16, 1e2);
7075 try testArgs(u256, f16, 1e3);
7076 try testArgs(u256, f16, 1e4);
7077 try testArgs(u256, f16, next(f16, next(f16, fmax(f16), 0.0), 0.0));
7078 try testArgs(u256, f16, next(f16, fmax(f16), 0.0));
7079 try testArgs(u256, f16, fmax(f16));
7080
7081 try testArgs(i8, f32, -0x0.8p8);
7082 try testArgs(i8, f32, next(f32, -0x0.8p8, -0.0));
7083 try testArgs(i8, f32, next(f32, next(f32, -0x0.8p8, -0.0), -0.0));
7084 try testArgs(i8, f32, -1e2);
7085 try testArgs(i8, f32, -1e1);
7086 try testArgs(i8, f32, -1e0);
7087 try testArgs(i8, f32, -1e-1);
7088 try testArgs(i8, f32, -0.0);
7089 try testArgs(i8, f32, 0.0);
7090 try testArgs(i8, f32, 1e-1);
7091 try testArgs(i8, f32, 1e0);
7092 try testArgs(i8, f32, 1e1);
7093 try testArgs(i8, f32, 1e2);
7094 try testArgs(i8, f32, next(f32, next(f32, 0x0.8p8, 0.0), 0.0));
7095 try testArgs(i8, f32, next(f32, 0x0.8p8, 0.0));
7096
7097 try testArgs(u8, f32, -0.0);
7098 try testArgs(u8, f32, 0.0);
7099 try testArgs(u8, f32, 1e-1);
7100 try testArgs(u8, f32, 1e0);
7101 try testArgs(u8, f32, 1e1);
7102 try testArgs(u8, f32, 1e2);
7103 try testArgs(u8, f32, next(f32, next(f32, 0x1p8, 0.0), 0.0));
7104 try testArgs(u8, f32, next(f32, 0x1p8, 0.0));
7105
7106 try testArgs(i16, f32, -0x0.8p16);
7107 try testArgs(i16, f32, next(f32, -0x0.8p16, -0.0));
7108 try testArgs(i16, f32, next(f32, next(f32, -0x0.8p16, -0.0), -0.0));
7109 try testArgs(i16, f32, -1e4);
7110 try testArgs(i16, f32, -1e3);
7111 try testArgs(i16, f32, -1e2);
7112 try testArgs(i16, f32, -1e1);
7113 try testArgs(i16, f32, -1e0);
7114 try testArgs(i16, f32, -1e-1);
7115 try testArgs(i16, f32, -0.0);
7116 try testArgs(i16, f32, 0.0);
7117 try testArgs(i16, f32, 1e-1);
7118 try testArgs(i16, f32, 1e0);
7119 try testArgs(i16, f32, 1e1);
7120 try testArgs(i16, f32, 1e2);
7121 try testArgs(i16, f32, 1e3);
7122 try testArgs(i16, f32, 1e4);
7123 try testArgs(i16, f32, next(f32, next(f32, 0x0.8p16, 0.0), 0.0));
7124 try testArgs(i16, f32, next(f32, 0x0.8p16, 0.0));
7125
7126 try testArgs(u16, f32, -0.0);
7127 try testArgs(u16, f32, 0.0);
7128 try testArgs(u16, f32, 1e-1);
7129 try testArgs(u16, f32, 1e0);
7130 try testArgs(u16, f32, 1e1);
7131 try testArgs(u16, f32, 1e2);
7132 try testArgs(u16, f32, 1e3);
7133 try testArgs(u16, f32, 1e4);
7134 try testArgs(u16, f32, next(f32, next(f32, 0x1p16, 0.0), 0.0));
7135 try testArgs(u16, f32, next(f32, 0x1p16, 0.0));
7136
7137 try testArgs(i32, f32, -0x0.8p32);
7138 try testArgs(i32, f32, next(f32, -0x0.8p32, -0.0));
7139 try testArgs(i32, f32, next(f32, next(f32, -0x0.8p32, -0.0), -0.0));
7140 try testArgs(i32, f32, -1e9);
7141 try testArgs(i32, f32, -1e8);
7142 try testArgs(i32, f32, -1e7);
7143 try testArgs(i32, f32, -1e6);
7144 try testArgs(i32, f32, -1e5);
7145 try testArgs(i32, f32, -1e4);
7146 try testArgs(i32, f32, -1e3);
7147 try testArgs(i32, f32, -1e2);
7148 try testArgs(i32, f32, -1e1);
7149 try testArgs(i32, f32, -1e0);
7150 try testArgs(i32, f32, -1e-1);
7151 try testArgs(i32, f32, -0.0);
7152 try testArgs(i32, f32, 0.0);
7153 try testArgs(i32, f32, 1e-1);
7154 try testArgs(i32, f32, 1e0);
7155 try testArgs(i32, f32, 1e1);
7156 try testArgs(i32, f32, 1e2);
7157 try testArgs(i32, f32, 1e3);
7158 try testArgs(i32, f32, 1e4);
7159 try testArgs(i32, f32, 1e5);
7160 try testArgs(i32, f32, 1e6);
7161 try testArgs(i32, f32, 1e7);
7162 try testArgs(i32, f32, 1e8);
7163 try testArgs(i32, f32, 1e9);
7164 try testArgs(i32, f32, next(f32, next(f32, 0x0.8p32, 0.0), 0.0));
7165 try testArgs(i32, f32, next(f32, 0x0.8p32, 0.0));
7166
7167 try testArgs(u32, f32, -0.0);
7168 try testArgs(u32, f32, 0.0);
7169 try testArgs(u32, f32, 1e-1);
7170 try testArgs(u32, f32, 1e0);
7171 try testArgs(u32, f32, 1e1);
7172 try testArgs(u32, f32, 1e2);
7173 try testArgs(u32, f32, 1e3);
7174 try testArgs(u32, f32, 1e4);
7175 try testArgs(u32, f32, 1e5);
7176 try testArgs(u32, f32, 1e6);
7177 try testArgs(u32, f32, 1e7);
7178 try testArgs(u32, f32, 1e8);
7179 try testArgs(u32, f32, 1e9);
7180 try testArgs(u32, f32, next(f32, next(f32, 0x1p32, 0.0), 0.0));
7181 try testArgs(u32, f32, next(f32, 0x1p32, 0.0));
7182
7183 try testArgs(i64, f32, -0x0.8p64);
7184 try testArgs(i64, f32, next(f32, -0x0.8p64, -0.0));
7185 try testArgs(i64, f32, next(f32, next(f32, -0x0.8p64, -0.0), -0.0));
7186 try testArgs(i64, f32, -1e18);
7187 try testArgs(i64, f32, -1e16);
7188 try testArgs(i64, f32, -1e14);
7189 try testArgs(i64, f32, -1e12);
7190 try testArgs(i64, f32, -1e10);
7191 try testArgs(i64, f32, -1e8);
7192 try testArgs(i64, f32, -1e6);
7193 try testArgs(i64, f32, -1e4);
7194 try testArgs(i64, f32, -1e2);
7195 try testArgs(i64, f32, -1e0);
7196 try testArgs(i64, f32, -1e-1);
7197 try testArgs(i64, f32, -0.0);
7198 try testArgs(i64, f32, 0.0);
7199 try testArgs(i64, f32, 1e-1);
7200 try testArgs(i64, f32, 1e0);
7201 try testArgs(i64, f32, 1e2);
7202 try testArgs(i64, f32, 1e4);
7203 try testArgs(i64, f32, 1e6);
7204 try testArgs(i64, f32, 1e8);
7205 try testArgs(i64, f32, 1e10);
7206 try testArgs(i64, f32, 1e12);
7207 try testArgs(i64, f32, 1e14);
7208 try testArgs(i64, f32, 1e16);
7209 try testArgs(i64, f32, 1e18);
7210 try testArgs(i64, f32, next(f32, next(f32, 0x0.8p64, 0.0), 0.0));
7211 try testArgs(i64, f32, next(f32, 0x0.8p64, 0.0));
7212
7213 try testArgs(u64, f32, -0.0);
7214 try testArgs(u64, f32, 0.0);
7215 try testArgs(u64, f32, 1e-1);
7216 try testArgs(u64, f32, 1e0);
7217 try testArgs(u64, f32, 1e2);
7218 try testArgs(u64, f32, 1e4);
7219 try testArgs(u64, f32, 1e6);
7220 try testArgs(u64, f32, 1e8);
7221 try testArgs(u64, f32, 1e10);
7222 try testArgs(u64, f32, 1e12);
7223 try testArgs(u64, f32, 1e14);
7224 try testArgs(u64, f32, 1e16);
7225 try testArgs(u64, f32, 1e18);
7226 try testArgs(u64, f32, next(f32, next(f32, 0x1p64, 0.0), 0.0));
7227 try testArgs(u64, f32, next(f32, 0x1p64, 0.0));
7228
7229 try testArgs(i128, f32, -0x0.8p128);
7230 try testArgs(i128, f32, next(f32, -0x0.8p128, -0.0));
7231 try testArgs(i128, f32, next(f32, next(f32, -0x0.8p128, -0.0), -0.0));
7232 try testArgs(i128, f32, -1e38);
7233 try testArgs(i128, f32, -1e34);
7234 try testArgs(i128, f32, -1e30);
7235 try testArgs(i128, f32, -1e26);
7236 try testArgs(i128, f32, -1e22);
7237 try testArgs(i128, f32, -1e18);
7238 try testArgs(i128, f32, -1e14);
7239 try testArgs(i128, f32, -1e10);
7240 try testArgs(i128, f32, -1e6);
7241 try testArgs(i128, f32, -1e2);
7242 try testArgs(i128, f32, -1e0);
7243 try testArgs(i128, f32, -1e-1);
7244 try testArgs(i128, f32, -0.0);
7245 try testArgs(i128, f32, 0.0);
7246 try testArgs(i128, f32, 1e-1);
7247 try testArgs(i128, f32, 1e0);
7248 try testArgs(i128, f32, 1e2);
7249 try testArgs(i128, f32, 1e6);
7250 try testArgs(i128, f32, 1e10);
7251 try testArgs(i128, f32, 1e14);
7252 try testArgs(i128, f32, 1e18);
7253 try testArgs(i128, f32, 1e22);
7254 try testArgs(i128, f32, 1e26);
7255 try testArgs(i128, f32, 1e30);
7256 try testArgs(i128, f32, 1e34);
7257 try testArgs(i128, f32, 1e38);
7258 try testArgs(i128, f32, next(f32, next(f32, 0x0.8p128, 0.0), 0.0));
7259 try testArgs(i128, f32, next(f32, 0x0.8p128, 0.0));
7260
7261 try testArgs(u128, f32, -0.0);
7262 try testArgs(u128, f32, 0.0);
7263 try testArgs(u128, f32, 1e-1);
7264 try testArgs(u128, f32, 1e0);
7265 try testArgs(u128, f32, 1e2);
7266 try testArgs(u128, f32, 1e6);
7267 try testArgs(u128, f32, 1e10);
7268 try testArgs(u128, f32, 1e14);
7269 try testArgs(u128, f32, 1e18);
7270 try testArgs(u128, f32, 1e22);
7271 try testArgs(u128, f32, 1e26);
7272 try testArgs(u128, f32, 1e30);
7273 try testArgs(u128, f32, 1e34);
7274 try testArgs(u128, f32, 1e38);
7275 try testArgs(u128, f32, next(f32, next(f32, fmax(f32), 0.0), 0.0));
7276 try testArgs(u128, f32, next(f32, fmax(f32), 0.0));
7277
7278 try testArgs(i256, f32, -fmax(f32));
7279 try testArgs(i256, f32, next(f32, -fmax(f32), -0.0));
7280 try testArgs(i256, f32, next(f32, next(f32, -fmax(f32), -0.0), -0.0));
7281 try testArgs(i256, f32, -1e38);
7282 try testArgs(i256, f32, -1e34);
7283 try testArgs(i256, f32, -1e30);
7284 try testArgs(i256, f32, -1e26);
7285 try testArgs(i256, f32, -1e22);
7286 try testArgs(i256, f32, -1e18);
7287 try testArgs(i256, f32, -1e14);
7288 try testArgs(i256, f32, -1e10);
7289 try testArgs(i256, f32, -1e6);
7290 try testArgs(i256, f32, -1e2);
7291 try testArgs(i256, f32, -1e0);
7292 try testArgs(i256, f32, -1e-1);
7293 try testArgs(i256, f32, -0.0);
7294 try testArgs(i256, f32, 0.0);
7295 try testArgs(i256, f32, 1e-1);
7296 try testArgs(i256, f32, 1e0);
7297 try testArgs(i256, f32, 1e2);
7298 try testArgs(i256, f32, 1e6);
7299 try testArgs(i256, f32, 1e10);
7300 try testArgs(i256, f32, 1e14);
7301 try testArgs(i256, f32, 1e18);
7302 try testArgs(i256, f32, 1e22);
7303 try testArgs(i256, f32, 1e26);
7304 try testArgs(i256, f32, 1e30);
7305 try testArgs(i256, f32, 1e34);
7306 try testArgs(i256, f32, 1e38);
7307 try testArgs(i256, f32, next(f32, next(f32, fmax(f32), 0.0), 0.0));
7308 try testArgs(i256, f32, next(f32, fmax(f32), 0.0));
7309
7310 try testArgs(u256, f32, -0.0);
7311 try testArgs(u256, f32, 0.0);
7312 try testArgs(u256, f32, 1e-1);
7313 try testArgs(u256, f32, 1e0);
7314 try testArgs(u256, f32, 1e2);
7315 try testArgs(u256, f32, 1e6);
7316 try testArgs(u256, f32, 1e10);
7317 try testArgs(u256, f32, 1e14);
7318 try testArgs(u256, f32, 1e18);
7319 try testArgs(u256, f32, 1e22);
7320 try testArgs(u256, f32, 1e26);
7321 try testArgs(u256, f32, 1e30);
7322 try testArgs(u256, f32, 1e34);
7323 try testArgs(u256, f32, 1e38);
7324 try testArgs(u256, f32, next(f32, next(f32, fmax(f32), 0.0), 0.0));
7325 try testArgs(u256, f32, next(f32, fmax(f32), 0.0));
7326
7327 try testArgs(i8, f64, -0x0.8p8);
7328 try testArgs(i8, f64, next(f64, -0x0.8p8, -0.0));
7329 try testArgs(i8, f64, next(f64, next(f64, -0x0.8p8, -0.0), -0.0));
7330 try testArgs(i8, f64, -1e2);
7331 try testArgs(i8, f64, -1e1);
7332 try testArgs(i8, f64, -1e0);
7333 try testArgs(i8, f64, -1e-1);
7334 try testArgs(i8, f64, -0.0);
7335 try testArgs(i8, f64, 0.0);
7336 try testArgs(i8, f64, 1e-1);
7337 try testArgs(i8, f64, 1e0);
7338 try testArgs(i8, f64, 1e1);
7339 try testArgs(i8, f64, 1e2);
7340 try testArgs(i8, f64, next(f64, next(f64, 0x0.8p8, 0.0), 0.0));
7341 try testArgs(i8, f64, next(f64, 0x0.8p8, 0.0));
7342
7343 try testArgs(u8, f64, -0.0);
7344 try testArgs(u8, f64, 0.0);
7345 try testArgs(u8, f64, 1e-1);
7346 try testArgs(u8, f64, 1e0);
7347 try testArgs(u8, f64, 1e1);
7348 try testArgs(u8, f64, 1e2);
7349 try testArgs(u8, f64, next(f64, next(f64, 0x1p8, 0.0), 0.0));
7350 try testArgs(u8, f64, next(f64, 0x1p8, 0.0));
7351
7352 try testArgs(i16, f64, -0x0.8p16);
7353 try testArgs(i16, f64, next(f64, -0x0.8p16, -0.0));
7354 try testArgs(i16, f64, next(f64, next(f64, -0x0.8p16, -0.0), -0.0));
7355 try testArgs(i16, f64, -1e4);
7356 try testArgs(i16, f64, -1e3);
7357 try testArgs(i16, f64, -1e2);
7358 try testArgs(i16, f64, -1e1);
7359 try testArgs(i16, f64, -1e0);
7360 try testArgs(i16, f64, -1e-1);
7361 try testArgs(i16, f64, -0.0);
7362 try testArgs(i16, f64, 0.0);
7363 try testArgs(i16, f64, 1e-1);
7364 try testArgs(i16, f64, 1e0);
7365 try testArgs(i16, f64, 1e1);
7366 try testArgs(i16, f64, 1e2);
7367 try testArgs(i16, f64, 1e3);
7368 try testArgs(i16, f64, 1e4);
7369 try testArgs(i16, f64, next(f64, next(f64, 0x0.8p16, 0.0), 0.0));
7370 try testArgs(i16, f64, next(f64, 0x0.8p16, 0.0));
7371
7372 try testArgs(u16, f64, -0.0);
7373 try testArgs(u16, f64, 0.0);
7374 try testArgs(u16, f64, 1e-1);
7375 try testArgs(u16, f64, 1e0);
7376 try testArgs(u16, f64, 1e1);
7377 try testArgs(u16, f64, 1e2);
7378 try testArgs(u16, f64, 1e3);
7379 try testArgs(u16, f64, 1e4);
7380 try testArgs(u16, f64, next(f64, next(f64, 0x1p16, 0.0), 0.0));
7381 try testArgs(u16, f64, next(f64, 0x1p16, 0.0));
7382
7383 try testArgs(i32, f64, -0x0.8p32);
7384 try testArgs(i32, f64, next(f64, -0x0.8p32, -0.0));
7385 try testArgs(i32, f64, next(f64, next(f64, -0x0.8p32, -0.0), -0.0));
7386 try testArgs(i32, f64, -1e9);
7387 try testArgs(i32, f64, -1e8);
7388 try testArgs(i32, f64, -1e7);
7389 try testArgs(i32, f64, -1e6);
7390 try testArgs(i32, f64, -1e5);
7391 try testArgs(i32, f64, -1e4);
7392 try testArgs(i32, f64, -1e3);
7393 try testArgs(i32, f64, -1e2);
7394 try testArgs(i32, f64, -1e1);
7395 try testArgs(i32, f64, -1e0);
7396 try testArgs(i32, f64, -1e-1);
7397 try testArgs(i32, f64, -0.0);
7398 try testArgs(i32, f64, 0.0);
7399 try testArgs(i32, f64, 1e-1);
7400 try testArgs(i32, f64, 1e0);
7401 try testArgs(i32, f64, 1e1);
7402 try testArgs(i32, f64, 1e2);
7403 try testArgs(i32, f64, 1e3);
7404 try testArgs(i32, f64, 1e4);
7405 try testArgs(i32, f64, 1e5);
7406 try testArgs(i32, f64, 1e6);
7407 try testArgs(i32, f64, 1e7);
7408 try testArgs(i32, f64, 1e8);
7409 try testArgs(i32, f64, 1e9);
7410 try testArgs(i32, f64, next(f64, next(f64, 0x0.8p32, 0.0), 0.0));
7411 try testArgs(i32, f64, next(f64, 0x0.8p32, 0.0));
7412
7413 try testArgs(u32, f64, -0.0);
7414 try testArgs(u32, f64, 0.0);
7415 try testArgs(u32, f64, 1e-1);
7416 try testArgs(u32, f64, 1e0);
7417 try testArgs(u32, f64, 1e1);
7418 try testArgs(u32, f64, 1e2);
7419 try testArgs(u32, f64, 1e3);
7420 try testArgs(u32, f64, 1e4);
7421 try testArgs(u32, f64, 1e5);
7422 try testArgs(u32, f64, 1e6);
7423 try testArgs(u32, f64, 1e7);
7424 try testArgs(u32, f64, 1e8);
7425 try testArgs(u32, f64, 1e9);
7426 try testArgs(u32, f64, next(f64, next(f64, 0x1p32, 0.0), 0.0));
7427 try testArgs(u32, f64, next(f64, 0x1p32, 0.0));
7428
7429 try testArgs(i64, f64, -0x0.8p64);
7430 try testArgs(i64, f64, next(f64, -0x0.8p64, -0.0));
7431 try testArgs(i64, f64, next(f64, next(f64, -0x0.8p64, -0.0), -0.0));
7432 try testArgs(i64, f64, -1e18);
7433 try testArgs(i64, f64, -1e16);
7434 try testArgs(i64, f64, -1e14);
7435 try testArgs(i64, f64, -1e12);
7436 try testArgs(i64, f64, -1e10);
7437 try testArgs(i64, f64, -1e8);
7438 try testArgs(i64, f64, -1e6);
7439 try testArgs(i64, f64, -1e4);
7440 try testArgs(i64, f64, -1e2);
7441 try testArgs(i64, f64, -1e0);
7442 try testArgs(i64, f64, -1e-1);
7443 try testArgs(i64, f64, -0.0);
7444 try testArgs(i64, f64, 0.0);
7445 try testArgs(i64, f64, 1e-1);
7446 try testArgs(i64, f64, 1e0);
7447 try testArgs(i64, f64, 1e2);
7448 try testArgs(i64, f64, 1e4);
7449 try testArgs(i64, f64, 1e6);
7450 try testArgs(i64, f64, 1e8);
7451 try testArgs(i64, f64, 1e10);
7452 try testArgs(i64, f64, 1e12);
7453 try testArgs(i64, f64, 1e14);
7454 try testArgs(i64, f64, 1e16);
7455 try testArgs(i64, f64, 1e18);
7456 try testArgs(i64, f64, next(f64, next(f64, 0x0.8p64, 0.0), 0.0));
7457 try testArgs(i64, f64, next(f64, 0x0.8p64, 0.0));
7458
7459 try testArgs(u64, f64, -0.0);
7460 try testArgs(u64, f64, 0.0);
7461 try testArgs(u64, f64, 1e-1);
7462 try testArgs(u64, f64, 1e0);
7463 try testArgs(u64, f64, 1e2);
7464 try testArgs(u64, f64, 1e4);
7465 try testArgs(u64, f64, 1e6);
7466 try testArgs(u64, f64, 1e8);
7467 try testArgs(u64, f64, 1e10);
7468 try testArgs(u64, f64, 1e12);
7469 try testArgs(u64, f64, 1e14);
7470 try testArgs(u64, f64, 1e16);
7471 try testArgs(u64, f64, 1e18);
7472 try testArgs(u64, f64, next(f64, next(f64, 0x1p64, 0.0), 0.0));
7473 try testArgs(u64, f64, next(f64, 0x1p64, 0.0));
7474
7475 try testArgs(i128, f64, -0x0.8p128);
7476 try testArgs(i128, f64, next(f64, -0x0.8p128, -0.0));
7477 try testArgs(i128, f64, next(f64, next(f64, -0x0.8p128, -0.0), -0.0));
7478 try testArgs(i128, f64, -1e38);
7479 try testArgs(i128, f64, -1e34);
7480 try testArgs(i128, f64, -1e30);
7481 try testArgs(i128, f64, -1e26);
7482 try testArgs(i128, f64, -1e22);
7483 try testArgs(i128, f64, -1e18);
7484 try testArgs(i128, f64, -1e14);
7485 try testArgs(i128, f64, -1e10);
7486 try testArgs(i128, f64, -1e6);
7487 try testArgs(i128, f64, -1e2);
7488 try testArgs(i128, f64, -1e0);
7489 try testArgs(i128, f64, -1e-1);
7490 try testArgs(i128, f64, -0.0);
7491 try testArgs(i128, f64, 0.0);
7492 try testArgs(i128, f64, 1e-1);
7493 try testArgs(i128, f64, 1e0);
7494 try testArgs(i128, f64, 1e2);
7495 try testArgs(i128, f64, 1e6);
7496 try testArgs(i128, f64, 1e10);
7497 try testArgs(i128, f64, 1e14);
7498 try testArgs(i128, f64, 1e18);
7499 try testArgs(i128, f64, 1e22);
7500 try testArgs(i128, f64, 1e26);
7501 try testArgs(i128, f64, 1e30);
7502 try testArgs(i128, f64, 1e34);
7503 try testArgs(i128, f64, 1e38);
7504 try testArgs(i128, f64, next(f64, next(f64, 0x0.8p128, 0.0), 0.0));
7505 try testArgs(i128, f64, next(f64, 0x0.8p128, 0.0));
7506
7507 try testArgs(u128, f64, -0.0);
7508 try testArgs(u128, f64, 0.0);
7509 try testArgs(u128, f64, 1e-1);
7510 try testArgs(u128, f64, 1e0);
7511 try testArgs(u128, f64, 1e2);
7512 try testArgs(u128, f64, 1e6);
7513 try testArgs(u128, f64, 1e10);
7514 try testArgs(u128, f64, 1e14);
7515 try testArgs(u128, f64, 1e18);
7516 try testArgs(u128, f64, 1e22);
7517 try testArgs(u128, f64, 1e26);
7518 try testArgs(u128, f64, 1e30);
7519 try testArgs(u128, f64, 1e34);
7520 try testArgs(u128, f64, 1e38);
7521 try testArgs(u128, f64, next(f64, next(f64, 0x1p128, 0.0), 0.0));
7522 try testArgs(u128, f64, next(f64, 0x1p128, 0.0));
7523
7524 try testArgs(i256, f64, -0x0.8p256);
7525 try testArgs(i256, f64, next(f64, -0x0.8p256, -0.0));
7526 try testArgs(i256, f64, next(f64, next(f64, -0x0.8p256, -0.0), -0.0));
7527 try testArgs(i256, f64, -1e76);
7528 try testArgs(i256, f64, -1e69);
7529 try testArgs(i256, f64, -1e62);
7530 try testArgs(i256, f64, -1e55);
7531 try testArgs(i256, f64, -1e48);
7532 try testArgs(i256, f64, -1e41);
7533 try testArgs(i256, f64, -1e34);
7534 try testArgs(i256, f64, -1e27);
7535 try testArgs(i256, f64, -1e20);
7536 try testArgs(i256, f64, -1e13);
7537 try testArgs(i256, f64, -1e6);
7538 try testArgs(i256, f64, -1e0);
7539 try testArgs(i256, f64, -1e-1);
7540 try testArgs(i256, f64, -0.0);
7541 try testArgs(i256, f64, 0.0);
7542 try testArgs(i256, f64, 1e-1);
7543 try testArgs(i256, f64, 1e0);
7544 try testArgs(i256, f64, 1e6);
7545 try testArgs(i256, f64, 1e13);
7546 try testArgs(i256, f64, 1e20);
7547 try testArgs(i256, f64, 1e27);
7548 try testArgs(i256, f64, 1e34);
7549 try testArgs(i256, f64, 1e41);
7550 try testArgs(i256, f64, 1e48);
7551 try testArgs(i256, f64, 1e55);
7552 try testArgs(i256, f64, 1e62);
7553 try testArgs(i256, f64, 1e69);
7554 try testArgs(i256, f64, 1e76);
7555 try testArgs(i256, f64, next(f64, next(f64, 0x0.8p256, 0.0), 0.0));
7556 try testArgs(i256, f64, next(f64, 0x0.8p256, 0.0));
7557
7558 try testArgs(u256, f64, -0.0);
7559 try testArgs(u256, f64, 0.0);
7560 try testArgs(u256, f64, 1e-1);
7561 try testArgs(u256, f64, 1e0);
7562 try testArgs(u256, f64, 1e7);
7563 try testArgs(u256, f64, 1e14);
7564 try testArgs(u256, f64, 1e21);
7565 try testArgs(u256, f64, 1e28);
7566 try testArgs(u256, f64, 1e35);
7567 try testArgs(u256, f64, 1e42);
7568 try testArgs(u256, f64, 1e49);
7569 try testArgs(u256, f64, 1e56);
7570 try testArgs(u256, f64, 1e63);
7571 try testArgs(u256, f64, 1e70);
7572 try testArgs(u256, f64, 1e77);
7573 try testArgs(u256, f64, next(f64, next(f64, 0x1p256, 0.0), 0.0));
7574 try testArgs(u256, f64, next(f64, 0x1p256, 0.0));
7575
7576 try testArgs(i8, f80, -0x0.8p8);
7577 try testArgs(i8, f80, next(f80, -0x0.8p8, -0.0));
7578 try testArgs(i8, f80, next(f80, next(f80, -0x0.8p8, -0.0), -0.0));
7579 try testArgs(i8, f80, -1e2);
7580 try testArgs(i8, f80, -1e1);
7581 try testArgs(i8, f80, -1e0);
7582 try testArgs(i8, f80, -1e-1);
7583 try testArgs(i8, f80, -0.0);
7584 try testArgs(i8, f80, 0.0);
7585 try testArgs(i8, f80, 1e-1);
7586 try testArgs(i8, f80, 1e0);
7587 try testArgs(i8, f80, 1e1);
7588 try testArgs(i8, f80, 1e2);
7589 try testArgs(i8, f80, next(f80, next(f80, 0x0.8p8, 0.0), 0.0));
7590 try testArgs(i8, f80, next(f80, 0x0.8p8, 0.0));
7591
7592 try testArgs(u8, f80, -0.0);
7593 try testArgs(u8, f80, 0.0);
7594 try testArgs(u8, f80, 1e-1);
7595 try testArgs(u8, f80, 1e0);
7596 try testArgs(u8, f80, 1e1);
7597 try testArgs(u8, f80, 1e2);
7598 try testArgs(u8, f80, next(f80, next(f80, 0x1p8, 0.0), 0.0));
7599 try testArgs(u8, f80, next(f80, 0x1p8, 0.0));
7600
7601 try testArgs(i16, f80, -0x0.8p16);
7602 try testArgs(i16, f80, next(f80, -0x0.8p16, -0.0));
7603 try testArgs(i16, f80, next(f80, next(f80, -0x0.8p16, -0.0), -0.0));
7604 try testArgs(i16, f80, -1e4);
7605 try testArgs(i16, f80, -1e3);
7606 try testArgs(i16, f80, -1e2);
7607 try testArgs(i16, f80, -1e1);
7608 try testArgs(i16, f80, -1e0);
7609 try testArgs(i16, f80, -1e-1);
7610 try testArgs(i16, f80, -0.0);
7611 try testArgs(i16, f80, 0.0);
7612 try testArgs(i16, f80, 1e-1);
7613 try testArgs(i16, f80, 1e0);
7614 try testArgs(i16, f80, 1e1);
7615 try testArgs(i16, f80, 1e2);
7616 try testArgs(i16, f80, 1e3);
7617 try testArgs(i16, f80, 1e4);
7618 try testArgs(i16, f80, next(f80, next(f80, 0x0.8p16, 0.0), 0.0));
7619 try testArgs(i16, f80, next(f80, 0x0.8p16, 0.0));
7620
7621 try testArgs(u16, f80, -0.0);
7622 try testArgs(u16, f80, 0.0);
7623 try testArgs(u16, f80, 1e-1);
7624 try testArgs(u16, f80, 1e0);
7625 try testArgs(u16, f80, 1e1);
7626 try testArgs(u16, f80, 1e2);
7627 try testArgs(u16, f80, 1e3);
7628 try testArgs(u16, f80, 1e4);
7629 try testArgs(u16, f80, next(f80, next(f80, 0x1p16, 0.0), 0.0));
7630 try testArgs(u16, f80, next(f80, 0x1p16, 0.0));
7631
7632 try testArgs(i32, f80, -0x0.8p32);
7633 try testArgs(i32, f80, next(f80, -0x0.8p32, -0.0));
7634 try testArgs(i32, f80, next(f80, next(f80, -0x0.8p32, -0.0), -0.0));
7635 try testArgs(i32, f80, -1e9);
7636 try testArgs(i32, f80, -1e8);
7637 try testArgs(i32, f80, -1e7);
7638 try testArgs(i32, f80, -1e6);
7639 try testArgs(i32, f80, -1e5);
7640 try testArgs(i32, f80, -1e4);
7641 try testArgs(i32, f80, -1e3);
7642 try testArgs(i32, f80, -1e2);
7643 try testArgs(i32, f80, -1e1);
7644 try testArgs(i32, f80, -1e0);
7645 try testArgs(i32, f80, -1e-1);
7646 try testArgs(i32, f80, -0.0);
7647 try testArgs(i32, f80, 0.0);
7648 try testArgs(i32, f80, 1e-1);
7649 try testArgs(i32, f80, 1e0);
7650 try testArgs(i32, f80, 1e1);
7651 try testArgs(i32, f80, 1e2);
7652 try testArgs(i32, f80, 1e3);
7653 try testArgs(i32, f80, 1e4);
7654 try testArgs(i32, f80, 1e5);
7655 try testArgs(i32, f80, 1e6);
7656 try testArgs(i32, f80, 1e7);
7657 try testArgs(i32, f80, 1e8);
7658 try testArgs(i32, f80, 1e9);
7659 try testArgs(i32, f80, next(f80, next(f80, 0x0.8p32, 0.0), 0.0));
7660 try testArgs(i32, f80, next(f80, 0x0.8p32, 0.0));
7661
7662 try testArgs(u32, f80, -0.0);
7663 try testArgs(u32, f80, 0.0);
7664 try testArgs(u32, f80, 1e-1);
7665 try testArgs(u32, f80, 1e0);
7666 try testArgs(u32, f80, 1e1);
7667 try testArgs(u32, f80, 1e2);
7668 try testArgs(u32, f80, 1e3);
7669 try testArgs(u32, f80, 1e4);
7670 try testArgs(u32, f80, 1e5);
7671 try testArgs(u32, f80, 1e6);
7672 try testArgs(u32, f80, 1e7);
7673 try testArgs(u32, f80, 1e8);
7674 try testArgs(u32, f80, 1e9);
7675 try testArgs(u32, f80, next(f80, next(f80, 0x1p32, 0.0), 0.0));
7676 try testArgs(u32, f80, next(f80, 0x1p32, 0.0));
7677
7678 try testArgs(i64, f80, -0x0.8p64);
7679 try testArgs(i64, f80, next(f80, -0x0.8p64, -0.0));
7680 try testArgs(i64, f80, next(f80, next(f80, -0x0.8p64, -0.0), -0.0));
7681 try testArgs(i64, f80, -1e18);
7682 try testArgs(i64, f80, -1e16);
7683 try testArgs(i64, f80, -1e14);
7684 try testArgs(i64, f80, -1e12);
7685 try testArgs(i64, f80, -1e10);
7686 try testArgs(i64, f80, -1e8);
7687 try testArgs(i64, f80, -1e6);
7688 try testArgs(i64, f80, -1e4);
7689 try testArgs(i64, f80, -1e2);
7690 try testArgs(i64, f80, -1e0);
7691 try testArgs(i64, f80, -1e-1);
7692 try testArgs(i64, f80, -0.0);
7693 try testArgs(i64, f80, 0.0);
7694 try testArgs(i64, f80, 1e-1);
7695 try testArgs(i64, f80, 1e0);
7696 try testArgs(i64, f80, 1e2);
7697 try testArgs(i64, f80, 1e4);
7698 try testArgs(i64, f80, 1e6);
7699 try testArgs(i64, f80, 1e8);
7700 try testArgs(i64, f80, 1e10);
7701 try testArgs(i64, f80, 1e12);
7702 try testArgs(i64, f80, 1e14);
7703 try testArgs(i64, f80, 1e16);
7704 try testArgs(i64, f80, 1e18);
7705 try testArgs(i64, f80, next(f80, next(f80, 0x0.8p64, 0.0), 0.0));
7706 try testArgs(i64, f80, next(f80, 0x0.8p64, 0.0));
7707
7708 try testArgs(u64, f80, -0.0);
7709 try testArgs(u64, f80, 0.0);
7710 try testArgs(u64, f80, 1e-1);
7711 try testArgs(u64, f80, 1e0);
7712 try testArgs(u64, f80, 1e2);
7713 try testArgs(u64, f80, 1e4);
7714 try testArgs(u64, f80, 1e6);
7715 try testArgs(u64, f80, 1e8);
7716 try testArgs(u64, f80, 1e10);
7717 try testArgs(u64, f80, 1e12);
7718 try testArgs(u64, f80, 1e14);
7719 try testArgs(u64, f80, 1e16);
7720 try testArgs(u64, f80, 1e18);
7721 try testArgs(u64, f80, next(f80, next(f80, 0x1p64, 0.0), 0.0));
7722 try testArgs(u64, f80, next(f80, 0x1p64, 0.0));
7723
7724 try testArgs(i128, f80, -0x0.8p128);
7725 try testArgs(i128, f80, next(f80, -0x0.8p128, -0.0));
7726 try testArgs(i128, f80, next(f80, next(f80, -0x0.8p128, -0.0), -0.0));
7727 try testArgs(i128, f80, -1e38);
7728 try testArgs(i128, f80, -1e34);
7729 try testArgs(i128, f80, -1e30);
7730 try testArgs(i128, f80, -1e26);
7731 try testArgs(i128, f80, -1e22);
7732 try testArgs(i128, f80, -1e18);
7733 try testArgs(i128, f80, -1e14);
7734 try testArgs(i128, f80, -1e10);
7735 try testArgs(i128, f80, -1e6);
7736 try testArgs(i128, f80, -1e2);
7737 try testArgs(i128, f80, -1e0);
7738 try testArgs(i128, f80, -1e-1);
7739 try testArgs(i128, f80, -0.0);
7740 try testArgs(i128, f80, 0.0);
7741 try testArgs(i128, f80, 1e-1);
7742 try testArgs(i128, f80, 1e0);
7743 try testArgs(i128, f80, 1e2);
7744 try testArgs(i128, f80, 1e6);
7745 try testArgs(i128, f80, 1e10);
7746 try testArgs(i128, f80, 1e14);
7747 try testArgs(i128, f80, 1e18);
7748 try testArgs(i128, f80, 1e22);
7749 try testArgs(i128, f80, 1e26);
7750 try testArgs(i128, f80, 1e30);
7751 try testArgs(i128, f80, 1e34);
7752 try testArgs(i128, f80, 1e38);
7753 try testArgs(i128, f80, next(f80, next(f80, 0x0.8p128, 0.0), 0.0));
7754 try testArgs(i128, f80, next(f80, 0x0.8p128, 0.0));
7755
7756 try testArgs(u128, f80, -0.0);
7757 try testArgs(u128, f80, 0.0);
7758 try testArgs(u128, f80, 1e-1);
7759 try testArgs(u128, f80, 1e0);
7760 try testArgs(u128, f80, 1e2);
7761 try testArgs(u128, f80, 1e6);
7762 try testArgs(u128, f80, 1e10);
7763 try testArgs(u128, f80, 1e14);
7764 try testArgs(u128, f80, 1e18);
7765 try testArgs(u128, f80, 1e22);
7766 try testArgs(u128, f80, 1e26);
7767 try testArgs(u128, f80, 1e30);
7768 try testArgs(u128, f80, 1e34);
7769 try testArgs(u128, f80, 1e38);
7770 try testArgs(u128, f80, next(f80, next(f80, 0x1p128, 0.0), 0.0));
7771 try testArgs(u128, f80, next(f80, 0x1p128, 0.0));
7772
7773 try testArgs(i256, f80, -0x0.8p256);
7774 try testArgs(i256, f80, next(f80, -0x0.8p256, -0.0));
7775 try testArgs(i256, f80, next(f80, next(f80, -0x0.8p256, -0.0), -0.0));
7776 try testArgs(i256, f80, -1e76);
7777 try testArgs(i256, f80, -1e69);
7778 try testArgs(i256, f80, -1e62);
7779 try testArgs(i256, f80, -1e55);
7780 try testArgs(i256, f80, -1e48);
7781 try testArgs(i256, f80, -1e41);
7782 try testArgs(i256, f80, -1e34);
7783 try testArgs(i256, f80, -1e27);
7784 try testArgs(i256, f80, -1e20);
7785 try testArgs(i256, f80, -1e13);
7786 try testArgs(i256, f80, -1e6);
7787 try testArgs(i256, f80, -1e0);
7788 try testArgs(i256, f80, -1e-1);
7789 try testArgs(i256, f80, -0.0);
7790 try testArgs(i256, f80, 0.0);
7791 try testArgs(i256, f80, 1e-1);
7792 try testArgs(i256, f80, 1e0);
7793 try testArgs(i256, f80, 1e6);
7794 try testArgs(i256, f80, 1e13);
7795 try testArgs(i256, f80, 1e20);
7796 try testArgs(i256, f80, 1e27);
7797 try testArgs(i256, f80, 1e34);
7798 try testArgs(i256, f80, 1e41);
7799 try testArgs(i256, f80, 1e48);
7800 try testArgs(i256, f80, 1e55);
7801 try testArgs(i256, f80, 1e62);
7802 try testArgs(i256, f80, 1e69);
7803 try testArgs(i256, f80, 1e76);
7804 try testArgs(i256, f80, next(f80, next(f80, 0x0.8p256, 0.0), 0.0));
7805 try testArgs(i256, f80, next(f80, 0x0.8p256, 0.0));
7806
7807 try testArgs(u256, f80, -0.0);
7808 try testArgs(u256, f80, 0.0);
7809 try testArgs(u256, f80, 1e-1);
7810 try testArgs(u256, f80, 1e0);
7811 try testArgs(u256, f80, 1e7);
7812 try testArgs(u256, f80, 1e14);
7813 try testArgs(u256, f80, 1e21);
7814 try testArgs(u256, f80, 1e28);
7815 try testArgs(u256, f80, 1e35);
7816 try testArgs(u256, f80, 1e42);
7817 try testArgs(u256, f80, 1e49);
7818 try testArgs(u256, f80, 1e56);
7819 try testArgs(u256, f80, 1e63);
7820 try testArgs(u256, f80, 1e70);
7821 try testArgs(u256, f80, 1e77);
7822 try testArgs(u256, f80, next(f80, next(f80, 0x1p256, 0.0), 0.0));
7823 try testArgs(u256, f80, next(f80, 0x1p256, 0.0));
7824
7825 try testArgs(i8, f128, -0x0.8p8);
7826 try testArgs(i8, f128, next(f128, -0x0.8p8, -0.0));
7827 try testArgs(i8, f128, next(f128, next(f128, -0x0.8p8, -0.0), -0.0));
7828 try testArgs(i8, f128, -1e2);
7829 try testArgs(i8, f128, -1e1);
7830 try testArgs(i8, f128, -1e0);
7831 try testArgs(i8, f128, -1e-1);
7832 try testArgs(i8, f128, -0.0);
7833 try testArgs(i8, f128, 0.0);
7834 try testArgs(i8, f128, 1e-1);
7835 try testArgs(i8, f128, 1e0);
7836 try testArgs(i8, f128, 1e1);
7837 try testArgs(i8, f128, 1e2);
7838 try testArgs(i8, f128, next(f128, next(f128, 0x0.8p8, 0.0), 0.0));
7839 try testArgs(i8, f128, next(f128, 0x0.8p8, 0.0));
7840
7841 try testArgs(u8, f128, -0.0);
7842 try testArgs(u8, f128, 0.0);
7843 try testArgs(u8, f128, 1e-1);
7844 try testArgs(u8, f128, 1e0);
7845 try testArgs(u8, f128, 1e1);
7846 try testArgs(u8, f128, 1e2);
7847 try testArgs(u8, f128, next(f128, next(f128, 0x1p8, 0.0), 0.0));
7848 try testArgs(u8, f128, next(f128, 0x1p8, 0.0));
7849
7850 try testArgs(i16, f128, -0x0.8p16);
7851 try testArgs(i16, f128, next(f128, -0x0.8p16, -0.0));
7852 try testArgs(i16, f128, next(f128, next(f128, -0x0.8p16, -0.0), -0.0));
7853 try testArgs(i16, f128, -1e4);
7854 try testArgs(i16, f128, -1e3);
7855 try testArgs(i16, f128, -1e2);
7856 try testArgs(i16, f128, -1e1);
7857 try testArgs(i16, f128, -1e0);
7858 try testArgs(i16, f128, -1e-1);
7859 try testArgs(i16, f128, -0.0);
7860 try testArgs(i16, f128, 0.0);
7861 try testArgs(i16, f128, 1e-1);
7862 try testArgs(i16, f128, 1e0);
7863 try testArgs(i16, f128, 1e1);
7864 try testArgs(i16, f128, 1e2);
7865 try testArgs(i16, f128, 1e3);
7866 try testArgs(i16, f128, 1e4);
7867 try testArgs(i16, f128, next(f128, next(f128, 0x0.8p16, 0.0), 0.0));
7868 try testArgs(i16, f128, next(f128, 0x0.8p16, 0.0));
7869
7870 try testArgs(u16, f128, -0.0);
7871 try testArgs(u16, f128, 0.0);
7872 try testArgs(u16, f128, 1e-1);
7873 try testArgs(u16, f128, 1e0);
7874 try testArgs(u16, f128, 1e1);
7875 try testArgs(u16, f128, 1e2);
7876 try testArgs(u16, f128, 1e3);
7877 try testArgs(u16, f128, 1e4);
7878 try testArgs(u16, f128, next(f128, next(f128, 0x1p16, 0.0), 0.0));
7879 try testArgs(u16, f128, next(f128, 0x1p16, 0.0));
7880
7881 try testArgs(i32, f128, -0x0.8p32);
7882 try testArgs(i32, f128, next(f128, -0x0.8p32, -0.0));
7883 try testArgs(i32, f128, next(f128, next(f128, -0x0.8p32, -0.0), -0.0));
7884 try testArgs(i32, f128, -1e9);
7885 try testArgs(i32, f128, -1e8);
7886 try testArgs(i32, f128, -1e7);
7887 try testArgs(i32, f128, -1e6);
7888 try testArgs(i32, f128, -1e5);
7889 try testArgs(i32, f128, -1e4);
7890 try testArgs(i32, f128, -1e3);
7891 try testArgs(i32, f128, -1e2);
7892 try testArgs(i32, f128, -1e1);
7893 try testArgs(i32, f128, -1e0);
7894 try testArgs(i32, f128, -1e-1);
7895 try testArgs(i32, f128, -0.0);
7896 try testArgs(i32, f128, 0.0);
7897 try testArgs(i32, f128, 1e-1);
7898 try testArgs(i32, f128, 1e0);
7899 try testArgs(i32, f128, 1e1);
7900 try testArgs(i32, f128, 1e2);
7901 try testArgs(i32, f128, 1e3);
7902 try testArgs(i32, f128, 1e4);
7903 try testArgs(i32, f128, 1e5);
7904 try testArgs(i32, f128, 1e6);
7905 try testArgs(i32, f128, 1e7);
7906 try testArgs(i32, f128, 1e8);
7907 try testArgs(i32, f128, 1e9);
7908 try testArgs(i32, f128, next(f128, next(f128, 0x0.8p32, 0.0), 0.0));
7909 try testArgs(i32, f128, next(f128, 0x0.8p32, 0.0));
7910
7911 try testArgs(u32, f128, -0.0);
7912 try testArgs(u32, f128, 0.0);
7913 try testArgs(u32, f128, 1e-1);
7914 try testArgs(u32, f128, 1e0);
7915 try testArgs(u32, f128, 1e1);
7916 try testArgs(u32, f128, 1e2);
7917 try testArgs(u32, f128, 1e3);
7918 try testArgs(u32, f128, 1e4);
7919 try testArgs(u32, f128, 1e5);
7920 try testArgs(u32, f128, 1e6);
7921 try testArgs(u32, f128, 1e7);
7922 try testArgs(u32, f128, 1e8);
7923 try testArgs(u32, f128, 1e9);
7924 try testArgs(u32, f128, next(f128, next(f128, 0x1p32, 0.0), 0.0));
7925 try testArgs(u32, f128, next(f128, 0x1p32, 0.0));
7926
7927 try testArgs(i64, f128, -0x0.8p64);
7928 try testArgs(i64, f128, next(f128, -0x0.8p64, -0.0));
7929 try testArgs(i64, f128, next(f128, next(f128, -0x0.8p64, -0.0), -0.0));
7930 try testArgs(i64, f128, -1e18);
7931 try testArgs(i64, f128, -1e16);
7932 try testArgs(i64, f128, -1e14);
7933 try testArgs(i64, f128, -1e12);
7934 try testArgs(i64, f128, -1e10);
7935 try testArgs(i64, f128, -1e8);
7936 try testArgs(i64, f128, -1e6);
7937 try testArgs(i64, f128, -1e4);
7938 try testArgs(i64, f128, -1e2);
7939 try testArgs(i64, f128, -1e0);
7940 try testArgs(i64, f128, -1e-1);
7941 try testArgs(i64, f128, -0.0);
7942 try testArgs(i64, f128, 0.0);
7943 try testArgs(i64, f128, 1e-1);
7944 try testArgs(i64, f128, 1e0);
7945 try testArgs(i64, f128, 1e2);
7946 try testArgs(i64, f128, 1e4);
7947 try testArgs(i64, f128, 1e6);
7948 try testArgs(i64, f128, 1e8);
7949 try testArgs(i64, f128, 1e10);
7950 try testArgs(i64, f128, 1e11);
7951 try testArgs(i64, f128, 1e12);
7952 try testArgs(i64, f128, 1e13);
7953 try testArgs(i64, f128, 1e14);
7954 try testArgs(i64, f128, 1e15);
7955 try testArgs(i64, f128, 1e16);
7956 try testArgs(i64, f128, 1e17);
7957 try testArgs(i64, f128, 1e18);
7958 try testArgs(i64, f128, next(f128, next(f128, 0x0.8p64, 0.0), 0.0));
7959 try testArgs(i64, f128, next(f128, 0x0.8p64, 0.0));
7960
7961 try testArgs(u64, f128, -0.0);
7962 try testArgs(u64, f128, 0.0);
7963 try testArgs(u64, f128, 1e-1);
7964 try testArgs(u64, f128, 1e0);
7965 try testArgs(u64, f128, 1e2);
7966 try testArgs(u64, f128, 1e4);
7967 try testArgs(u64, f128, 1e6);
7968 try testArgs(u64, f128, 1e8);
7969 try testArgs(u64, f128, 1e10);
7970 try testArgs(u64, f128, 1e12);
7971 try testArgs(u64, f128, 1e14);
7972 try testArgs(u64, f128, 1e16);
7973 try testArgs(u64, f128, 1e18);
7974 try testArgs(u64, f128, next(f128, next(f128, 0x1p64, 0.0), 0.0));
7975 try testArgs(u64, f128, next(f128, 0x1p64, 0.0));
7976
7977 try testArgs(i128, f128, -0x0.8p128);
7978 try testArgs(i128, f128, next(f128, -0x0.8p128, -0.0));
7979 try testArgs(i128, f128, next(f128, next(f128, -0x0.8p128, -0.0), -0.0));
7980 try testArgs(i128, f128, -1e38);
7981 try testArgs(i128, f128, -1e34);
7982 try testArgs(i128, f128, -1e30);
7983 try testArgs(i128, f128, -1e26);
7984 try testArgs(i128, f128, -1e22);
7985 try testArgs(i128, f128, -1e18);
7986 try testArgs(i128, f128, -1e14);
7987 try testArgs(i128, f128, -1e10);
7988 try testArgs(i128, f128, -1e6);
7989 try testArgs(i128, f128, -1e2);
7990 try testArgs(i128, f128, -1e0);
7991 try testArgs(i128, f128, -1e-1);
7992 try testArgs(i128, f128, -0.0);
7993 try testArgs(i128, f128, 0.0);
7994 try testArgs(i128, f128, 1e-1);
7995 try testArgs(i128, f128, 1e0);
7996 try testArgs(i128, f128, 1e2);
7997 try testArgs(i128, f128, 1e6);
7998 try testArgs(i128, f128, 1e10);
7999 try testArgs(i128, f128, 1e14);
8000 try testArgs(i128, f128, 1e18);
8001 try testArgs(i128, f128, 1e22);
8002 try testArgs(i128, f128, 1e26);
8003 try testArgs(i128, f128, 1e30);
8004 try testArgs(i128, f128, 1e34);
8005 try testArgs(i128, f128, 1e38);
8006 try testArgs(i128, f128, next(f128, next(f128, 0x0.8p128, 0.0), 0.0));
8007 try testArgs(i128, f128, next(f128, 0x0.8p128, 0.0));
8008
8009 try testArgs(u128, f128, -0.0);
8010 try testArgs(u128, f128, 0.0);
8011 try testArgs(u128, f128, 1e-1);
8012 try testArgs(u128, f128, 1e0);
8013 try testArgs(u128, f128, 1e2);
8014 try testArgs(u128, f128, 1e6);
8015 try testArgs(u128, f128, 1e10);
8016 try testArgs(u128, f128, 1e14);
8017 try testArgs(u128, f128, 1e18);
8018 try testArgs(u128, f128, 1e22);
8019 try testArgs(u128, f128, 1e26);
8020 try testArgs(u128, f128, 1e30);
8021 try testArgs(u128, f128, 1e34);
8022 try testArgs(u128, f128, 1e38);
8023 try testArgs(u128, f128, next(f128, next(f128, 0x1p128, 0.0), 0.0));
8024 try testArgs(u128, f128, next(f128, 0x1p128, 0.0));
8025
8026 try testArgs(i256, f128, -0x0.8p256);
8027 try testArgs(i256, f128, next(f128, -0x0.8p256, -0.0));
8028 try testArgs(i256, f128, next(f128, next(f128, -0x0.8p256, -0.0), -0.0));
8029 try testArgs(i256, f128, -1e76);
8030 try testArgs(i256, f128, -1e69);
8031 try testArgs(i256, f128, -1e62);
8032 try testArgs(i256, f128, -1e55);
8033 try testArgs(i256, f128, -1e48);
8034 try testArgs(i256, f128, -1e41);
8035 try testArgs(i256, f128, -1e34);
8036 try testArgs(i256, f128, -1e27);
8037 try testArgs(i256, f128, -1e20);
8038 try testArgs(i256, f128, -1e13);
8039 try testArgs(i256, f128, -1e6);
8040 try testArgs(i256, f128, -1e0);
8041 try testArgs(i256, f128, -1e-1);
8042 try testArgs(i256, f128, -0.0);
8043 try testArgs(i256, f128, 0.0);
8044 try testArgs(i256, f128, 1e-1);
8045 try testArgs(i256, f128, 1e0);
8046 try testArgs(i256, f128, 1e6);
8047 try testArgs(i256, f128, 1e13);
8048 try testArgs(i256, f128, 1e20);
8049 try testArgs(i256, f128, 1e27);
8050 try testArgs(i256, f128, 1e34);
8051 try testArgs(i256, f128, 1e41);
8052 try testArgs(i256, f128, 1e48);
8053 try testArgs(i256, f128, 1e55);
8054 try testArgs(i256, f128, 1e62);
8055 try testArgs(i256, f128, 1e69);
8056 try testArgs(i256, f128, 1e76);
8057 try testArgs(i256, f128, next(f128, next(f128, 0x0.8p256, 0.0), 0.0));
8058 try testArgs(i256, f128, next(f128, 0x0.8p256, 0.0));
8059
8060 try testArgs(u256, f128, -0.0);
8061 try testArgs(u256, f128, 0.0);
8062 try testArgs(u256, f128, 1e-1);
8063 try testArgs(u256, f128, 1e0);
8064 try testArgs(u256, f128, 1e7);
8065 try testArgs(u256, f128, 1e14);
8066 try testArgs(u256, f128, 1e21);
8067 try testArgs(u256, f128, 1e28);
8068 try testArgs(u256, f128, 1e35);
8069 try testArgs(u256, f128, 1e42);
8070 try testArgs(u256, f128, 1e49);
8071 try testArgs(u256, f128, 1e56);
8072 try testArgs(u256, f128, 1e63);
8073 try testArgs(u256, f128, 1e70);
8074 try testArgs(u256, f128, 1e77);
8075 try testArgs(u256, f128, next(f128, next(f128, 0x1p256, 0.0), 0.0));
8076 try testArgs(u256, f128, next(f128, 0x1p256, 0.0));
8077 }
8078 fn testFloatsFromInts() !void {
8079 try testArgs(f16, i8, imin(i8));
8080 try testArgs(f16, i8, imin(i8) + 1);
8081 try testArgs(f16, i8, -1e2);
8082 try testArgs(f16, i8, -1e1);
8083 try testArgs(f16, i8, -1e0);
8084 try testArgs(f16, i8, 0);
8085 try testArgs(f16, i8, 1e0);
8086 try testArgs(f16, i8, 1e1);
8087 try testArgs(f16, i8, 1e2);
8088 try testArgs(f16, i8, imax(i8) - 1);
8089 try testArgs(f16, i8, imax(i8));
8090
8091 try testArgs(f16, u8, 0);
8092 try testArgs(f16, u8, 1e0);
8093 try testArgs(f16, u8, 1e1);
8094 try testArgs(f16, u8, 1e2);
8095 try testArgs(f16, u8, imax(u8) - 1);
8096 try testArgs(f16, u8, imax(u8));
8097
8098 try testArgs(f16, i16, imin(i16));
8099 try testArgs(f16, i16, imin(i16) + 1);
8100 try testArgs(f16, i16, -1e4);
8101 try testArgs(f16, i16, -1e3);
8102 try testArgs(f16, i16, -1e2);
8103 try testArgs(f16, i16, -1e1);
8104 try testArgs(f16, i16, -1e0);
8105 try testArgs(f16, i16, 0);
8106 try testArgs(f16, i16, 1e0);
8107 try testArgs(f16, i16, 1e1);
8108 try testArgs(f16, i16, 1e2);
8109 try testArgs(f16, i16, 1e3);
8110 try testArgs(f16, i16, 1e4);
8111 try testArgs(f16, i16, imax(i16) - 1);
8112 try testArgs(f16, i16, imax(i16));
8113
8114 try testArgs(f16, u16, 0);
8115 try testArgs(f16, u16, 1e0);
8116 try testArgs(f16, u16, 1e1);
8117 try testArgs(f16, u16, 1e2);
8118 try testArgs(f16, u16, 1e3);
8119 try testArgs(f16, u16, 1e4);
8120 try testArgs(f16, u16, imax(u16) - 1);
8121 try testArgs(f16, u16, imax(u16));
8122
8123 try testArgs(f16, i32, imin(i32));
8124 try testArgs(f16, i32, imin(i32) + 1);
8125 try testArgs(f16, i32, -1e9);
8126 try testArgs(f16, i32, -1e8);
8127 try testArgs(f16, i32, -1e7);
8128 try testArgs(f16, i32, -1e6);
8129 try testArgs(f16, i32, -1e5);
8130 try testArgs(f16, i32, -1e4);
8131 try testArgs(f16, i32, -1e3);
8132 try testArgs(f16, i32, -1e2);
8133 try testArgs(f16, i32, -1e1);
8134 try testArgs(f16, i32, -1e0);
8135 try testArgs(f16, i32, 0);
8136 try testArgs(f16, i32, 1e0);
8137 try testArgs(f16, i32, 1e1);
8138 try testArgs(f16, i32, 1e2);
8139 try testArgs(f16, i32, 1e3);
8140 try testArgs(f16, i32, 1e4);
8141 try testArgs(f16, i32, 1e5);
8142 try testArgs(f16, i32, 1e6);
8143 try testArgs(f16, i32, 1e7);
8144 try testArgs(f16, i32, 1e8);
8145 try testArgs(f16, i32, 1e9);
8146 try testArgs(f16, i32, imax(i32) - 1);
8147 try testArgs(f16, i32, imax(i32));
8148
8149 try testArgs(f16, u32, 0);
8150 try testArgs(f16, u32, 1e0);
8151 try testArgs(f16, u32, 1e1);
8152 try testArgs(f16, u32, 1e2);
8153 try testArgs(f16, u32, 1e3);
8154 try testArgs(f16, u32, 1e4);
8155 try testArgs(f16, u32, 1e5);
8156 try testArgs(f16, u32, 1e6);
8157 try testArgs(f16, u32, 1e7);
8158 try testArgs(f16, u32, 1e8);
8159 try testArgs(f16, u32, 1e9);
8160 try testArgs(f16, u32, imax(u32) - 1);
8161 try testArgs(f16, u32, imax(u32));
8162
8163 try testArgs(f16, i64, imin(i64));
8164 try testArgs(f16, i64, imin(i64) + 1);
8165 try testArgs(f16, i64, -1e18);
8166 try testArgs(f16, i64, -1e16);
8167 try testArgs(f16, i64, -1e14);
8168 try testArgs(f16, i64, -1e12);
8169 try testArgs(f16, i64, -1e10);
8170 try testArgs(f16, i64, -1e8);
8171 try testArgs(f16, i64, -1e6);
8172 try testArgs(f16, i64, -1e4);
8173 try testArgs(f16, i64, -1e2);
8174 try testArgs(f16, i64, -1e0);
8175 try testArgs(f16, i64, 0);
8176 try testArgs(f16, i64, 1e0);
8177 try testArgs(f16, i64, 1e2);
8178 try testArgs(f16, i64, 1e4);
8179 try testArgs(f16, i64, 1e6);
8180 try testArgs(f16, i64, 1e8);
8181 try testArgs(f16, i64, 1e10);
8182 try testArgs(f16, i64, 1e12);
8183 try testArgs(f16, i64, 1e14);
8184 try testArgs(f16, i64, 1e16);
8185 try testArgs(f16, i64, 1e18);
8186 try testArgs(f16, i64, imax(i64) - 1);
8187 try testArgs(f16, i64, imax(i64));
8188
8189 try testArgs(f16, u64, 0);
8190 try testArgs(f16, u64, 1e0);
8191 try testArgs(f16, u64, 1e2);
8192 try testArgs(f16, u64, 1e4);
8193 try testArgs(f16, u64, 1e6);
8194 try testArgs(f16, u64, 1e8);
8195 try testArgs(f16, u64, 1e10);
8196 try testArgs(f16, u64, 1e12);
8197 try testArgs(f16, u64, 1e14);
8198 try testArgs(f16, u64, 1e16);
8199 try testArgs(f16, u64, 1e18);
8200 try testArgs(f16, u64, imax(u64) - 1);
8201 try testArgs(f16, u64, imax(u64));
8202
8203 try testArgs(f16, i128, imin(i128));
8204 try testArgs(f16, i128, imin(i128) + 1);
8205 try testArgs(f16, i128, -1e38);
8206 try testArgs(f16, i128, -1e34);
8207 try testArgs(f16, i128, -1e30);
8208 try testArgs(f16, i128, -1e26);
8209 try testArgs(f16, i128, -1e22);
8210 try testArgs(f16, i128, -1e18);
8211 try testArgs(f16, i128, -1e14);
8212 try testArgs(f16, i128, -1e10);
8213 try testArgs(f16, i128, -1e6);
8214 try testArgs(f16, i128, -1e2);
8215 try testArgs(f16, i128, -1e0);
8216 try testArgs(f16, i128, 0);
8217 try testArgs(f16, i128, 1e0);
8218 try testArgs(f16, i128, 1e2);
8219 try testArgs(f16, i128, 1e6);
8220 try testArgs(f16, i128, 1e10);
8221 try testArgs(f16, i128, 1e14);
8222 try testArgs(f16, i128, 1e18);
8223 try testArgs(f16, i128, 1e22);
8224 try testArgs(f16, i128, 1e26);
8225 try testArgs(f16, i128, 1e30);
8226 try testArgs(f16, i128, 1e34);
8227 try testArgs(f16, i128, 1e38);
8228 try testArgs(f16, i128, imax(i128) - 1);
8229 try testArgs(f16, i128, imax(i128));
8230
8231 try testArgs(f16, u128, 0);
8232 try testArgs(f16, u128, 1e0);
8233 try testArgs(f16, u128, 1e2);
8234 try testArgs(f16, u128, 1e6);
8235 try testArgs(f16, u128, 1e10);
8236 try testArgs(f16, u128, 1e14);
8237 try testArgs(f16, u128, 1e18);
8238 try testArgs(f16, u128, 1e22);
8239 try testArgs(f16, u128, 1e26);
8240 try testArgs(f16, u128, 1e30);
8241 try testArgs(f16, u128, 1e34);
8242 try testArgs(f16, u128, 1e38);
8243 try testArgs(f16, u128, imax(u128) - 1);
8244 try testArgs(f16, u128, imax(u128));
8245
8246 try testArgs(f16, i256, imin(i256));
8247 try testArgs(f16, i256, imin(i256) + 1);
8248 try testArgs(f16, i256, -1e76);
8249 try testArgs(f16, i256, -1e69);
8250 try testArgs(f16, i256, -1e62);
8251 try testArgs(f16, i256, -1e55);
8252 try testArgs(f16, i256, -1e48);
8253 try testArgs(f16, i256, -1e41);
8254 try testArgs(f16, i256, -1e34);
8255 try testArgs(f16, i256, -1e27);
8256 try testArgs(f16, i256, -1e20);
8257 try testArgs(f16, i256, -1e13);
8258 try testArgs(f16, i256, -1e6);
8259 try testArgs(f16, i256, -1e0);
8260 try testArgs(f16, i256, 0);
8261 try testArgs(f16, i256, 1e0);
8262 try testArgs(f16, i256, 1e6);
8263 try testArgs(f16, i256, 1e13);
8264 try testArgs(f16, i256, 1e20);
8265 try testArgs(f16, i256, 1e27);
8266 try testArgs(f16, i256, 1e34);
8267 try testArgs(f16, i256, 1e41);
8268 try testArgs(f16, i256, 1e48);
8269 try testArgs(f16, i256, 1e55);
8270 try testArgs(f16, i256, 1e62);
8271 try testArgs(f16, i256, 1e69);
8272 try testArgs(f16, i256, 1e76);
8273 try testArgs(f16, i256, imax(i256) - 1);
8274 try testArgs(f16, i256, imax(i256));
8275
8276 try testArgs(f16, u256, 0);
8277 try testArgs(f16, u256, 1e0);
8278 try testArgs(f16, u256, 1e7);
8279 try testArgs(f16, u256, 1e14);
8280 try testArgs(f16, u256, 1e21);
8281 try testArgs(f16, u256, 1e28);
8282 try testArgs(f16, u256, 1e35);
8283 try testArgs(f16, u256, 1e42);
8284 try testArgs(f16, u256, 1e49);
8285 try testArgs(f16, u256, 1e56);
8286 try testArgs(f16, u256, 1e63);
8287 try testArgs(f16, u256, 1e70);
8288 try testArgs(f16, u256, 1e77);
8289 try testArgs(f16, u256, imax(u256) - 1);
8290 try testArgs(f16, u256, imax(u256));
8291
8292 try testArgs(f32, i8, imin(i8));
8293 try testArgs(f32, i8, imin(i8) + 1);
8294 try testArgs(f32, i8, -1e2);
8295 try testArgs(f32, i8, -1e1);
8296 try testArgs(f32, i8, -1e0);
8297 try testArgs(f32, i8, 0);
8298 try testArgs(f32, i8, 1e0);
8299 try testArgs(f32, i8, 1e1);
8300 try testArgs(f32, i8, 1e2);
8301 try testArgs(f32, i8, imax(i8) - 1);
8302 try testArgs(f32, i8, imax(i8));
8303
8304 try testArgs(f32, u8, 0);
8305 try testArgs(f32, u8, 1e0);
8306 try testArgs(f32, u8, 1e1);
8307 try testArgs(f32, u8, 1e2);
8308 try testArgs(f32, u8, imax(u8) - 1);
8309 try testArgs(f32, u8, imax(u8));
8310
8311 try testArgs(f32, i16, imin(i16));
8312 try testArgs(f32, i16, imin(i16) + 1);
8313 try testArgs(f32, i16, -1e4);
8314 try testArgs(f32, i16, -1e3);
8315 try testArgs(f32, i16, -1e2);
8316 try testArgs(f32, i16, -1e1);
8317 try testArgs(f32, i16, -1e0);
8318 try testArgs(f32, i16, 0);
8319 try testArgs(f32, i16, 1e0);
8320 try testArgs(f32, i16, 1e1);
8321 try testArgs(f32, i16, 1e2);
8322 try testArgs(f32, i16, 1e3);
8323 try testArgs(f32, i16, 1e4);
8324 try testArgs(f32, i16, imax(i16) - 1);
8325 try testArgs(f32, i16, imax(i16));
8326
8327 try testArgs(f32, u16, 0);
8328 try testArgs(f32, u16, 1e0);
8329 try testArgs(f32, u16, 1e1);
8330 try testArgs(f32, u16, 1e2);
8331 try testArgs(f32, u16, 1e3);
8332 try testArgs(f32, u16, 1e4);
8333 try testArgs(f32, u16, imax(u16) - 1);
8334 try testArgs(f32, u16, imax(u16));
8335
8336 try testArgs(f32, i32, imin(i32));
8337 try testArgs(f32, i32, imin(i32) + 1);
8338 try testArgs(f32, i32, -1e9);
8339 try testArgs(f32, i32, -1e8);
8340 try testArgs(f32, i32, -1e7);
8341 try testArgs(f32, i32, -1e6);
8342 try testArgs(f32, i32, -1e5);
8343 try testArgs(f32, i32, -1e4);
8344 try testArgs(f32, i32, -1e3);
8345 try testArgs(f32, i32, -1e2);
8346 try testArgs(f32, i32, -1e1);
8347 try testArgs(f32, i32, -1e0);
8348 try testArgs(f32, i32, 0);
8349 try testArgs(f32, i32, 1e0);
8350 try testArgs(f32, i32, 1e1);
8351 try testArgs(f32, i32, 1e2);
8352 try testArgs(f32, i32, 1e3);
8353 try testArgs(f32, i32, 1e4);
8354 try testArgs(f32, i32, 1e5);
8355 try testArgs(f32, i32, 1e6);
8356 try testArgs(f32, i32, 1e7);
8357 try testArgs(f32, i32, 1e8);
8358 try testArgs(f32, i32, 1e9);
8359 try testArgs(f32, i32, imax(i32) - 1);
8360 try testArgs(f32, i32, imax(i32));
8361
8362 try testArgs(f32, u32, 0);
8363 try testArgs(f32, u32, 1e0);
8364 try testArgs(f32, u32, 1e1);
8365 try testArgs(f32, u32, 1e2);
8366 try testArgs(f32, u32, 1e3);
8367 try testArgs(f32, u32, 1e4);
8368 try testArgs(f32, u32, 1e5);
8369 try testArgs(f32, u32, 1e6);
8370 try testArgs(f32, u32, 1e7);
8371 try testArgs(f32, u32, 1e8);
8372 try testArgs(f32, u32, 1e9);
8373 try testArgs(f32, u32, imax(u32) - 1);
8374 try testArgs(f32, u32, imax(u32));
8375
8376 try testArgs(f32, i64, imin(i64));
8377 try testArgs(f32, i64, imin(i64) + 1);
8378 try testArgs(f32, i64, -1e18);
8379 try testArgs(f32, i64, -1e16);
8380 try testArgs(f32, i64, -1e14);
8381 try testArgs(f32, i64, -1e12);
8382 try testArgs(f32, i64, -1e10);
8383 try testArgs(f32, i64, -1e8);
8384 try testArgs(f32, i64, -1e6);
8385 try testArgs(f32, i64, -1e4);
8386 try testArgs(f32, i64, -1e2);
8387 try testArgs(f32, i64, -1e0);
8388 try testArgs(f32, i64, 0);
8389 try testArgs(f32, i64, 1e0);
8390 try testArgs(f32, i64, 1e2);
8391 try testArgs(f32, i64, 1e4);
8392 try testArgs(f32, i64, 1e6);
8393 try testArgs(f32, i64, 1e8);
8394 try testArgs(f32, i64, 1e10);
8395 try testArgs(f32, i64, 1e12);
8396 try testArgs(f32, i64, 1e14);
8397 try testArgs(f32, i64, 1e16);
8398 try testArgs(f32, i64, 1e18);
8399 try testArgs(f32, i64, imax(i64) - 1);
8400 try testArgs(f32, i64, imax(i64));
8401
8402 try testArgs(f32, u64, 0);
8403 try testArgs(f32, u64, 1e0);
8404 try testArgs(f32, u64, 1e2);
8405 try testArgs(f32, u64, 1e4);
8406 try testArgs(f32, u64, 1e6);
8407 try testArgs(f32, u64, 1e8);
8408 try testArgs(f32, u64, 1e10);
8409 try testArgs(f32, u64, 1e12);
8410 try testArgs(f32, u64, 1e14);
8411 try testArgs(f32, u64, 1e16);
8412 try testArgs(f32, u64, 1e18);
8413 try testArgs(f32, u64, imax(u64) - 1);
8414 try testArgs(f32, u64, imax(u64));
8415
8416 try testArgs(f32, i128, imin(i128));
8417 try testArgs(f32, i128, imin(i128) + 1);
8418 try testArgs(f32, i128, -1e38);
8419 try testArgs(f32, i128, -1e34);
8420 try testArgs(f32, i128, -1e30);
8421 try testArgs(f32, i128, -1e26);
8422 try testArgs(f32, i128, -1e22);
8423 try testArgs(f32, i128, -1e18);
8424 try testArgs(f32, i128, -1e14);
8425 try testArgs(f32, i128, -1e10);
8426 try testArgs(f32, i128, -1e6);
8427 try testArgs(f32, i128, -1e2);
8428 try testArgs(f32, i128, -1e0);
8429 try testArgs(f32, i128, 0);
8430 try testArgs(f32, i128, 1e0);
8431 try testArgs(f32, i128, 1e2);
8432 try testArgs(f32, i128, 1e6);
8433 try testArgs(f32, i128, 1e10);
8434 try testArgs(f32, i128, 1e14);
8435 try testArgs(f32, i128, 1e18);
8436 try testArgs(f32, i128, 1e22);
8437 try testArgs(f32, i128, 1e26);
8438 try testArgs(f32, i128, 1e30);
8439 try testArgs(f32, i128, 1e34);
8440 try testArgs(f32, i128, 1e38);
8441 try testArgs(f32, i128, imax(i128) - 1);
8442 try testArgs(f32, i128, imax(i128));
8443
8444 try testArgs(f32, u128, 0);
8445 try testArgs(f32, u128, 1e0);
8446 try testArgs(f32, u128, 1e2);
8447 try testArgs(f32, u128, 1e6);
8448 try testArgs(f32, u128, 1e10);
8449 try testArgs(f32, u128, 1e14);
8450 try testArgs(f32, u128, 1e18);
8451 try testArgs(f32, u128, 1e22);
8452 try testArgs(f32, u128, 1e26);
8453 try testArgs(f32, u128, 1e30);
8454 try testArgs(f32, u128, 1e34);
8455 try testArgs(f32, u128, 1e38);
8456 try testArgs(f32, u128, imax(u128) - 1);
8457 try testArgs(f32, u128, imax(u128));
8458
8459 try testArgs(f32, i256, imin(i256));
8460 try testArgs(f32, i256, imin(i256) + 1);
8461 try testArgs(f32, i256, -1e76);
8462 try testArgs(f32, i256, -1e69);
8463 try testArgs(f32, i256, -1e62);
8464 try testArgs(f32, i256, -1e55);
8465 try testArgs(f32, i256, -1e48);
8466 try testArgs(f32, i256, -1e41);
8467 try testArgs(f32, i256, -1e34);
8468 try testArgs(f32, i256, -1e27);
8469 try testArgs(f32, i256, -1e20);
8470 try testArgs(f32, i256, -1e13);
8471 try testArgs(f32, i256, -1e6);
8472 try testArgs(f32, i256, -1e0);
8473 try testArgs(f32, i256, 0);
8474 try testArgs(f32, i256, 1e0);
8475 try testArgs(f32, i256, 1e6);
8476 try testArgs(f32, i256, 1e13);
8477 try testArgs(f32, i256, 1e20);
8478 try testArgs(f32, i256, 1e27);
8479 try testArgs(f32, i256, 1e34);
8480 try testArgs(f32, i256, 1e41);
8481 try testArgs(f32, i256, 1e48);
8482 try testArgs(f32, i256, 1e55);
8483 try testArgs(f32, i256, 1e62);
8484 try testArgs(f32, i256, 1e69);
8485 try testArgs(f32, i256, 1e76);
8486 try testArgs(f32, i256, imax(i256) - 1);
8487 try testArgs(f32, i256, imax(i256));
8488
8489 try testArgs(f32, u256, 0);
8490 try testArgs(f32, u256, 1e0);
8491 try testArgs(f32, u256, 1e7);
8492 try testArgs(f32, u256, 1e14);
8493 try testArgs(f32, u256, 1e21);
8494 try testArgs(f32, u256, 1e28);
8495 try testArgs(f32, u256, 1e35);
8496 try testArgs(f32, u256, 1e42);
8497 try testArgs(f32, u256, 1e49);
8498 try testArgs(f32, u256, 1e56);
8499 try testArgs(f32, u256, 1e63);
8500 try testArgs(f32, u256, 1e70);
8501 try testArgs(f32, u256, 1e77);
8502 try testArgs(f32, u256, imax(u256) - 1);
8503 try testArgs(f32, u256, imax(u256));
8504
8505 try testArgs(f64, i8, imin(i8));
8506 try testArgs(f64, i8, imin(i8) + 1);
8507 try testArgs(f64, i8, -1e2);
8508 try testArgs(f64, i8, -1e1);
8509 try testArgs(f64, i8, -1e0);
8510 try testArgs(f64, i8, 0);
8511 try testArgs(f64, i8, 1e0);
8512 try testArgs(f64, i8, 1e1);
8513 try testArgs(f64, i8, 1e2);
8514 try testArgs(f64, i8, imax(i8) - 1);
8515 try testArgs(f64, i8, imax(i8));
8516
8517 try testArgs(f64, u8, 0);
8518 try testArgs(f64, u8, 1e0);
8519 try testArgs(f64, u8, 1e1);
8520 try testArgs(f64, u8, 1e2);
8521 try testArgs(f64, u8, imax(u8) - 1);
8522 try testArgs(f64, u8, imax(u8));
8523
8524 try testArgs(f64, i16, imin(i16));
8525 try testArgs(f64, i16, imin(i16) + 1);
8526 try testArgs(f64, i16, -1e4);
8527 try testArgs(f64, i16, -1e3);
8528 try testArgs(f64, i16, -1e2);
8529 try testArgs(f64, i16, -1e1);
8530 try testArgs(f64, i16, -1e0);
8531 try testArgs(f64, i16, 0);
8532 try testArgs(f64, i16, 1e0);
8533 try testArgs(f64, i16, 1e1);
8534 try testArgs(f64, i16, 1e2);
8535 try testArgs(f64, i16, 1e3);
8536 try testArgs(f64, i16, 1e4);
8537 try testArgs(f64, i16, imax(i16) - 1);
8538 try testArgs(f64, i16, imax(i16));
8539
8540 try testArgs(f64, u16, 0);
8541 try testArgs(f64, u16, 1e0);
8542 try testArgs(f64, u16, 1e1);
8543 try testArgs(f64, u16, 1e2);
8544 try testArgs(f64, u16, 1e3);
8545 try testArgs(f64, u16, 1e4);
8546 try testArgs(f64, u16, imax(u16) - 1);
8547 try testArgs(f64, u16, imax(u16));
8548
8549 try testArgs(f64, i32, imin(i32));
8550 try testArgs(f64, i32, imin(i32) + 1);
8551 try testArgs(f64, i32, -1e9);
8552 try testArgs(f64, i32, -1e8);
8553 try testArgs(f64, i32, -1e7);
8554 try testArgs(f64, i32, -1e6);
8555 try testArgs(f64, i32, -1e5);
8556 try testArgs(f64, i32, -1e4);
8557 try testArgs(f64, i32, -1e3);
8558 try testArgs(f64, i32, -1e2);
8559 try testArgs(f64, i32, -1e1);
8560 try testArgs(f64, i32, -1e0);
8561 try testArgs(f64, i32, 0);
8562 try testArgs(f64, i32, 1e0);
8563 try testArgs(f64, i32, 1e1);
8564 try testArgs(f64, i32, 1e2);
8565 try testArgs(f64, i32, 1e3);
8566 try testArgs(f64, i32, 1e4);
8567 try testArgs(f64, i32, 1e5);
8568 try testArgs(f64, i32, 1e6);
8569 try testArgs(f64, i32, 1e7);
8570 try testArgs(f64, i32, 1e8);
8571 try testArgs(f64, i32, 1e9);
8572 try testArgs(f64, i32, imax(i32) - 1);
8573 try testArgs(f64, i32, imax(i32));
8574
8575 try testArgs(f64, u32, 0);
8576 try testArgs(f64, u32, 1e0);
8577 try testArgs(f64, u32, 1e1);
8578 try testArgs(f64, u32, 1e2);
8579 try testArgs(f64, u32, 1e3);
8580 try testArgs(f64, u32, 1e4);
8581 try testArgs(f64, u32, 1e5);
8582 try testArgs(f64, u32, 1e6);
8583 try testArgs(f64, u32, 1e7);
8584 try testArgs(f64, u32, 1e8);
8585 try testArgs(f64, u32, 1e9);
8586 try testArgs(f64, u32, imax(u32) - 1);
8587 try testArgs(f64, u32, imax(u32));
8588
8589 try testArgs(f64, i64, imin(i64));
8590 try testArgs(f64, i64, imin(i64) + 1);
8591 try testArgs(f64, i64, -1e18);
8592 try testArgs(f64, i64, -1e16);
8593 try testArgs(f64, i64, -1e14);
8594 try testArgs(f64, i64, -1e12);
8595 try testArgs(f64, i64, -1e10);
8596 try testArgs(f64, i64, -1e8);
8597 try testArgs(f64, i64, -1e6);
8598 try testArgs(f64, i64, -1e4);
8599 try testArgs(f64, i64, -1e2);
8600 try testArgs(f64, i64, -1e0);
8601 try testArgs(f64, i64, 0);
8602 try testArgs(f64, i64, 1e0);
8603 try testArgs(f64, i64, 1e2);
8604 try testArgs(f64, i64, 1e4);
8605 try testArgs(f64, i64, 1e6);
8606 try testArgs(f64, i64, 1e8);
8607 try testArgs(f64, i64, 1e10);
8608 try testArgs(f64, i64, 1e12);
8609 try testArgs(f64, i64, 1e14);
8610 try testArgs(f64, i64, 1e16);
8611 try testArgs(f64, i64, 1e18);
8612 try testArgs(f64, i64, imax(i64) - 1);
8613 try testArgs(f64, i64, imax(i64));
8614
8615 try testArgs(f64, u64, 0);
8616 try testArgs(f64, u64, 1e0);
8617 try testArgs(f64, u64, 1e2);
8618 try testArgs(f64, u64, 1e4);
8619 try testArgs(f64, u64, 1e6);
8620 try testArgs(f64, u64, 1e8);
8621 try testArgs(f64, u64, 1e10);
8622 try testArgs(f64, u64, 1e12);
8623 try testArgs(f64, u64, 1e14);
8624 try testArgs(f64, u64, 1e16);
8625 try testArgs(f64, u64, 1e18);
8626 try testArgs(f64, u64, imax(u64) - 1);
8627 try testArgs(f64, u64, imax(u64));
8628
8629 try testArgs(f64, i128, imin(i128));
8630 try testArgs(f64, i128, imin(i128) + 1);
8631 try testArgs(f64, i128, -1e38);
8632 try testArgs(f64, i128, -1e34);
8633 try testArgs(f64, i128, -1e30);
8634 try testArgs(f64, i128, -1e26);
8635 try testArgs(f64, i128, -1e22);
8636 try testArgs(f64, i128, -1e18);
8637 try testArgs(f64, i128, -1e14);
8638 try testArgs(f64, i128, -1e10);
8639 try testArgs(f64, i128, -1e6);
8640 try testArgs(f64, i128, -1e2);
8641 try testArgs(f64, i128, -1e0);
8642 try testArgs(f64, i128, 0);
8643 try testArgs(f64, i128, 1e0);
8644 try testArgs(f64, i128, 1e2);
8645 try testArgs(f64, i128, 1e6);
8646 try testArgs(f64, i128, 1e10);
8647 try testArgs(f64, i128, 1e14);
8648 try testArgs(f64, i128, 1e18);
8649 try testArgs(f64, i128, 1e22);
8650 try testArgs(f64, i128, 1e26);
8651 try testArgs(f64, i128, 1e30);
8652 try testArgs(f64, i128, 1e34);
8653 try testArgs(f64, i128, 1e38);
8654 try testArgs(f64, i128, imax(i128) - 1);
8655 try testArgs(f64, i128, imax(i128));
8656
8657 try testArgs(f64, u128, 0);
8658 try testArgs(f64, u128, 1e0);
8659 try testArgs(f64, u128, 1e2);
8660 try testArgs(f64, u128, 1e6);
8661 try testArgs(f64, u128, 1e10);
8662 try testArgs(f64, u128, 1e14);
8663 try testArgs(f64, u128, 1e18);
8664 try testArgs(f64, u128, 1e22);
8665 try testArgs(f64, u128, 1e26);
8666 try testArgs(f64, u128, 1e30);
8667 try testArgs(f64, u128, 1e34);
8668 try testArgs(f64, u128, 1e38);
8669 try testArgs(f64, u128, imax(u128) - 1);
8670 try testArgs(f64, u128, imax(u128));
8671
8672 try testArgs(f64, i256, imin(i256));
8673 try testArgs(f64, i256, imin(i256) + 1);
8674 try testArgs(f64, i256, -1e76);
8675 try testArgs(f64, i256, -1e69);
8676 try testArgs(f64, i256, -1e62);
8677 try testArgs(f64, i256, -1e55);
8678 try testArgs(f64, i256, -1e48);
8679 try testArgs(f64, i256, -1e41);
8680 try testArgs(f64, i256, -1e34);
8681 try testArgs(f64, i256, -1e27);
8682 try testArgs(f64, i256, -1e20);
8683 try testArgs(f64, i256, -1e13);
8684 try testArgs(f64, i256, -1e6);
8685 try testArgs(f64, i256, -1e0);
8686 try testArgs(f64, i256, 0);
8687 try testArgs(f64, i256, 1e0);
8688 try testArgs(f64, i256, 1e6);
8689 try testArgs(f64, i256, 1e13);
8690 try testArgs(f64, i256, 1e20);
8691 try testArgs(f64, i256, 1e27);
8692 try testArgs(f64, i256, 1e34);
8693 try testArgs(f64, i256, 1e41);
8694 try testArgs(f64, i256, 1e48);
8695 try testArgs(f64, i256, 1e55);
8696 try testArgs(f64, i256, 1e62);
8697 try testArgs(f64, i256, 1e69);
8698 try testArgs(f64, i256, 1e76);
8699 try testArgs(f64, i256, imax(i256) - 1);
8700 try testArgs(f64, i256, imax(i256));
8701
8702 try testArgs(f64, u256, 0);
8703 try testArgs(f64, u256, 1e0);
8704 try testArgs(f64, u256, 1e7);
8705 try testArgs(f64, u256, 1e14);
8706 try testArgs(f64, u256, 1e21);
8707 try testArgs(f64, u256, 1e28);
8708 try testArgs(f64, u256, 1e35);
8709 try testArgs(f64, u256, 1e42);
8710 try testArgs(f64, u256, 1e49);
8711 try testArgs(f64, u256, 1e56);
8712 try testArgs(f64, u256, 1e63);
8713 try testArgs(f64, u256, 1e70);
8714 try testArgs(f64, u256, 1e77);
8715 try testArgs(f64, u256, imax(u256) - 1);
8716 try testArgs(f64, u256, imax(u256));
8717
8718 try testArgs(f80, i8, imin(i8));
8719 try testArgs(f80, i8, imin(i8) + 1);
8720 try testArgs(f80, i8, -1e2);
8721 try testArgs(f80, i8, -1e1);
8722 try testArgs(f80, i8, -1e0);
8723 try testArgs(f80, i8, 0);
8724 try testArgs(f80, i8, 1e0);
8725 try testArgs(f80, i8, 1e1);
8726 try testArgs(f80, i8, 1e2);
8727 try testArgs(f80, i8, imax(i8) - 1);
8728 try testArgs(f80, i8, imax(i8));
8729
8730 try testArgs(f80, u8, 0);
8731 try testArgs(f80, u8, 1e0);
8732 try testArgs(f80, u8, 1e1);
8733 try testArgs(f80, u8, 1e2);
8734 try testArgs(f80, u8, imax(u8) - 1);
8735 try testArgs(f80, u8, imax(u8));
8736
8737 try testArgs(f80, i16, imin(i16));
8738 try testArgs(f80, i16, imin(i16) + 1);
8739 try testArgs(f80, i16, -1e4);
8740 try testArgs(f80, i16, -1e3);
8741 try testArgs(f80, i16, -1e2);
8742 try testArgs(f80, i16, -1e1);
8743 try testArgs(f80, i16, -1e0);
8744 try testArgs(f80, i16, 0);
8745 try testArgs(f80, i16, 1e0);
8746 try testArgs(f80, i16, 1e1);
8747 try testArgs(f80, i16, 1e2);
8748 try testArgs(f80, i16, 1e3);
8749 try testArgs(f80, i16, 1e4);
8750 try testArgs(f80, i16, imax(i16) - 1);
8751 try testArgs(f80, i16, imax(i16));
8752
8753 try testArgs(f80, u16, 0);
8754 try testArgs(f80, u16, 1e0);
8755 try testArgs(f80, u16, 1e1);
8756 try testArgs(f80, u16, 1e2);
8757 try testArgs(f80, u16, 1e3);
8758 try testArgs(f80, u16, 1e4);
8759 try testArgs(f80, u16, imax(u16) - 1);
8760 try testArgs(f80, u16, imax(u16));
8761
8762 try testArgs(f80, i32, imin(i32));
8763 try testArgs(f80, i32, imin(i32) + 1);
8764 try testArgs(f80, i32, -1e9);
8765 try testArgs(f80, i32, -1e8);
8766 try testArgs(f80, i32, -1e7);
8767 try testArgs(f80, i32, -1e6);
8768 try testArgs(f80, i32, -1e5);
8769 try testArgs(f80, i32, -1e4);
8770 try testArgs(f80, i32, -1e3);
8771 try testArgs(f80, i32, -1e2);
8772 try testArgs(f80, i32, -1e1);
8773 try testArgs(f80, i32, -1e0);
8774 try testArgs(f80, i32, 0);
8775 try testArgs(f80, i32, 1e0);
8776 try testArgs(f80, i32, 1e1);
8777 try testArgs(f80, i32, 1e2);
8778 try testArgs(f80, i32, 1e3);
8779 try testArgs(f80, i32, 1e4);
8780 try testArgs(f80, i32, 1e5);
8781 try testArgs(f80, i32, 1e6);
8782 try testArgs(f80, i32, 1e7);
8783 try testArgs(f80, i32, 1e8);
8784 try testArgs(f80, i32, 1e9);
8785 try testArgs(f80, i32, imax(i32) - 1);
8786 try testArgs(f80, i32, imax(i32));
8787
8788 try testArgs(f80, u32, 0);
8789 try testArgs(f80, u32, 1e0);
8790 try testArgs(f80, u32, 1e1);
8791 try testArgs(f80, u32, 1e2);
8792 try testArgs(f80, u32, 1e3);
8793 try testArgs(f80, u32, 1e4);
8794 try testArgs(f80, u32, 1e5);
8795 try testArgs(f80, u32, 1e6);
8796 try testArgs(f80, u32, 1e7);
8797 try testArgs(f80, u32, 1e8);
8798 try testArgs(f80, u32, 1e9);
8799 try testArgs(f80, u32, imax(u32) - 1);
8800 try testArgs(f80, u32, imax(u32));
8801
8802 try testArgs(f80, i64, imin(i64));
8803 try testArgs(f80, i64, imin(i64) + 1);
8804 try testArgs(f80, i64, -1e18);
8805 try testArgs(f80, i64, -1e16);
8806 try testArgs(f80, i64, -1e14);
8807 try testArgs(f80, i64, -1e12);
8808 try testArgs(f80, i64, -1e10);
8809 try testArgs(f80, i64, -1e8);
8810 try testArgs(f80, i64, -1e6);
8811 try testArgs(f80, i64, -1e4);
8812 try testArgs(f80, i64, -1e2);
8813 try testArgs(f80, i64, -1e0);
8814 try testArgs(f80, i64, 0);
8815 try testArgs(f80, i64, 1e0);
8816 try testArgs(f80, i64, 1e2);
8817 try testArgs(f80, i64, 1e4);
8818 try testArgs(f80, i64, 1e6);
8819 try testArgs(f80, i64, 1e8);
8820 try testArgs(f80, i64, 1e10);
8821 try testArgs(f80, i64, 1e12);
8822 try testArgs(f80, i64, 1e14);
8823 try testArgs(f80, i64, 1e16);
8824 try testArgs(f80, i64, 1e18);
8825 try testArgs(f80, i64, imax(i64) - 1);
8826 try testArgs(f80, i64, imax(i64));
8827
8828 try testArgs(f80, u64, 0);
8829 try testArgs(f80, u64, 1e0);
8830 try testArgs(f80, u64, 1e2);
8831 try testArgs(f80, u64, 1e4);
8832 try testArgs(f80, u64, 1e6);
8833 try testArgs(f80, u64, 1e8);
8834 try testArgs(f80, u64, 1e10);
8835 try testArgs(f80, u64, 1e12);
8836 try testArgs(f80, u64, 1e14);
8837 try testArgs(f80, u64, 1e16);
8838 try testArgs(f80, u64, 1e18);
8839 try testArgs(f80, u64, imax(u64) - 1);
8840 try testArgs(f80, u64, imax(u64));
8841
8842 try testArgs(f80, i128, imin(i128));
8843 try testArgs(f80, i128, imin(i128) + 1);
8844 try testArgs(f80, i128, -1e38);
8845 try testArgs(f80, i128, -1e34);
8846 try testArgs(f80, i128, -1e30);
8847 try testArgs(f80, i128, -1e26);
8848 try testArgs(f80, i128, -1e22);
8849 try testArgs(f80, i128, -1e18);
8850 try testArgs(f80, i128, -1e14);
8851 try testArgs(f80, i128, -1e10);
8852 try testArgs(f80, i128, -1e6);
8853 try testArgs(f80, i128, -1e2);
8854 try testArgs(f80, i128, -1e0);
8855 try testArgs(f80, i128, 0);
8856 try testArgs(f80, i128, 1e0);
8857 try testArgs(f80, i128, 1e2);
8858 try testArgs(f80, i128, 1e6);
8859 try testArgs(f80, i128, 1e10);
8860 try testArgs(f80, i128, 1e14);
8861 try testArgs(f80, i128, 1e18);
8862 try testArgs(f80, i128, 1e22);
8863 try testArgs(f80, i128, 1e26);
8864 try testArgs(f80, i128, 1e30);
8865 try testArgs(f80, i128, 1e34);
8866 try testArgs(f80, i128, 1e38);
8867 try testArgs(f80, i128, imax(i128) - 1);
8868 try testArgs(f80, i128, imax(i128));
8869
8870 try testArgs(f80, u128, 0);
8871 try testArgs(f80, u128, 1e0);
8872 try testArgs(f80, u128, 1e2);
8873 try testArgs(f80, u128, 1e6);
8874 try testArgs(f80, u128, 1e10);
8875 try testArgs(f80, u128, 1e14);
8876 try testArgs(f80, u128, 1e18);
8877 try testArgs(f80, u128, 1e22);
8878 try testArgs(f80, u128, 1e26);
8879 try testArgs(f80, u128, 1e30);
8880 try testArgs(f80, u128, 1e34);
8881 try testArgs(f80, u128, 1e38);
8882 try testArgs(f80, u128, imax(u128) - 1);
8883 try testArgs(f80, u128, imax(u128));
8884
8885 try testArgs(f80, i256, imin(i256));
8886 try testArgs(f80, i256, imin(i256) + 1);
8887 try testArgs(f80, i256, -1e76);
8888 try testArgs(f80, i256, -1e69);
8889 try testArgs(f80, i256, -1e62);
8890 try testArgs(f80, i256, -1e55);
8891 try testArgs(f80, i256, -1e48);
8892 try testArgs(f80, i256, -1e41);
8893 try testArgs(f80, i256, -1e34);
8894 try testArgs(f80, i256, -1e27);
8895 try testArgs(f80, i256, -1e20);
8896 try testArgs(f80, i256, -1e13);
8897 try testArgs(f80, i256, -1e6);
8898 try testArgs(f80, i256, -1e0);
8899 try testArgs(f80, i256, 0);
8900 try testArgs(f80, i256, 1e0);
8901 try testArgs(f80, i256, 1e6);
8902 try testArgs(f80, i256, 1e13);
8903 try testArgs(f80, i256, 1e20);
8904 try testArgs(f80, i256, 1e27);
8905 try testArgs(f80, i256, 1e34);
8906 try testArgs(f80, i256, 1e41);
8907 try testArgs(f80, i256, 1e48);
8908 try testArgs(f80, i256, 1e55);
8909 try testArgs(f80, i256, 1e62);
8910 try testArgs(f80, i256, 1e69);
8911 try testArgs(f80, i256, 1e76);
8912 try testArgs(f80, i256, imax(i256) - 1);
8913 try testArgs(f80, i256, imax(i256));
8914
8915 try testArgs(f80, u256, 0);
8916 try testArgs(f80, u256, 1e0);
8917 try testArgs(f80, u256, 1e7);
8918 try testArgs(f80, u256, 1e14);
8919 try testArgs(f80, u256, 1e21);
8920 try testArgs(f80, u256, 1e28);
8921 try testArgs(f80, u256, 1e35);
8922 try testArgs(f80, u256, 1e42);
8923 try testArgs(f80, u256, 1e49);
8924 try testArgs(f80, u256, 1e56);
8925 try testArgs(f80, u256, 1e63);
8926 try testArgs(f80, u256, 1e70);
8927 try testArgs(f80, u256, 1e77);
8928 try testArgs(f80, u256, imax(u256) - 1);
8929 try testArgs(f80, u256, imax(u256));
8930
8931 try testArgs(f128, i8, imin(i8));
8932 try testArgs(f128, i8, imin(i8) + 1);
8933 try testArgs(f128, i8, -1e2);
8934 try testArgs(f128, i8, -1e1);
8935 try testArgs(f128, i8, -1e0);
8936 try testArgs(f128, i8, 0);
8937 try testArgs(f128, i8, 1e0);
8938 try testArgs(f128, i8, 1e1);
8939 try testArgs(f128, i8, 1e2);
8940 try testArgs(f128, i8, imax(i8) - 1);
8941 try testArgs(f128, i8, imax(i8));
8942
8943 try testArgs(f128, u8, 0);
8944 try testArgs(f128, u8, 1e0);
8945 try testArgs(f128, u8, 1e1);
8946 try testArgs(f128, u8, 1e2);
8947 try testArgs(f128, u8, imax(u8) - 1);
8948 try testArgs(f128, u8, imax(u8));
8949
8950 try testArgs(f128, i16, imin(i16));
8951 try testArgs(f128, i16, imin(i16) + 1);
8952 try testArgs(f128, i16, -1e4);
8953 try testArgs(f128, i16, -1e3);
8954 try testArgs(f128, i16, -1e2);
8955 try testArgs(f128, i16, -1e1);
8956 try testArgs(f128, i16, -1e0);
8957 try testArgs(f128, i16, 0);
8958 try testArgs(f128, i16, 1e0);
8959 try testArgs(f128, i16, 1e1);
8960 try testArgs(f128, i16, 1e2);
8961 try testArgs(f128, i16, 1e3);
8962 try testArgs(f128, i16, 1e4);
8963 try testArgs(f128, i16, imax(i16) - 1);
8964 try testArgs(f128, i16, imax(i16));
8965
8966 try testArgs(f128, u16, 0);
8967 try testArgs(f128, u16, 1e0);
8968 try testArgs(f128, u16, 1e1);
8969 try testArgs(f128, u16, 1e2);
8970 try testArgs(f128, u16, 1e3);
8971 try testArgs(f128, u16, 1e4);
8972 try testArgs(f128, u16, imax(u16) - 1);
8973 try testArgs(f128, u16, imax(u16));
8974
8975 try testArgs(f128, i32, imin(i32));
8976 try testArgs(f128, i32, imin(i32) + 1);
8977 try testArgs(f128, i32, -1e9);
8978 try testArgs(f128, i32, -1e8);
8979 try testArgs(f128, i32, -1e7);
8980 try testArgs(f128, i32, -1e6);
8981 try testArgs(f128, i32, -1e5);
8982 try testArgs(f128, i32, -1e4);
8983 try testArgs(f128, i32, -1e3);
8984 try testArgs(f128, i32, -1e2);
8985 try testArgs(f128, i32, -1e1);
8986 try testArgs(f128, i32, -1e0);
8987 try testArgs(f128, i32, 0);
8988 try testArgs(f128, i32, 1e0);
8989 try testArgs(f128, i32, 1e1);
8990 try testArgs(f128, i32, 1e2);
8991 try testArgs(f128, i32, 1e3);
8992 try testArgs(f128, i32, 1e4);
8993 try testArgs(f128, i32, 1e5);
8994 try testArgs(f128, i32, 1e6);
8995 try testArgs(f128, i32, 1e7);
8996 try testArgs(f128, i32, 1e8);
8997 try testArgs(f128, i32, 1e9);
8998 try testArgs(f128, i32, imax(i32) - 1);
8999 try testArgs(f128, i32, imax(i32));
9000
9001 try testArgs(f128, u32, 0);
9002 try testArgs(f128, u32, 1e0);
9003 try testArgs(f128, u32, 1e1);
9004 try testArgs(f128, u32, 1e2);
9005 try testArgs(f128, u32, 1e3);
9006 try testArgs(f128, u32, 1e4);
9007 try testArgs(f128, u32, 1e5);
9008 try testArgs(f128, u32, 1e6);
9009 try testArgs(f128, u32, 1e7);
9010 try testArgs(f128, u32, 1e8);
9011 try testArgs(f128, u32, 1e9);
9012 try testArgs(f128, u32, imax(u32) - 1);
9013 try testArgs(f128, u32, imax(u32));
9014
9015 try testArgs(f128, i64, imin(i64));
9016 try testArgs(f128, i64, imin(i64) + 1);
9017 try testArgs(f128, i64, -1e18);
9018 try testArgs(f128, i64, -1e16);
9019 try testArgs(f128, i64, -1e14);
9020 try testArgs(f128, i64, -1e12);
9021 try testArgs(f128, i64, -1e10);
9022 try testArgs(f128, i64, -1e8);
9023 try testArgs(f128, i64, -1e6);
9024 try testArgs(f128, i64, -1e4);
9025 try testArgs(f128, i64, -1e2);
9026 try testArgs(f128, i64, -1e0);
9027 try testArgs(f128, i64, 0);
9028 try testArgs(f128, i64, 1e0);
9029 try testArgs(f128, i64, 1e2);
9030 try testArgs(f128, i64, 1e4);
9031 try testArgs(f128, i64, 1e6);
9032 try testArgs(f128, i64, 1e8);
9033 try testArgs(f128, i64, 1e10);
9034 try testArgs(f128, i64, 1e12);
9035 try testArgs(f128, i64, 1e14);
9036 try testArgs(f128, i64, 1e16);
9037 try testArgs(f128, i64, 1e18);
9038 try testArgs(f128, i64, imax(i64) - 1);
9039 try testArgs(f128, i64, imax(i64));
9040
9041 try testArgs(f128, u64, 0);
9042 try testArgs(f128, u64, 1e0);
9043 try testArgs(f128, u64, 1e2);
9044 try testArgs(f128, u64, 1e4);
9045 try testArgs(f128, u64, 1e6);
9046 try testArgs(f128, u64, 1e8);
9047 try testArgs(f128, u64, 1e10);
9048 try testArgs(f128, u64, 1e12);
9049 try testArgs(f128, u64, 1e14);
9050 try testArgs(f128, u64, 1e16);
9051 try testArgs(f128, u64, 1e18);
9052 try testArgs(f128, u64, imax(u64) - 1);
9053 try testArgs(f128, u64, imax(u64));
9054
9055 try testArgs(f128, i128, imin(i128));
9056 try testArgs(f128, i128, imin(i128) + 1);
9057 try testArgs(f128, i128, -1e38);
9058 try testArgs(f128, i128, -1e34);
9059 try testArgs(f128, i128, -1e30);
9060 try testArgs(f128, i128, -1e26);
9061 try testArgs(f128, i128, -1e22);
9062 try testArgs(f128, i128, -1e18);
9063 try testArgs(f128, i128, -1e14);
9064 try testArgs(f128, i128, -1e10);
9065 try testArgs(f128, i128, -1e6);
9066 try testArgs(f128, i128, -1e2);
9067 try testArgs(f128, i128, -1e0);
9068 try testArgs(f128, i128, 0);
9069 try testArgs(f128, i128, 1e0);
9070 try testArgs(f128, i128, 1e2);
9071 try testArgs(f128, i128, 1e6);
9072 try testArgs(f128, i128, 1e10);
9073 try testArgs(f128, i128, 1e14);
9074 try testArgs(f128, i128, 1e18);
9075 try testArgs(f128, i128, 1e22);
9076 try testArgs(f128, i128, 1e26);
9077 try testArgs(f128, i128, 1e30);
9078 try testArgs(f128, i128, 1e34);
9079 try testArgs(f128, i128, 1e38);
9080 try testArgs(f128, i128, imax(i128) - 1);
9081 try testArgs(f128, i128, imax(i128));
9082
9083 try testArgs(f128, u128, 0);
9084 try testArgs(f128, u128, 1e0);
9085 try testArgs(f128, u128, 1e2);
9086 try testArgs(f128, u128, 1e6);
9087 try testArgs(f128, u128, 1e10);
9088 try testArgs(f128, u128, 1e14);
9089 try testArgs(f128, u128, 1e18);
9090 try testArgs(f128, u128, 1e22);
9091 try testArgs(f128, u128, 1e26);
9092 try testArgs(f128, u128, 1e30);
9093 try testArgs(f128, u128, 1e34);
9094 try testArgs(f128, u128, 1e38);
9095 try testArgs(f128, u128, imax(u128) - 1);
9096 try testArgs(f128, u128, imax(u128));
9097
9098 try testArgs(f128, i256, imin(i256));
9099 try testArgs(f128, i256, imin(i256) + 1);
9100 try testArgs(f128, i256, -1e76);
9101 try testArgs(f128, i256, -1e69);
9102 try testArgs(f128, i256, -1e62);
9103 try testArgs(f128, i256, -1e55);
9104 try testArgs(f128, i256, -1e48);
9105 try testArgs(f128, i256, -1e41);
9106 try testArgs(f128, i256, -1e34);
9107 try testArgs(f128, i256, -1e27);
9108 try testArgs(f128, i256, -1e20);
9109 try testArgs(f128, i256, -1e13);
9110 try testArgs(f128, i256, -1e6);
9111 try testArgs(f128, i256, -1e0);
9112 try testArgs(f128, i256, 0);
9113 try testArgs(f128, i256, 1e0);
9114 try testArgs(f128, i256, 1e6);
9115 try testArgs(f128, i256, 1e13);
9116 try testArgs(f128, i256, 1e20);
9117 try testArgs(f128, i256, 1e27);
9118 try testArgs(f128, i256, 1e34);
9119 try testArgs(f128, i256, 1e41);
9120 try testArgs(f128, i256, 1e48);
9121 try testArgs(f128, i256, 1e55);
9122 try testArgs(f128, i256, 1e62);
9123 try testArgs(f128, i256, 1e69);
9124 try testArgs(f128, i256, 1e76);
9125 try testArgs(f128, i256, imax(i256) - 1);
9126 try testArgs(f128, i256, imax(i256));
9127
9128 try testArgs(f128, u256, 0);
9129 try testArgs(f128, u256, 1e0);
9130 try testArgs(f128, u256, 1e7);
9131 try testArgs(f128, u256, 1e14);
9132 try testArgs(f128, u256, 1e21);
9133 try testArgs(f128, u256, 1e28);
9134 try testArgs(f128, u256, 1e35);
9135 try testArgs(f128, u256, 1e42);
9136 try testArgs(f128, u256, 1e49);
9137 try testArgs(f128, u256, 1e56);
9138 try testArgs(f128, u256, 1e63);
9139 try testArgs(f128, u256, 1e70);
9140 try testArgs(f128, u256, 1e77);
9141 try testArgs(f128, u256, imax(u256) - 1);
9142 try testArgs(f128, u256, imax(u256));
9143 }
9144 fn testIntVectorsFromFloatVectors() !void {
9145 @setEvalBranchQuota(2_500);
9146
9147 try testArgs(@Vector(1, i8), @Vector(1, f16), .{
9148 -0x0.8p8,
9149 });
9150 try testArgs(@Vector(2, i8), @Vector(2, f16), .{
9151 next(f16, -0x0.8p8, -0.0), next(f16, next(f16, -0x0.8p8, -0.0), -0.0),
9152 });
9153 try testArgs(@Vector(4, i8), @Vector(4, f16), .{
9154 -1e2, -1e1, -1e0, -1e-1,
9155 });
9156 try testArgs(@Vector(8, i8), @Vector(8, f16), .{
9157 -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4,
9158 });
9159 try testArgs(@Vector(16, i8), @Vector(16, f16), .{
9160 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f16, next(f16, 0x0.8p8, 0.0), 0.0), next(f16, 0x0.8p8, 0.0),
9161 -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5,
9162 });
9163 try testArgs(@Vector(32, i8), @Vector(32, f16), .{
9164 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0,
9165 -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3,
9166 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2,
9167 -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
9168 });
9169 try testArgs(@Vector(64, i8), @Vector(64, f16), .{
9170 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4,
9171 -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1,
9172 -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5,
9173 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0,
9174 -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3,
9175 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2,
9176 -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1,
9177 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4,
9178 });
9179 try testArgs(@Vector(128, i8), @Vector(128, f16), .{
9180 -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1,
9181 -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5,
9182 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0,
9183 -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3,
9184 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3,
9185 -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
9186 -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4,
9187 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3,
9188 -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0,
9189 -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4,
9190 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3,
9191 -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0,
9192 -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4,
9193 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3,
9194 -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0,
9195 -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4,
9196 });
9197
9198 try testArgs(@Vector(1, u8), @Vector(1, f16), .{
9199 -0.0,
9200 });
9201 try testArgs(@Vector(2, u8), @Vector(2, f16), .{
9202 0.0, 1e-5,
9203 });
9204 try testArgs(@Vector(4, u8), @Vector(4, f16), .{
9205 1e-4, 1e-3, 1e-2, 1e-1,
9206 });
9207 try testArgs(@Vector(8, u8), @Vector(8, f16), .{
9208 1e0, 1e1, 1e2, next(f16, next(f16, 0x1p8, 0.0), 0.0), next(f16, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3,
9209 });
9210 try testArgs(@Vector(16, u8), @Vector(16, f16), .{
9211 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3,
9212 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2,
9213 });
9214 try testArgs(@Vector(32, u8), @Vector(32, f16), .{
9215 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1,
9216 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0,
9217 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1,
9218 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5,
9219 });
9220 try testArgs(@Vector(64, u8), @Vector(64, f16), .{
9221 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4,
9222 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3,
9223 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
9224 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0,
9225 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1,
9226 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5,
9227 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4,
9228 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3,
9229 });
9230 try testArgs(@Vector(128, u8), @Vector(128, f16), .{
9231 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2,
9232 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
9233 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0,
9234 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1,
9235 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4,
9236 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2,
9237 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0,
9238 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4,
9239 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2,
9240 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0,
9241 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4,
9242 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2,
9243 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0,
9244 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4,
9245 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2,
9246 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0,
9247 });
9248
9249 try testArgs(@Vector(1, i16), @Vector(1, f16), .{
9250 -0x0.8p16,
9251 });
9252 try testArgs(@Vector(2, i16), @Vector(2, f16), .{
9253 next(f16, -0x0.8p16, -0.0), next(f16, next(f16, -0x0.8p16, -0.0), -0.0),
9254 });
9255 try testArgs(@Vector(4, i16), @Vector(4, f16), .{
9256 -1e4, -1e3, -1e2, -1e1,
9257 });
9258 try testArgs(@Vector(8, i16), @Vector(8, f16), .{
9259 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
9260 });
9261 try testArgs(@Vector(16, i16), @Vector(16, f16), .{
9262 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
9263 1e3, 1e4, next(f16, next(f16, 0x0.8p16, 0.0), 0.0), next(f16, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1,
9264 });
9265 try testArgs(@Vector(32, i16), @Vector(32, f16), .{
9266 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
9267 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
9268 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
9269 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
9270 });
9271 try testArgs(@Vector(64, i16), @Vector(64, f16), .{
9272 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
9273 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
9274 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
9275 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
9276 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
9277 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
9278 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
9279 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
9280 });
9281 try testArgs(@Vector(128, i16), @Vector(128, f16), .{
9282 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
9283 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
9284 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
9285 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
9286 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
9287 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
9288 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
9289 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
9290 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
9291 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
9292 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
9293 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
9294 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
9295 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
9296 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
9297 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
9298 });
9299
9300 try testArgs(@Vector(1, u16), @Vector(1, f16), .{
9301 -0.0,
9302 });
9303 try testArgs(@Vector(2, u16), @Vector(2, f16), .{
9304 0.0, 1e-5,
9305 });
9306 try testArgs(@Vector(4, u16), @Vector(4, f16), .{
9307 1e-4, 1e-3, 1e-2, 1e-1,
9308 });
9309 try testArgs(@Vector(8, u16), @Vector(8, f16), .{
9310 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, 0x1p16, 0.0), 0.0), next(f16, 0x1p16, 0.0), 2e-5,
9311 });
9312 try testArgs(@Vector(16, u16), @Vector(16, f16), .{
9313 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
9314 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
9315 });
9316 try testArgs(@Vector(32, u16), @Vector(32, f16), .{
9317 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
9318 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
9319 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
9320 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
9321 });
9322 try testArgs(@Vector(64, u16), @Vector(64, f16), .{
9323 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
9324 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
9325 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
9326 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
9327 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
9328 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
9329 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
9330 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
9331 });
9332 try testArgs(@Vector(128, u16), @Vector(128, f16), .{
9333 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
9334 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
9335 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
9336 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
9337 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
9338 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
9339 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
9340 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
9341 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
9342 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
9343 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
9344 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
9345 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
9346 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
9347 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
9348 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
9349 });
9350
9351 try testArgs(@Vector(1, i32), @Vector(1, f16), .{
9352 -fmax(f16),
9353 });
9354 try testArgs(@Vector(2, i32), @Vector(2, f16), .{
9355 next(f16, -fmax(f16), -0.0), next(f16, next(f16, -fmax(f16), -0.0), -0.0),
9356 });
9357 try testArgs(@Vector(4, i32), @Vector(4, f16), .{
9358 -1e4, -1e3, -1e2, -1e1,
9359 });
9360 try testArgs(@Vector(8, i32), @Vector(8, f16), .{
9361 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
9362 });
9363 try testArgs(@Vector(16, i32), @Vector(16, f16), .{
9364 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
9365 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), -2e4, -2e3, -2e2, -2e1,
9366 });
9367 try testArgs(@Vector(32, i32), @Vector(32, f16), .{
9368 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
9369 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
9370 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
9371 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
9372 });
9373 try testArgs(@Vector(64, i32), @Vector(64, f16), .{
9374 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
9375 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
9376 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
9377 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
9378 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
9379 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
9380 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
9381 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
9382 });
9383 try testArgs(@Vector(128, i32), @Vector(128, f16), .{
9384 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
9385 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
9386 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
9387 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
9388 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
9389 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
9390 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
9391 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
9392 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
9393 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
9394 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
9395 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
9396 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
9397 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
9398 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
9399 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
9400 });
9401
9402 try testArgs(@Vector(1, u32), @Vector(1, f16), .{
9403 -0.0,
9404 });
9405 try testArgs(@Vector(2, u32), @Vector(2, f16), .{
9406 0.0, 1e-5,
9407 });
9408 try testArgs(@Vector(4, u32), @Vector(4, f16), .{
9409 1e-4, 1e-3, 1e-2, 1e-1,
9410 });
9411 try testArgs(@Vector(8, u32), @Vector(8, f16), .{
9412 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), 2e-5,
9413 });
9414 try testArgs(@Vector(16, u32), @Vector(16, f16), .{
9415 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
9416 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
9417 });
9418 try testArgs(@Vector(32, u32), @Vector(32, f16), .{
9419 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
9420 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
9421 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
9422 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
9423 });
9424 try testArgs(@Vector(64, u32), @Vector(64, f16), .{
9425 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
9426 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
9427 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
9428 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
9429 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
9430 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
9431 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
9432 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
9433 });
9434 try testArgs(@Vector(128, u32), @Vector(128, f16), .{
9435 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
9436 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
9437 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
9438 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
9439 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
9440 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
9441 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
9442 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
9443 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
9444 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
9445 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
9446 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
9447 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
9448 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
9449 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
9450 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
9451 });
9452
9453 try testArgs(@Vector(1, i64), @Vector(1, f16), .{
9454 -fmax(f16),
9455 });
9456 try testArgs(@Vector(2, i64), @Vector(2, f16), .{
9457 next(f16, -fmax(f16), -0.0), next(f16, next(f16, -fmax(f16), -0.0), -0.0),
9458 });
9459 try testArgs(@Vector(4, i64), @Vector(4, f16), .{
9460 -1e4, -1e3, -1e2, -1e1,
9461 });
9462 try testArgs(@Vector(8, i64), @Vector(8, f16), .{
9463 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
9464 });
9465 try testArgs(@Vector(16, i64), @Vector(16, f16), .{
9466 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
9467 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), -2e4, -2e3, -2e2, -2e1,
9468 });
9469 try testArgs(@Vector(32, i64), @Vector(32, f16), .{
9470 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
9471 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
9472 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
9473 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
9474 });
9475 try testArgs(@Vector(64, i64), @Vector(64, f16), .{
9476 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
9477 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
9478 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
9479 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
9480 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
9481 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
9482 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
9483 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
9484 });
9485 try testArgs(@Vector(128, i64), @Vector(128, f16), .{
9486 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
9487 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
9488 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
9489 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
9490 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
9491 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
9492 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
9493 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
9494 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
9495 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
9496 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
9497 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
9498 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
9499 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
9500 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
9501 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
9502 });
9503
9504 try testArgs(@Vector(1, u64), @Vector(1, f16), .{
9505 -0.0,
9506 });
9507 try testArgs(@Vector(2, u64), @Vector(2, f16), .{
9508 0.0, 1e-5,
9509 });
9510 try testArgs(@Vector(4, u64), @Vector(4, f16), .{
9511 1e-4, 1e-3, 1e-2, 1e-1,
9512 });
9513 try testArgs(@Vector(8, u64), @Vector(8, f16), .{
9514 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), 2e-5,
9515 });
9516 try testArgs(@Vector(16, u64), @Vector(16, f16), .{
9517 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
9518 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
9519 });
9520 try testArgs(@Vector(32, u64), @Vector(32, f16), .{
9521 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
9522 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
9523 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
9524 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
9525 });
9526 try testArgs(@Vector(64, u64), @Vector(64, f16), .{
9527 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
9528 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
9529 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
9530 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
9531 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
9532 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
9533 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
9534 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
9535 });
9536 try testArgs(@Vector(128, u64), @Vector(128, f16), .{
9537 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
9538 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
9539 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
9540 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
9541 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
9542 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
9543 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
9544 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
9545 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
9546 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
9547 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
9548 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
9549 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
9550 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
9551 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
9552 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
9553 });
9554
9555 try testArgs(@Vector(1, i128), @Vector(1, f16), .{
9556 -fmax(f16),
9557 });
9558 try testArgs(@Vector(2, i128), @Vector(2, f16), .{
9559 next(f16, -fmax(f16), -0.0), next(f16, next(f16, -fmax(f16), -0.0), -0.0),
9560 });
9561 try testArgs(@Vector(4, i128), @Vector(4, f16), .{
9562 -1e4, -1e3, -1e2, -1e1,
9563 });
9564 try testArgs(@Vector(8, i128), @Vector(8, f16), .{
9565 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
9566 });
9567 try testArgs(@Vector(16, i128), @Vector(16, f16), .{
9568 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
9569 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), -2e4, -2e3, -2e2, -2e1,
9570 });
9571 try testArgs(@Vector(32, i128), @Vector(32, f16), .{
9572 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
9573 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
9574 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
9575 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
9576 });
9577 try testArgs(@Vector(64, i128), @Vector(64, f16), .{
9578 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
9579 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
9580 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
9581 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
9582 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
9583 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
9584 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
9585 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
9586 });
9587
9588 try testArgs(@Vector(1, u128), @Vector(1, f16), .{
9589 -0.0,
9590 });
9591 try testArgs(@Vector(2, u128), @Vector(2, f16), .{
9592 0.0, 1e-5,
9593 });
9594 try testArgs(@Vector(4, u128), @Vector(4, f16), .{
9595 1e-4, 1e-3, 1e-2, 1e-1,
9596 });
9597 try testArgs(@Vector(8, u128), @Vector(8, f16), .{
9598 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), 2e-5,
9599 });
9600 try testArgs(@Vector(16, u128), @Vector(16, f16), .{
9601 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
9602 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
9603 });
9604 try testArgs(@Vector(32, u128), @Vector(32, f16), .{
9605 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
9606 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
9607 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
9608 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
9609 });
9610 try testArgs(@Vector(64, u128), @Vector(64, f16), .{
9611 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
9612 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
9613 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
9614 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
9615 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
9616 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
9617 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
9618 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
9619 });
9620
9621 try testArgs(@Vector(1, i256), @Vector(1, f16), .{
9622 -fmax(f16),
9623 });
9624 try testArgs(@Vector(2, i256), @Vector(2, f16), .{
9625 next(f16, -fmax(f16), -0.0), next(f16, next(f16, -fmax(f16), -0.0), -0.0),
9626 });
9627 try testArgs(@Vector(4, i256), @Vector(4, f16), .{
9628 -1e4, -1e3, -1e2, -1e1,
9629 });
9630 try testArgs(@Vector(8, i256), @Vector(8, f16), .{
9631 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
9632 });
9633 try testArgs(@Vector(16, i256), @Vector(16, f16), .{
9634 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
9635 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), -2e4, -2e3, -2e2, -2e1,
9636 });
9637 try testArgs(@Vector(32, i256), @Vector(32, f16), .{
9638 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
9639 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
9640 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
9641 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
9642 });
9643 try testArgs(@Vector(64, i256), @Vector(64, f16), .{
9644 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
9645 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
9646 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
9647 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
9648 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
9649 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
9650 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
9651 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
9652 });
9653
9654 try testArgs(@Vector(1, u256), @Vector(1, f16), .{
9655 -0.0,
9656 });
9657 try testArgs(@Vector(2, u256), @Vector(2, f16), .{
9658 0.0, 1e-5,
9659 });
9660 try testArgs(@Vector(4, u256), @Vector(4, f16), .{
9661 1e-4, 1e-3, 1e-2, 1e-1,
9662 });
9663 try testArgs(@Vector(8, u256), @Vector(8, f16), .{
9664 1e0, 1e1, 1e2, 1e3, 1e4, next(f16, next(f16, fmax(f16), 0.0), 0.0), next(f16, fmax(f16), 0.0), 2e-5,
9665 });
9666 try testArgs(@Vector(16, u256), @Vector(16, f16), .{
9667 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
9668 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
9669 });
9670 try testArgs(@Vector(32, u256), @Vector(32, f16), .{
9671 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
9672 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
9673 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
9674 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
9675 });
9676 try testArgs(@Vector(64, u256), @Vector(64, f16), .{
9677 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
9678 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
9679 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
9680 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
9681 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
9682 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
9683 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
9684 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
9685 });
9686
9687 try testArgs(@Vector(1, i8), @Vector(1, f32), .{
9688 -0x0.8p8,
9689 });
9690 try testArgs(@Vector(2, i8), @Vector(2, f32), .{
9691 next(f32, -0x0.8p8, -0.0), next(f32, next(f32, -0x0.8p8, -0.0), -0.0),
9692 });
9693 try testArgs(@Vector(4, i8), @Vector(4, f32), .{
9694 -1e2, -1e1, -1e0, -1e-1,
9695 });
9696 try testArgs(@Vector(8, i8), @Vector(8, f32), .{
9697 -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4,
9698 });
9699 try testArgs(@Vector(16, i8), @Vector(16, f32), .{
9700 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f32, next(f32, 0x0.8p8, 0.0), 0.0), next(f32, 0x0.8p8, 0.0),
9701 -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5,
9702 });
9703 try testArgs(@Vector(32, i8), @Vector(32, f32), .{
9704 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0,
9705 -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3,
9706 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2,
9707 -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
9708 });
9709 try testArgs(@Vector(64, i8), @Vector(64, f32), .{
9710 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4,
9711 -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1,
9712 -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5,
9713 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0,
9714 -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3,
9715 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2,
9716 -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1,
9717 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4,
9718 });
9719 try testArgs(@Vector(128, i8), @Vector(128, f32), .{
9720 -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1,
9721 -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5,
9722 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0,
9723 -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3,
9724 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3,
9725 -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
9726 -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4,
9727 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3,
9728 -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0,
9729 -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4,
9730 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3,
9731 -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0,
9732 -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4,
9733 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3,
9734 -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0,
9735 -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4,
9736 });
9737
9738 try testArgs(@Vector(1, u8), @Vector(1, f32), .{
9739 -0.0,
9740 });
9741 try testArgs(@Vector(2, u8), @Vector(2, f32), .{
9742 0.0, 1e-5,
9743 });
9744 try testArgs(@Vector(4, u8), @Vector(4, f32), .{
9745 1e-4, 1e-3, 1e-2, 1e-1,
9746 });
9747 try testArgs(@Vector(8, u8), @Vector(8, f32), .{
9748 1e0, 1e1, 1e2, next(f32, next(f32, 0x1p8, 0.0), 0.0), next(f32, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3,
9749 });
9750 try testArgs(@Vector(16, u8), @Vector(16, f32), .{
9751 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3,
9752 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2,
9753 });
9754 try testArgs(@Vector(32, u8), @Vector(32, f32), .{
9755 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1,
9756 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0,
9757 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1,
9758 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5,
9759 });
9760 try testArgs(@Vector(64, u8), @Vector(64, f32), .{
9761 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4,
9762 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3,
9763 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
9764 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0,
9765 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1,
9766 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5,
9767 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4,
9768 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3,
9769 });
9770 try testArgs(@Vector(128, u8), @Vector(128, f32), .{
9771 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2,
9772 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
9773 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0,
9774 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1,
9775 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4,
9776 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2,
9777 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0,
9778 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4,
9779 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2,
9780 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0,
9781 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4,
9782 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2,
9783 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0,
9784 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4,
9785 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2,
9786 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0,
9787 });
9788
9789 try testArgs(@Vector(1, i16), @Vector(1, f32), .{
9790 -0x0.8p16,
9791 });
9792 try testArgs(@Vector(2, i16), @Vector(2, f32), .{
9793 next(f32, -0x0.8p16, -0.0), next(f32, next(f32, -0x0.8p16, -0.0), -0.0),
9794 });
9795 try testArgs(@Vector(4, i16), @Vector(4, f32), .{
9796 -1e4, -1e3, -1e2, -1e1,
9797 });
9798 try testArgs(@Vector(8, i16), @Vector(8, f32), .{
9799 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
9800 });
9801 try testArgs(@Vector(16, i16), @Vector(16, f32), .{
9802 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
9803 1e3, 1e4, next(f32, next(f32, 0x0.8p16, 0.0), 0.0), next(f32, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1,
9804 });
9805 try testArgs(@Vector(32, i16), @Vector(32, f32), .{
9806 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
9807 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
9808 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
9809 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
9810 });
9811 try testArgs(@Vector(64, i16), @Vector(64, f32), .{
9812 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
9813 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
9814 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
9815 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
9816 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
9817 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
9818 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
9819 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
9820 });
9821 try testArgs(@Vector(128, i16), @Vector(128, f32), .{
9822 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
9823 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
9824 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
9825 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
9826 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
9827 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
9828 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
9829 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
9830 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
9831 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
9832 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
9833 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
9834 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
9835 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
9836 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
9837 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
9838 });
9839
9840 try testArgs(@Vector(1, u16), @Vector(1, f32), .{
9841 -0.0,
9842 });
9843 try testArgs(@Vector(2, u16), @Vector(2, f32), .{
9844 0.0, 1e-5,
9845 });
9846 try testArgs(@Vector(4, u16), @Vector(4, f32), .{
9847 1e-4, 1e-3, 1e-2, 1e-1,
9848 });
9849 try testArgs(@Vector(8, u16), @Vector(8, f32), .{
9850 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, 0x1p16, 0.0), 0.0), next(f32, 0x1p16, 0.0), 2e-5,
9851 });
9852 try testArgs(@Vector(16, u16), @Vector(16, f32), .{
9853 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
9854 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
9855 });
9856 try testArgs(@Vector(32, u16), @Vector(32, f32), .{
9857 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
9858 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
9859 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
9860 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
9861 });
9862 try testArgs(@Vector(64, u16), @Vector(64, f32), .{
9863 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
9864 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
9865 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
9866 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
9867 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
9868 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
9869 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
9870 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
9871 });
9872 try testArgs(@Vector(128, u16), @Vector(128, f32), .{
9873 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
9874 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
9875 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
9876 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
9877 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
9878 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
9879 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
9880 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
9881 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
9882 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
9883 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
9884 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
9885 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
9886 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
9887 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
9888 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
9889 });
9890
9891 try testArgs(@Vector(1, i32), @Vector(1, f32), .{
9892 -0x0.8p32,
9893 });
9894 try testArgs(@Vector(2, i32), @Vector(2, f32), .{
9895 next(f32, -0x0.8p32, -0.0), next(f32, next(f32, -0x0.8p32, -0.0), -0.0),
9896 });
9897 try testArgs(@Vector(4, i32), @Vector(4, f32), .{
9898 -1e4, -1e3, -1e2, -1e1,
9899 });
9900 try testArgs(@Vector(8, i32), @Vector(8, f32), .{
9901 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
9902 });
9903 try testArgs(@Vector(16, i32), @Vector(16, f32), .{
9904 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
9905 1e3, 1e4, next(f32, next(f32, 0x0.8p32, 0.0), 0.0), next(f32, 0x0.8p32, 0.0), -2e4, -2e3, -2e2, -2e1,
9906 });
9907 try testArgs(@Vector(32, i32), @Vector(32, f32), .{
9908 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
9909 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
9910 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
9911 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
9912 });
9913 try testArgs(@Vector(64, i32), @Vector(64, f32), .{
9914 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
9915 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
9916 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
9917 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
9918 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
9919 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
9920 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
9921 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
9922 });
9923 try testArgs(@Vector(128, i32), @Vector(128, f32), .{
9924 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
9925 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
9926 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
9927 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
9928 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
9929 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
9930 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
9931 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
9932 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
9933 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
9934 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
9935 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
9936 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
9937 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
9938 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
9939 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
9940 });
9941
9942 try testArgs(@Vector(1, u32), @Vector(1, f32), .{
9943 -0.0,
9944 });
9945 try testArgs(@Vector(2, u32), @Vector(2, f32), .{
9946 0.0, 1e-5,
9947 });
9948 try testArgs(@Vector(4, u32), @Vector(4, f32), .{
9949 1e-4, 1e-3, 1e-2, 1e-1,
9950 });
9951 try testArgs(@Vector(8, u32), @Vector(8, f32), .{
9952 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, 0x1p32, 0.0), 0.0), next(f32, 0x1p32, 0.0), 2e-5,
9953 });
9954 try testArgs(@Vector(16, u32), @Vector(16, f32), .{
9955 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
9956 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
9957 });
9958 try testArgs(@Vector(32, u32), @Vector(32, f32), .{
9959 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
9960 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
9961 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
9962 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
9963 });
9964 try testArgs(@Vector(64, u32), @Vector(64, f32), .{
9965 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
9966 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
9967 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
9968 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
9969 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
9970 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
9971 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
9972 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
9973 });
9974 try testArgs(@Vector(128, u32), @Vector(128, f32), .{
9975 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
9976 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
9977 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
9978 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
9979 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
9980 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
9981 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
9982 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
9983 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
9984 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
9985 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
9986 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
9987 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
9988 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
9989 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
9990 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
9991 });
9992
9993 try testArgs(@Vector(1, i64), @Vector(1, f32), .{
9994 -0x0.8p64,
9995 });
9996 try testArgs(@Vector(2, i64), @Vector(2, f32), .{
9997 next(f32, -0x0.8p64, -0.0), next(f32, next(f32, -0x0.8p64, -0.0), -0.0),
9998 });
9999 try testArgs(@Vector(4, i64), @Vector(4, f32), .{
10000 -1e4, -1e3, -1e2, -1e1,
10001 });
10002 try testArgs(@Vector(8, i64), @Vector(8, f32), .{
10003 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
10004 });
10005 try testArgs(@Vector(16, i64), @Vector(16, f32), .{
10006 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
10007 1e3, 1e4, next(f32, next(f32, 0x0.8p64, 0.0), 0.0), next(f32, 0x0.8p64, 0.0), -2e4, -2e3, -2e2, -2e1,
10008 });
10009 try testArgs(@Vector(32, i64), @Vector(32, f32), .{
10010 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
10011 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
10012 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
10013 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
10014 });
10015 try testArgs(@Vector(64, i64), @Vector(64, f32), .{
10016 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
10017 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
10018 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
10019 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
10020 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
10021 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
10022 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
10023 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
10024 });
10025 try testArgs(@Vector(128, i64), @Vector(128, f32), .{
10026 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
10027 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
10028 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
10029 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
10030 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
10031 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
10032 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
10033 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10034 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
10035 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
10036 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
10037 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
10038 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
10039 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
10040 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
10041 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
10042 });
10043
10044 try testArgs(@Vector(1, u64), @Vector(1, f32), .{
10045 -0.0,
10046 });
10047 try testArgs(@Vector(2, u64), @Vector(2, f32), .{
10048 0.0, 1e-5,
10049 });
10050 try testArgs(@Vector(4, u64), @Vector(4, f32), .{
10051 1e-4, 1e-3, 1e-2, 1e-1,
10052 });
10053 try testArgs(@Vector(8, u64), @Vector(8, f32), .{
10054 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, 0x1p64, 0.0), 0.0), next(f32, 0x1p64, 0.0), 2e-5,
10055 });
10056 try testArgs(@Vector(16, u64), @Vector(16, f32), .{
10057 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
10058 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
10059 });
10060 try testArgs(@Vector(32, u64), @Vector(32, f32), .{
10061 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
10062 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
10063 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
10064 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
10065 });
10066 try testArgs(@Vector(64, u64), @Vector(64, f32), .{
10067 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
10068 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
10069 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
10070 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10071 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
10072 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
10073 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
10074 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
10075 });
10076 try testArgs(@Vector(128, u64), @Vector(128, f32), .{
10077 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
10078 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
10079 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
10080 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
10081 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
10082 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
10083 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
10084 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
10085 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
10086 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
10087 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
10088 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
10089 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
10090 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
10091 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
10092 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
10093 });
10094
10095 try testArgs(@Vector(1, i128), @Vector(1, f32), .{
10096 -0x0.8p128,
10097 });
10098 try testArgs(@Vector(2, i128), @Vector(2, f32), .{
10099 next(f32, -0x0.8p128, -0.0), next(f32, next(f32, -0x0.8p128, -0.0), -0.0),
10100 });
10101 try testArgs(@Vector(4, i128), @Vector(4, f32), .{
10102 -1e4, -1e3, -1e2, -1e1,
10103 });
10104 try testArgs(@Vector(8, i128), @Vector(8, f32), .{
10105 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
10106 });
10107 try testArgs(@Vector(16, i128), @Vector(16, f32), .{
10108 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
10109 1e3, 1e4, next(f32, next(f32, 0x0.8p128, 0.0), 0.0), next(f32, 0x0.8p128, 0.0), -2e4, -2e3, -2e2, -2e1,
10110 });
10111 try testArgs(@Vector(32, i128), @Vector(32, f32), .{
10112 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
10113 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
10114 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
10115 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
10116 });
10117 try testArgs(@Vector(64, i128), @Vector(64, f32), .{
10118 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
10119 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
10120 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
10121 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
10122 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
10123 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
10124 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
10125 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
10126 });
10127
10128 try testArgs(@Vector(1, u128), @Vector(1, f32), .{
10129 -0.0,
10130 });
10131 try testArgs(@Vector(2, u128), @Vector(2, f32), .{
10132 0.0, 1e-5,
10133 });
10134 try testArgs(@Vector(4, u128), @Vector(4, f32), .{
10135 1e-4, 1e-3, 1e-2, 1e-1,
10136 });
10137 try testArgs(@Vector(8, u128), @Vector(8, f32), .{
10138 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, fmax(f32), 0.0), 0.0), next(f32, fmax(f32), 0.0), 2e-5,
10139 });
10140 try testArgs(@Vector(16, u128), @Vector(16, f32), .{
10141 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
10142 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
10143 });
10144 try testArgs(@Vector(32, u128), @Vector(32, f32), .{
10145 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
10146 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
10147 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
10148 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
10149 });
10150 try testArgs(@Vector(64, u128), @Vector(64, f32), .{
10151 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
10152 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
10153 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
10154 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10155 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
10156 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
10157 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
10158 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
10159 });
10160
10161 try testArgs(@Vector(1, i256), @Vector(1, f32), .{
10162 -fmax(f32),
10163 });
10164 try testArgs(@Vector(2, i256), @Vector(2, f32), .{
10165 next(f32, -fmax(f32), -0.0), next(f32, next(f32, -fmax(f32), -0.0), -0.0),
10166 });
10167 try testArgs(@Vector(4, i256), @Vector(4, f32), .{
10168 -1e4, -1e3, -1e2, -1e1,
10169 });
10170 try testArgs(@Vector(8, i256), @Vector(8, f32), .{
10171 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
10172 });
10173 try testArgs(@Vector(16, i256), @Vector(16, f32), .{
10174 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
10175 1e3, 1e4, next(f32, next(f32, fmax(f32), 0.0), 0.0), next(f32, fmax(f32), 0.0), -2e4, -2e3, -2e2, -2e1,
10176 });
10177 try testArgs(@Vector(32, i256), @Vector(32, f32), .{
10178 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
10179 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
10180 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
10181 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
10182 });
10183 try testArgs(@Vector(64, i256), @Vector(64, f32), .{
10184 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
10185 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
10186 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
10187 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
10188 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
10189 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
10190 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
10191 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
10192 });
10193
10194 try testArgs(@Vector(1, u256), @Vector(1, f32), .{
10195 -0.0,
10196 });
10197 try testArgs(@Vector(2, u256), @Vector(2, f32), .{
10198 0.0, 1e-5,
10199 });
10200 try testArgs(@Vector(4, u256), @Vector(4, f32), .{
10201 1e-4, 1e-3, 1e-2, 1e-1,
10202 });
10203 try testArgs(@Vector(8, u256), @Vector(8, f32), .{
10204 1e0, 1e1, 1e2, 1e3, 1e4, next(f32, next(f32, fmax(f32), 0.0), 0.0), next(f32, fmax(f32), 0.0), 2e-5,
10205 });
10206 try testArgs(@Vector(16, u256), @Vector(16, f32), .{
10207 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
10208 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
10209 });
10210 try testArgs(@Vector(32, u256), @Vector(32, f32), .{
10211 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
10212 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
10213 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
10214 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
10215 });
10216 try testArgs(@Vector(64, u256), @Vector(64, f32), .{
10217 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
10218 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
10219 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
10220 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10221 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
10222 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
10223 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
10224 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
10225 });
10226
10227 try testArgs(@Vector(1, i8), @Vector(1, f64), .{
10228 -0x0.8p8,
10229 });
10230 try testArgs(@Vector(2, i8), @Vector(2, f64), .{
10231 next(f64, -0x0.8p8, -0.0), next(f64, next(f64, -0x0.8p8, -0.0), -0.0),
10232 });
10233 try testArgs(@Vector(4, i8), @Vector(4, f64), .{
10234 -1e2, -1e1, -1e0, -1e-1,
10235 });
10236 try testArgs(@Vector(8, i8), @Vector(8, f64), .{
10237 -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4,
10238 });
10239 try testArgs(@Vector(16, i8), @Vector(16, f64), .{
10240 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f64, next(f64, 0x0.8p8, 0.0), 0.0), next(f64, 0x0.8p8, 0.0),
10241 -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5,
10242 });
10243 try testArgs(@Vector(32, i8), @Vector(32, f64), .{
10244 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0,
10245 -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3,
10246 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2,
10247 -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
10248 });
10249 try testArgs(@Vector(64, i8), @Vector(64, f64), .{
10250 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4,
10251 -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1,
10252 -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5,
10253 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0,
10254 -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3,
10255 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2,
10256 -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1,
10257 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4,
10258 });
10259 try testArgs(@Vector(128, i8), @Vector(128, f64), .{
10260 -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1,
10261 -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5,
10262 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0,
10263 -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3,
10264 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3,
10265 -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
10266 -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4,
10267 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3,
10268 -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0,
10269 -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4,
10270 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3,
10271 -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0,
10272 -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4,
10273 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3,
10274 -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0,
10275 -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4,
10276 });
10277
10278 try testArgs(@Vector(1, u8), @Vector(1, f64), .{
10279 -0.0,
10280 });
10281 try testArgs(@Vector(2, u8), @Vector(2, f64), .{
10282 0.0, 1e-5,
10283 });
10284 try testArgs(@Vector(4, u8), @Vector(4, f64), .{
10285 1e-4, 1e-3, 1e-2, 1e-1,
10286 });
10287 try testArgs(@Vector(8, u8), @Vector(8, f64), .{
10288 1e0, 1e1, 1e2, next(f64, next(f64, 0x1p8, 0.0), 0.0), next(f64, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3,
10289 });
10290 try testArgs(@Vector(16, u8), @Vector(16, f64), .{
10291 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3,
10292 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2,
10293 });
10294 try testArgs(@Vector(32, u8), @Vector(32, f64), .{
10295 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1,
10296 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0,
10297 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1,
10298 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5,
10299 });
10300 try testArgs(@Vector(64, u8), @Vector(64, f64), .{
10301 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4,
10302 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3,
10303 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
10304 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0,
10305 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1,
10306 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5,
10307 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4,
10308 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3,
10309 });
10310 try testArgs(@Vector(128, u8), @Vector(128, f64), .{
10311 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2,
10312 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
10313 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0,
10314 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1,
10315 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4,
10316 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2,
10317 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0,
10318 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4,
10319 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2,
10320 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0,
10321 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4,
10322 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2,
10323 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0,
10324 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4,
10325 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2,
10326 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0,
10327 });
10328
10329 try testArgs(@Vector(1, i16), @Vector(1, f64), .{
10330 -0x0.8p16,
10331 });
10332 try testArgs(@Vector(2, i16), @Vector(2, f64), .{
10333 next(f64, -0x0.8p16, -0.0), next(f64, next(f64, -0x0.8p16, -0.0), -0.0),
10334 });
10335 try testArgs(@Vector(4, i16), @Vector(4, f64), .{
10336 -1e4, -1e3, -1e2, -1e1,
10337 });
10338 try testArgs(@Vector(8, i16), @Vector(8, f64), .{
10339 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
10340 });
10341 try testArgs(@Vector(16, i16), @Vector(16, f64), .{
10342 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
10343 1e3, 1e4, next(f64, next(f64, 0x0.8p16, 0.0), 0.0), next(f64, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1,
10344 });
10345 try testArgs(@Vector(32, i16), @Vector(32, f64), .{
10346 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
10347 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
10348 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
10349 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
10350 });
10351 try testArgs(@Vector(64, i16), @Vector(64, f64), .{
10352 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
10353 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
10354 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
10355 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
10356 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
10357 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
10358 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
10359 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
10360 });
10361 try testArgs(@Vector(128, i16), @Vector(128, f64), .{
10362 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
10363 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
10364 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
10365 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
10366 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
10367 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
10368 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
10369 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10370 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
10371 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
10372 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
10373 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
10374 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
10375 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
10376 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
10377 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
10378 });
10379
10380 try testArgs(@Vector(1, u16), @Vector(1, f64), .{
10381 -0.0,
10382 });
10383 try testArgs(@Vector(2, u16), @Vector(2, f64), .{
10384 0.0, 1e-5,
10385 });
10386 try testArgs(@Vector(4, u16), @Vector(4, f64), .{
10387 1e-4, 1e-3, 1e-2, 1e-1,
10388 });
10389 try testArgs(@Vector(8, u16), @Vector(8, f64), .{
10390 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p16, 0.0), 0.0), next(f64, 0x1p16, 0.0), 2e-5,
10391 });
10392 try testArgs(@Vector(16, u16), @Vector(16, f64), .{
10393 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
10394 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
10395 });
10396 try testArgs(@Vector(32, u16), @Vector(32, f64), .{
10397 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
10398 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
10399 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
10400 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
10401 });
10402 try testArgs(@Vector(64, u16), @Vector(64, f64), .{
10403 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
10404 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
10405 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
10406 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10407 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
10408 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
10409 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
10410 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
10411 });
10412 try testArgs(@Vector(128, u16), @Vector(128, f64), .{
10413 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
10414 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
10415 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
10416 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
10417 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
10418 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
10419 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
10420 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
10421 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
10422 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
10423 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
10424 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
10425 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
10426 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
10427 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
10428 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
10429 });
10430
10431 try testArgs(@Vector(1, i32), @Vector(1, f64), .{
10432 -0x0.8p32,
10433 });
10434 try testArgs(@Vector(2, i32), @Vector(2, f64), .{
10435 next(f64, -0x0.8p32, -0.0), next(f64, next(f64, -0x0.8p32, -0.0), -0.0),
10436 });
10437 try testArgs(@Vector(4, i32), @Vector(4, f64), .{
10438 -1e4, -1e3, -1e2, -1e1,
10439 });
10440 try testArgs(@Vector(8, i32), @Vector(8, f64), .{
10441 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
10442 });
10443 try testArgs(@Vector(16, i32), @Vector(16, f64), .{
10444 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
10445 1e3, 1e4, next(f64, next(f64, 0x0.8p32, 0.0), 0.0), next(f64, 0x0.8p32, 0.0), -2e4, -2e3, -2e2, -2e1,
10446 });
10447 try testArgs(@Vector(32, i32), @Vector(32, f64), .{
10448 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
10449 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
10450 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
10451 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
10452 });
10453 try testArgs(@Vector(64, i32), @Vector(64, f64), .{
10454 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
10455 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
10456 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
10457 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
10458 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
10459 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
10460 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
10461 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
10462 });
10463 try testArgs(@Vector(128, i32), @Vector(128, f64), .{
10464 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
10465 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
10466 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
10467 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
10468 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
10469 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
10470 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
10471 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10472 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
10473 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
10474 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
10475 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
10476 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
10477 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
10478 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
10479 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
10480 });
10481
10482 try testArgs(@Vector(1, u32), @Vector(1, f64), .{
10483 -0.0,
10484 });
10485 try testArgs(@Vector(2, u32), @Vector(2, f64), .{
10486 0.0, 1e-5,
10487 });
10488 try testArgs(@Vector(4, u32), @Vector(4, f64), .{
10489 1e-4, 1e-3, 1e-2, 1e-1,
10490 });
10491 try testArgs(@Vector(8, u32), @Vector(8, f64), .{
10492 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p32, 0.0), 0.0), next(f64, 0x1p32, 0.0), 2e-5,
10493 });
10494 try testArgs(@Vector(16, u32), @Vector(16, f64), .{
10495 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
10496 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
10497 });
10498 try testArgs(@Vector(32, u32), @Vector(32, f64), .{
10499 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
10500 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
10501 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
10502 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
10503 });
10504 try testArgs(@Vector(64, u32), @Vector(64, f64), .{
10505 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
10506 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
10507 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
10508 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10509 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
10510 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
10511 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
10512 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
10513 });
10514 try testArgs(@Vector(128, u32), @Vector(128, f64), .{
10515 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
10516 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
10517 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
10518 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
10519 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
10520 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
10521 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
10522 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
10523 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
10524 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
10525 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
10526 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
10527 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
10528 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
10529 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
10530 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
10531 });
10532
10533 try testArgs(@Vector(1, i64), @Vector(1, f64), .{
10534 -0x0.8p64,
10535 });
10536 try testArgs(@Vector(2, i64), @Vector(2, f64), .{
10537 next(f64, -0x0.8p64, -0.0), next(f64, next(f64, -0x0.8p64, -0.0), -0.0),
10538 });
10539 try testArgs(@Vector(4, i64), @Vector(4, f64), .{
10540 -1e4, -1e3, -1e2, -1e1,
10541 });
10542 try testArgs(@Vector(8, i64), @Vector(8, f64), .{
10543 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
10544 });
10545 try testArgs(@Vector(16, i64), @Vector(16, f64), .{
10546 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
10547 1e3, 1e4, next(f64, next(f64, 0x0.8p64, 0.0), 0.0), next(f64, 0x0.8p64, 0.0), -2e4, -2e3, -2e2, -2e1,
10548 });
10549 try testArgs(@Vector(32, i64), @Vector(32, f64), .{
10550 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
10551 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
10552 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
10553 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
10554 });
10555 try testArgs(@Vector(64, i64), @Vector(64, f64), .{
10556 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
10557 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
10558 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
10559 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
10560 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
10561 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
10562 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
10563 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
10564 });
10565 try testArgs(@Vector(128, i64), @Vector(128, f64), .{
10566 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
10567 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
10568 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
10569 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
10570 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
10571 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
10572 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
10573 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10574 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
10575 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
10576 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
10577 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
10578 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
10579 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
10580 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
10581 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
10582 });
10583
10584 try testArgs(@Vector(1, u64), @Vector(1, f64), .{
10585 -0.0,
10586 });
10587 try testArgs(@Vector(2, u64), @Vector(2, f64), .{
10588 0.0, 1e-5,
10589 });
10590 try testArgs(@Vector(4, u64), @Vector(4, f64), .{
10591 1e-4, 1e-3, 1e-2, 1e-1,
10592 });
10593 try testArgs(@Vector(8, u64), @Vector(8, f64), .{
10594 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p64, 0.0), 0.0), next(f64, 0x1p64, 0.0), 2e-5,
10595 });
10596 try testArgs(@Vector(16, u64), @Vector(16, f64), .{
10597 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
10598 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
10599 });
10600 try testArgs(@Vector(32, u64), @Vector(32, f64), .{
10601 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
10602 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
10603 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
10604 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
10605 });
10606 try testArgs(@Vector(64, u64), @Vector(64, f64), .{
10607 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
10608 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
10609 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
10610 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10611 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
10612 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
10613 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
10614 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
10615 });
10616 try testArgs(@Vector(128, u64), @Vector(128, f64), .{
10617 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
10618 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
10619 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
10620 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
10621 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
10622 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
10623 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
10624 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
10625 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
10626 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
10627 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
10628 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
10629 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
10630 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
10631 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
10632 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
10633 });
10634
10635 try testArgs(@Vector(1, i128), @Vector(1, f64), .{
10636 -0x0.8p128,
10637 });
10638 try testArgs(@Vector(2, i128), @Vector(2, f64), .{
10639 next(f64, -0x0.8p128, -0.0), next(f64, next(f64, -0x0.8p128, -0.0), -0.0),
10640 });
10641 try testArgs(@Vector(4, i128), @Vector(4, f64), .{
10642 -1e4, -1e3, -1e2, -1e1,
10643 });
10644 try testArgs(@Vector(8, i128), @Vector(8, f64), .{
10645 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
10646 });
10647 try testArgs(@Vector(16, i128), @Vector(16, f64), .{
10648 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
10649 1e3, 1e4, next(f64, next(f64, 0x0.8p128, 0.0), 0.0), next(f64, 0x0.8p128, 0.0), -2e4, -2e3, -2e2, -2e1,
10650 });
10651 try testArgs(@Vector(32, i128), @Vector(32, f64), .{
10652 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
10653 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
10654 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
10655 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
10656 });
10657 try testArgs(@Vector(64, i128), @Vector(64, f64), .{
10658 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
10659 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
10660 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
10661 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
10662 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
10663 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
10664 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
10665 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
10666 });
10667
10668 try testArgs(@Vector(1, u128), @Vector(1, f64), .{
10669 -0.0,
10670 });
10671 try testArgs(@Vector(2, u128), @Vector(2, f64), .{
10672 0.0, 1e-5,
10673 });
10674 try testArgs(@Vector(4, u128), @Vector(4, f64), .{
10675 1e-4, 1e-3, 1e-2, 1e-1,
10676 });
10677 try testArgs(@Vector(8, u128), @Vector(8, f64), .{
10678 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p128, 0.0), 0.0), next(f64, 0x1p128, 0.0), 2e-5,
10679 });
10680 try testArgs(@Vector(16, u128), @Vector(16, f64), .{
10681 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
10682 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
10683 });
10684 try testArgs(@Vector(32, u128), @Vector(32, f64), .{
10685 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
10686 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
10687 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
10688 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
10689 });
10690 try testArgs(@Vector(64, u128), @Vector(64, f64), .{
10691 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
10692 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
10693 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
10694 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10695 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
10696 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
10697 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
10698 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
10699 });
10700
10701 try testArgs(@Vector(1, i256), @Vector(1, f64), .{
10702 -0x0.8p256,
10703 });
10704 try testArgs(@Vector(2, i256), @Vector(2, f64), .{
10705 next(f64, -0x0.8p256, -0.0), next(f64, next(f64, -0x0.8p256, -0.0), -0.0),
10706 });
10707 try testArgs(@Vector(4, i256), @Vector(4, f64), .{
10708 -1e4, -1e3, -1e2, -1e1,
10709 });
10710 try testArgs(@Vector(8, i256), @Vector(8, f64), .{
10711 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
10712 });
10713 try testArgs(@Vector(16, i256), @Vector(16, f64), .{
10714 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
10715 1e3, 1e4, next(f64, next(f64, 0x0.8p256, 0.0), 0.0), next(f64, 0x0.8p256, 0.0), -2e4, -2e3, -2e2, -2e1,
10716 });
10717 try testArgs(@Vector(32, i256), @Vector(32, f64), .{
10718 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
10719 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
10720 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
10721 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
10722 });
10723 try testArgs(@Vector(64, i256), @Vector(64, f64), .{
10724 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
10725 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
10726 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
10727 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
10728 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
10729 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
10730 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
10731 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
10732 });
10733
10734 try testArgs(@Vector(1, u256), @Vector(1, f64), .{
10735 -0.0,
10736 });
10737 try testArgs(@Vector(2, u256), @Vector(2, f64), .{
10738 0.0, 1e-5,
10739 });
10740 try testArgs(@Vector(4, u256), @Vector(4, f64), .{
10741 1e-4, 1e-3, 1e-2, 1e-1,
10742 });
10743 try testArgs(@Vector(8, u256), @Vector(8, f64), .{
10744 1e0, 1e1, 1e2, 1e3, 1e4, next(f64, next(f64, 0x1p256, 0.0), 0.0), next(f64, 0x1p256, 0.0), 2e-5,
10745 });
10746 try testArgs(@Vector(16, u256), @Vector(16, f64), .{
10747 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
10748 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
10749 });
10750 try testArgs(@Vector(32, u256), @Vector(32, f64), .{
10751 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
10752 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
10753 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
10754 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
10755 });
10756 try testArgs(@Vector(64, u256), @Vector(64, f64), .{
10757 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
10758 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
10759 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
10760 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10761 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
10762 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
10763 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
10764 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
10765 });
10766
10767 try testArgs(@Vector(1, i8), @Vector(1, f80), .{
10768 -0x0.8p8,
10769 });
10770 try testArgs(@Vector(2, i8), @Vector(2, f80), .{
10771 next(f80, -0x0.8p8, -0.0), next(f80, next(f80, -0x0.8p8, -0.0), -0.0),
10772 });
10773 try testArgs(@Vector(4, i8), @Vector(4, f80), .{
10774 -1e2, -1e1, -1e0, -1e-1,
10775 });
10776 try testArgs(@Vector(8, i8), @Vector(8, f80), .{
10777 -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4,
10778 });
10779 try testArgs(@Vector(16, i8), @Vector(16, f80), .{
10780 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f80, next(f80, 0x0.8p8, 0.0), 0.0), next(f80, 0x0.8p8, 0.0),
10781 -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5,
10782 });
10783 try testArgs(@Vector(32, i8), @Vector(32, f80), .{
10784 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0,
10785 -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3,
10786 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2,
10787 -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
10788 });
10789 try testArgs(@Vector(64, i8), @Vector(64, f80), .{
10790 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4,
10791 -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1,
10792 -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5,
10793 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0,
10794 -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3,
10795 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2,
10796 -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1,
10797 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4,
10798 });
10799 try testArgs(@Vector(128, i8), @Vector(128, f80), .{
10800 -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1,
10801 -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5,
10802 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0,
10803 -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3,
10804 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3,
10805 -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
10806 -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4,
10807 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3,
10808 -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0,
10809 -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4,
10810 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3,
10811 -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0,
10812 -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4,
10813 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3,
10814 -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0,
10815 -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4,
10816 });
10817
10818 try testArgs(@Vector(1, u8), @Vector(1, f80), .{
10819 -0.0,
10820 });
10821 try testArgs(@Vector(2, u8), @Vector(2, f80), .{
10822 0.0, 1e-5,
10823 });
10824 try testArgs(@Vector(4, u8), @Vector(4, f80), .{
10825 1e-4, 1e-3, 1e-2, 1e-1,
10826 });
10827 try testArgs(@Vector(8, u8), @Vector(8, f80), .{
10828 1e0, 1e1, 1e2, next(f80, next(f80, 0x1p8, 0.0), 0.0), next(f80, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3,
10829 });
10830 try testArgs(@Vector(16, u8), @Vector(16, f80), .{
10831 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3,
10832 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2,
10833 });
10834 try testArgs(@Vector(32, u8), @Vector(32, f80), .{
10835 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1,
10836 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0,
10837 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1,
10838 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5,
10839 });
10840 try testArgs(@Vector(64, u8), @Vector(64, f80), .{
10841 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4,
10842 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3,
10843 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
10844 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0,
10845 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1,
10846 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5,
10847 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4,
10848 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3,
10849 });
10850 try testArgs(@Vector(128, u8), @Vector(128, f80), .{
10851 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2,
10852 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
10853 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0,
10854 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1,
10855 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4,
10856 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2,
10857 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0,
10858 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4,
10859 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2,
10860 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0,
10861 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4,
10862 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2,
10863 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0,
10864 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4,
10865 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2,
10866 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0,
10867 });
10868
10869 try testArgs(@Vector(1, i16), @Vector(1, f80), .{
10870 -0x0.8p16,
10871 });
10872 try testArgs(@Vector(2, i16), @Vector(2, f80), .{
10873 next(f80, -0x0.8p16, -0.0), next(f80, next(f80, -0x0.8p16, -0.0), -0.0),
10874 });
10875 try testArgs(@Vector(4, i16), @Vector(4, f80), .{
10876 -1e4, -1e3, -1e2, -1e1,
10877 });
10878 try testArgs(@Vector(8, i16), @Vector(8, f80), .{
10879 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
10880 });
10881 try testArgs(@Vector(16, i16), @Vector(16, f80), .{
10882 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
10883 1e3, 1e4, next(f80, next(f80, 0x0.8p16, 0.0), 0.0), next(f80, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1,
10884 });
10885 try testArgs(@Vector(32, i16), @Vector(32, f80), .{
10886 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
10887 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
10888 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
10889 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
10890 });
10891 try testArgs(@Vector(64, i16), @Vector(64, f80), .{
10892 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
10893 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
10894 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
10895 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
10896 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
10897 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
10898 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
10899 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
10900 });
10901 try testArgs(@Vector(128, i16), @Vector(128, f80), .{
10902 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
10903 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
10904 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
10905 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
10906 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
10907 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
10908 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
10909 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10910 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
10911 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
10912 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
10913 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
10914 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
10915 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
10916 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
10917 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
10918 });
10919
10920 try testArgs(@Vector(1, u16), @Vector(1, f80), .{
10921 -0.0,
10922 });
10923 try testArgs(@Vector(2, u16), @Vector(2, f80), .{
10924 0.0, 1e-5,
10925 });
10926 try testArgs(@Vector(4, u16), @Vector(4, f80), .{
10927 1e-4, 1e-3, 1e-2, 1e-1,
10928 });
10929 try testArgs(@Vector(8, u16), @Vector(8, f80), .{
10930 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p16, 0.0), 0.0), next(f80, 0x1p16, 0.0), 2e-5,
10931 });
10932 try testArgs(@Vector(16, u16), @Vector(16, f80), .{
10933 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
10934 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
10935 });
10936 try testArgs(@Vector(32, u16), @Vector(32, f80), .{
10937 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
10938 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
10939 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
10940 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
10941 });
10942 try testArgs(@Vector(64, u16), @Vector(64, f80), .{
10943 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
10944 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
10945 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
10946 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
10947 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
10948 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
10949 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
10950 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
10951 });
10952 try testArgs(@Vector(128, u16), @Vector(128, f80), .{
10953 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
10954 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
10955 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
10956 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
10957 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
10958 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
10959 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
10960 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
10961 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
10962 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
10963 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
10964 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
10965 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
10966 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
10967 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
10968 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
10969 });
10970
10971 try testArgs(@Vector(1, i32), @Vector(1, f80), .{
10972 -0x0.8p32,
10973 });
10974 try testArgs(@Vector(2, i32), @Vector(2, f80), .{
10975 next(f80, -0x0.8p32, -0.0), next(f80, next(f80, -0x0.8p32, -0.0), -0.0),
10976 });
10977 try testArgs(@Vector(4, i32), @Vector(4, f80), .{
10978 -1e4, -1e3, -1e2, -1e1,
10979 });
10980 try testArgs(@Vector(8, i32), @Vector(8, f80), .{
10981 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
10982 });
10983 try testArgs(@Vector(16, i32), @Vector(16, f80), .{
10984 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
10985 1e3, 1e4, next(f80, next(f80, 0x0.8p32, 0.0), 0.0), next(f80, 0x0.8p32, 0.0), -2e4, -2e3, -2e2, -2e1,
10986 });
10987 try testArgs(@Vector(32, i32), @Vector(32, f80), .{
10988 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
10989 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
10990 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
10991 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
10992 });
10993 try testArgs(@Vector(64, i32), @Vector(64, f80), .{
10994 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
10995 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
10996 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
10997 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
10998 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
10999 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
11000 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
11001 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
11002 });
11003 try testArgs(@Vector(128, i32), @Vector(128, f80), .{
11004 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
11005 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
11006 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
11007 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
11008 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
11009 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
11010 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
11011 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11012 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
11013 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
11014 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
11015 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
11016 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
11017 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
11018 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
11019 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
11020 });
11021
11022 try testArgs(@Vector(1, u32), @Vector(1, f80), .{
11023 -0.0,
11024 });
11025 try testArgs(@Vector(2, u32), @Vector(2, f80), .{
11026 0.0, 1e-5,
11027 });
11028 try testArgs(@Vector(4, u32), @Vector(4, f80), .{
11029 1e-4, 1e-3, 1e-2, 1e-1,
11030 });
11031 try testArgs(@Vector(8, u32), @Vector(8, f80), .{
11032 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p32, 0.0), 0.0), next(f80, 0x1p32, 0.0), 2e-5,
11033 });
11034 try testArgs(@Vector(16, u32), @Vector(16, f80), .{
11035 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
11036 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
11037 });
11038 try testArgs(@Vector(32, u32), @Vector(32, f80), .{
11039 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
11040 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
11041 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
11042 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
11043 });
11044 try testArgs(@Vector(64, u32), @Vector(64, f80), .{
11045 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
11046 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
11047 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
11048 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11049 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
11050 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
11051 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
11052 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
11053 });
11054 try testArgs(@Vector(128, u32), @Vector(128, f80), .{
11055 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
11056 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
11057 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
11058 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
11059 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
11060 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
11061 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
11062 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
11063 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
11064 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
11065 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
11066 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
11067 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
11068 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
11069 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
11070 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
11071 });
11072
11073 try testArgs(@Vector(1, i64), @Vector(1, f80), .{
11074 -0x0.8p64,
11075 });
11076 try testArgs(@Vector(2, i64), @Vector(2, f80), .{
11077 next(f80, -0x0.8p64, -0.0), next(f80, next(f80, -0x0.8p64, -0.0), -0.0),
11078 });
11079 try testArgs(@Vector(4, i64), @Vector(4, f80), .{
11080 -1e4, -1e3, -1e2, -1e1,
11081 });
11082 try testArgs(@Vector(8, i64), @Vector(8, f80), .{
11083 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
11084 });
11085 try testArgs(@Vector(16, i64), @Vector(16, f80), .{
11086 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
11087 1e3, 1e4, next(f80, next(f80, 0x0.8p64, 0.0), 0.0), next(f80, 0x0.8p64, 0.0), -2e4, -2e3, -2e2, -2e1,
11088 });
11089 try testArgs(@Vector(32, i64), @Vector(32, f80), .{
11090 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
11091 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
11092 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
11093 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
11094 });
11095 try testArgs(@Vector(64, i64), @Vector(64, f80), .{
11096 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
11097 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
11098 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
11099 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
11100 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
11101 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
11102 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
11103 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
11104 });
11105 try testArgs(@Vector(128, i64), @Vector(128, f80), .{
11106 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
11107 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
11108 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
11109 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
11110 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
11111 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
11112 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
11113 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11114 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
11115 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
11116 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
11117 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
11118 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
11119 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
11120 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
11121 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
11122 });
11123
11124 try testArgs(@Vector(1, u64), @Vector(1, f80), .{
11125 -0.0,
11126 });
11127 try testArgs(@Vector(2, u64), @Vector(2, f80), .{
11128 0.0, 1e-5,
11129 });
11130 try testArgs(@Vector(4, u64), @Vector(4, f80), .{
11131 1e-4, 1e-3, 1e-2, 1e-1,
11132 });
11133 try testArgs(@Vector(8, u64), @Vector(8, f80), .{
11134 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p64, 0.0), 0.0), next(f80, 0x1p64, 0.0), 2e-5,
11135 });
11136 try testArgs(@Vector(16, u64), @Vector(16, f80), .{
11137 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
11138 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
11139 });
11140 try testArgs(@Vector(32, u64), @Vector(32, f80), .{
11141 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
11142 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
11143 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
11144 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
11145 });
11146 try testArgs(@Vector(64, u64), @Vector(64, f80), .{
11147 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
11148 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
11149 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
11150 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11151 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
11152 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
11153 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
11154 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
11155 });
11156 try testArgs(@Vector(128, u64), @Vector(128, f80), .{
11157 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
11158 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
11159 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
11160 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
11161 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
11162 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
11163 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
11164 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
11165 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
11166 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
11167 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
11168 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
11169 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
11170 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
11171 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
11172 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
11173 });
11174
11175 try testArgs(@Vector(1, i128), @Vector(1, f80), .{
11176 -0x0.8p128,
11177 });
11178 try testArgs(@Vector(2, i128), @Vector(2, f80), .{
11179 next(f80, -0x0.8p128, -0.0), next(f80, next(f80, -0x0.8p128, -0.0), -0.0),
11180 });
11181 try testArgs(@Vector(4, i128), @Vector(4, f80), .{
11182 -1e4, -1e3, -1e2, -1e1,
11183 });
11184 try testArgs(@Vector(8, i128), @Vector(8, f80), .{
11185 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
11186 });
11187 try testArgs(@Vector(16, i128), @Vector(16, f80), .{
11188 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
11189 1e3, 1e4, next(f80, next(f80, 0x0.8p128, 0.0), 0.0), next(f80, 0x0.8p128, 0.0), -2e4, -2e3, -2e2, -2e1,
11190 });
11191 try testArgs(@Vector(32, i128), @Vector(32, f80), .{
11192 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
11193 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
11194 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
11195 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
11196 });
11197 try testArgs(@Vector(64, i128), @Vector(64, f80), .{
11198 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
11199 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
11200 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
11201 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
11202 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
11203 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
11204 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
11205 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
11206 });
11207
11208 try testArgs(@Vector(1, u128), @Vector(1, f80), .{
11209 -0.0,
11210 });
11211 try testArgs(@Vector(2, u128), @Vector(2, f80), .{
11212 0.0, 1e-5,
11213 });
11214 try testArgs(@Vector(4, u128), @Vector(4, f80), .{
11215 1e-4, 1e-3, 1e-2, 1e-1,
11216 });
11217 try testArgs(@Vector(8, u128), @Vector(8, f80), .{
11218 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p128, 0.0), 0.0), next(f80, 0x1p128, 0.0), 2e-5,
11219 });
11220 try testArgs(@Vector(16, u128), @Vector(16, f80), .{
11221 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
11222 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
11223 });
11224 try testArgs(@Vector(32, u128), @Vector(32, f80), .{
11225 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
11226 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
11227 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
11228 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
11229 });
11230 try testArgs(@Vector(64, u128), @Vector(64, f80), .{
11231 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
11232 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
11233 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
11234 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11235 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
11236 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
11237 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
11238 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
11239 });
11240
11241 try testArgs(@Vector(1, i256), @Vector(1, f80), .{
11242 -0x0.8p256,
11243 });
11244 try testArgs(@Vector(2, i256), @Vector(2, f80), .{
11245 next(f80, -0x0.8p256, -0.0), next(f80, next(f80, -0x0.8p256, -0.0), -0.0),
11246 });
11247 try testArgs(@Vector(4, i256), @Vector(4, f80), .{
11248 -1e4, -1e3, -1e2, -1e1,
11249 });
11250 try testArgs(@Vector(8, i256), @Vector(8, f80), .{
11251 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
11252 });
11253 try testArgs(@Vector(16, i256), @Vector(16, f80), .{
11254 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
11255 1e3, 1e4, next(f80, next(f80, 0x0.8p256, 0.0), 0.0), next(f80, 0x0.8p256, 0.0), -2e4, -2e3, -2e2, -2e1,
11256 });
11257 try testArgs(@Vector(32, i256), @Vector(32, f80), .{
11258 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
11259 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
11260 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
11261 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
11262 });
11263 try testArgs(@Vector(64, i256), @Vector(64, f80), .{
11264 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
11265 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
11266 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
11267 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
11268 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
11269 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
11270 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
11271 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
11272 });
11273
11274 try testArgs(@Vector(1, u256), @Vector(1, f80), .{
11275 -0.0,
11276 });
11277 try testArgs(@Vector(2, u256), @Vector(2, f80), .{
11278 0.0, 1e-5,
11279 });
11280 try testArgs(@Vector(4, u256), @Vector(4, f80), .{
11281 1e-4, 1e-3, 1e-2, 1e-1,
11282 });
11283 try testArgs(@Vector(8, u256), @Vector(8, f80), .{
11284 1e0, 1e1, 1e2, 1e3, 1e4, next(f80, next(f80, 0x1p256, 0.0), 0.0), next(f80, 0x1p256, 0.0), 2e-5,
11285 });
11286 try testArgs(@Vector(16, u256), @Vector(16, f80), .{
11287 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
11288 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
11289 });
11290 try testArgs(@Vector(32, u256), @Vector(32, f80), .{
11291 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
11292 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
11293 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
11294 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
11295 });
11296 try testArgs(@Vector(64, u256), @Vector(64, f80), .{
11297 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
11298 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
11299 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
11300 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11301 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
11302 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
11303 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
11304 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
11305 });
11306
11307 try testArgs(@Vector(1, i8), @Vector(1, f128), .{
11308 -0x0.8p8,
11309 });
11310 try testArgs(@Vector(2, i8), @Vector(2, f128), .{
11311 next(f128, -0x0.8p8, -0.0), next(f128, next(f128, -0x0.8p8, -0.0), -0.0),
11312 });
11313 try testArgs(@Vector(4, i8), @Vector(4, f128), .{
11314 -1e2, -1e1, -1e0, -1e-1,
11315 });
11316 try testArgs(@Vector(8, i8), @Vector(8, f128), .{
11317 -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0, 1e-5, 1e-4,
11318 });
11319 try testArgs(@Vector(16, i8), @Vector(16, f128), .{
11320 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2, next(f128, next(f128, 0x0.8p8, 0.0), 0.0), next(f128, 0x0.8p8, 0.0),
11321 -2e1, -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5,
11322 });
11323 try testArgs(@Vector(32, i8), @Vector(32, f128), .{
11324 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, -3e1, -3e0,
11325 -3e-1, -3e-2, -3e-3, -3e-4, -3e-5, 3e-5, 3e-4, 3e-3,
11326 3e-2, 3e-1, 3e0, 3e1, -4e1, -4e0, -4e-1, -4e-2,
11327 -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
11328 });
11329 try testArgs(@Vector(64, i8), @Vector(64, f128), .{
11330 4e0, 4e1, -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4,
11331 -5e-5, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1,
11332 -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4, -6e-5, 6e-5,
11333 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1, -7e1, -7e0,
11334 -7e-1, -7e-2, -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3,
11335 7e-2, 7e-1, 7e0, 7e1, -8e1, -8e0, -8e-1, -8e-2,
11336 -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3, 8e-2, 8e-1,
11337 8e0, 8e1, -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4,
11338 });
11339 try testArgs(@Vector(128, i8), @Vector(128, f128), .{
11340 -9e-5, 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1,
11341 -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4, -11e-5, 11e-5,
11342 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1, -12e1, -12e0,
11343 -12e-1, -12e-2, -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3,
11344 12e-2, 12e-1, 12e0, 12e1, -13e0, -13e-1, -13e-2, -13e-3,
11345 -13e-4, -13e-5, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
11346 -14e0, -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4,
11347 14e-3, 14e-2, 14e-1, 14e0, -15e0, -15e-1, -15e-2, -15e-3,
11348 -15e-4, -15e-5, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0,
11349 -16e0, -16e-1, -16e-2, -16e-3, -16e-4, -16e-5, 16e-5, 16e-4,
11350 16e-3, 16e-2, 16e-1, 16e0, -17e0, -17e-1, -17e-2, -17e-3,
11351 -17e-4, -17e-5, 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0,
11352 -18e0, -18e-1, -18e-2, -18e-3, -18e-4, -18e-5, 18e-5, 18e-4,
11353 18e-3, 18e-2, 18e-1, 18e0, -19e0, -19e-1, -19e-2, -19e-3,
11354 -19e-4, -19e-5, 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0,
11355 -21e0, -21e-1, -21e-2, -21e-3, -21e-4, -21e-5, 21e-5, 21e-4,
11356 });
11357
11358 try testArgs(@Vector(1, u8), @Vector(1, f128), .{
11359 -0.0,
11360 });
11361 try testArgs(@Vector(2, u8), @Vector(2, f128), .{
11362 0.0, 1e-5,
11363 });
11364 try testArgs(@Vector(4, u8), @Vector(4, f128), .{
11365 1e-4, 1e-3, 1e-2, 1e-1,
11366 });
11367 try testArgs(@Vector(8, u8), @Vector(8, f128), .{
11368 1e0, 1e1, 1e2, next(f128, next(f128, 0x1p8, 0.0), 0.0), next(f128, 0x1p8, 0.0), 2e-5, 2e-4, 2e-3,
11369 });
11370 try testArgs(@Vector(16, u8), @Vector(16, f128), .{
11371 2e-2, 2e-1, 2e0, 2e1, 2e2, 3e-5, 3e-4, 3e-3,
11372 3e-2, 3e-1, 3e0, 3e1, 4e-5, 4e-4, 4e-3, 4e-2,
11373 });
11374 try testArgs(@Vector(32, u8), @Vector(32, f128), .{
11375 4e-1, 4e0, 4e1, 5e-5, 5e-4, 5e-3, 5e-2, 5e-1,
11376 5e0, 5e1, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0,
11377 6e1, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1, 7e0, 7e1,
11378 8e-5, 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 9e-5,
11379 });
11380 try testArgs(@Vector(64, u8), @Vector(64, f128), .{
11381 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 11e-5, 11e-4,
11382 11e-3, 11e-2, 11e-1, 11e0, 11e1, 13e-5, 13e-4, 13e-3,
11383 13e-2, 13e-1, 13e0, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
11384 14e0, 14e1, 15e-5, 15e-4, 15e-3, 15e-2, 15e-1, 15e0,
11385 15e1, 16e-5, 16e-4, 16e-3, 16e-2, 16e-1, 16e0, 16e1,
11386 17e-5, 17e-4, 17e-3, 17e-2, 17e-1, 17e0, 17e1, 18e-5,
11387 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 19e-5, 19e-4,
11388 19e-3, 19e-2, 19e-1, 19e0, 19e1, 21e-5, 21e-4, 21e-3,
11389 });
11390 try testArgs(@Vector(128, u8), @Vector(128, f128), .{
11391 21e-2, 21e-1, 21e0, 21e1, 22e-5, 22e-4, 22e-3, 22e-2,
11392 22e-1, 22e0, 22e1, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
11393 23e0, 23e1, 24e-5, 24e-4, 24e-3, 24e-2, 24e-1, 24e0,
11394 24e1, 25e-5, 25e-4, 25e-3, 25e-2, 25e-1, 25e0, 25e1,
11395 26e-5, 26e-4, 26e-3, 26e-2, 26e-1, 26e0, 27e-5, 27e-4,
11396 27e-3, 27e-2, 27e-1, 27e0, 28e-5, 28e-4, 28e-3, 28e-2,
11397 28e-1, 28e0, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0,
11398 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0, 32e-5, 32e-4,
11399 32e-3, 32e-2, 32e-1, 32e0, 33e-5, 33e-4, 33e-3, 33e-2,
11400 33e-1, 33e0, 34e-5, 34e-4, 34e-3, 34e-2, 34e-1, 34e0,
11401 35e-5, 35e-4, 35e-3, 35e-2, 35e-1, 35e0, 36e-5, 36e-4,
11402 36e-3, 36e-2, 36e-1, 36e0, 37e-5, 37e-4, 37e-3, 37e-2,
11403 37e-1, 37e0, 38e-5, 38e-4, 38e-3, 38e-2, 38e-1, 38e0,
11404 39e-5, 39e-4, 39e-3, 39e-2, 39e-1, 39e0, 41e-5, 41e-4,
11405 41e-3, 41e-2, 41e-1, 41e0, 42e-5, 42e-4, 42e-3, 42e-2,
11406 42e-1, 42e0, 43e-5, 43e-4, 43e-3, 43e-2, 43e-1, 43e0,
11407 });
11408
11409 try testArgs(@Vector(1, i16), @Vector(1, f128), .{
11410 -0x0.8p16,
11411 });
11412 try testArgs(@Vector(2, i16), @Vector(2, f128), .{
11413 next(f128, -0x0.8p16, -0.0), next(f128, next(f128, -0x0.8p16, -0.0), -0.0),
11414 });
11415 try testArgs(@Vector(4, i16), @Vector(4, f128), .{
11416 -1e4, -1e3, -1e2, -1e1,
11417 });
11418 try testArgs(@Vector(8, i16), @Vector(8, f128), .{
11419 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
11420 });
11421 try testArgs(@Vector(16, i16), @Vector(16, f128), .{
11422 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
11423 1e3, 1e4, next(f128, next(f128, 0x0.8p16, 0.0), 0.0), next(f128, 0x0.8p16, 0.0), -2e4, -2e3, -2e2, -2e1,
11424 });
11425 try testArgs(@Vector(32, i16), @Vector(32, f128), .{
11426 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
11427 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
11428 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
11429 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
11430 });
11431 try testArgs(@Vector(64, i16), @Vector(64, f128), .{
11432 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
11433 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
11434 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
11435 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
11436 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
11437 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
11438 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
11439 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
11440 });
11441 try testArgs(@Vector(128, i16), @Vector(128, f128), .{
11442 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
11443 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
11444 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
11445 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
11446 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
11447 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
11448 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
11449 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11450 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
11451 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
11452 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
11453 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
11454 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
11455 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
11456 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
11457 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
11458 });
11459
11460 try testArgs(@Vector(1, u16), @Vector(1, f128), .{
11461 -0.0,
11462 });
11463 try testArgs(@Vector(2, u16), @Vector(2, f128), .{
11464 0.0, 1e-5,
11465 });
11466 try testArgs(@Vector(4, u16), @Vector(4, f128), .{
11467 1e-4, 1e-3, 1e-2, 1e-1,
11468 });
11469 try testArgs(@Vector(8, u16), @Vector(8, f128), .{
11470 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p16, 0.0), 0.0), next(f128, 0x1p16, 0.0), 2e-5,
11471 });
11472 try testArgs(@Vector(16, u16), @Vector(16, f128), .{
11473 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
11474 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
11475 });
11476 try testArgs(@Vector(32, u16), @Vector(32, f128), .{
11477 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
11478 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
11479 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
11480 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
11481 });
11482 try testArgs(@Vector(64, u16), @Vector(64, f128), .{
11483 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
11484 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
11485 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
11486 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11487 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
11488 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
11489 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
11490 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
11491 });
11492 try testArgs(@Vector(128, u16), @Vector(128, f128), .{
11493 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
11494 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
11495 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
11496 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
11497 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
11498 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
11499 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
11500 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
11501 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
11502 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
11503 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
11504 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
11505 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
11506 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
11507 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
11508 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
11509 });
11510
11511 try testArgs(@Vector(1, i32), @Vector(1, f128), .{
11512 -0x0.8p32,
11513 });
11514 try testArgs(@Vector(2, i32), @Vector(2, f128), .{
11515 next(f128, -0x0.8p32, -0.0), next(f128, next(f128, -0x0.8p32, -0.0), -0.0),
11516 });
11517 try testArgs(@Vector(4, i32), @Vector(4, f128), .{
11518 -1e4, -1e3, -1e2, -1e1,
11519 });
11520 try testArgs(@Vector(8, i32), @Vector(8, f128), .{
11521 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
11522 });
11523 try testArgs(@Vector(16, i32), @Vector(16, f128), .{
11524 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
11525 1e3, 1e4, next(f128, next(f128, 0x0.8p32, 0.0), 0.0), next(f128, 0x0.8p32, 0.0), -2e4, -2e3, -2e2, -2e1,
11526 });
11527 try testArgs(@Vector(32, i32), @Vector(32, f128), .{
11528 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
11529 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
11530 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
11531 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
11532 });
11533 try testArgs(@Vector(64, i32), @Vector(64, f128), .{
11534 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
11535 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
11536 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
11537 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
11538 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
11539 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
11540 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
11541 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
11542 });
11543 try testArgs(@Vector(128, i32), @Vector(128, f128), .{
11544 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
11545 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
11546 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
11547 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
11548 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
11549 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
11550 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
11551 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11552 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
11553 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
11554 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
11555 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
11556 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
11557 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
11558 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
11559 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
11560 });
11561
11562 try testArgs(@Vector(1, u32), @Vector(1, f128), .{
11563 -0.0,
11564 });
11565 try testArgs(@Vector(2, u32), @Vector(2, f128), .{
11566 0.0, 1e-5,
11567 });
11568 try testArgs(@Vector(4, u32), @Vector(4, f128), .{
11569 1e-4, 1e-3, 1e-2, 1e-1,
11570 });
11571 try testArgs(@Vector(8, u32), @Vector(8, f128), .{
11572 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p32, 0.0), 0.0), next(f128, 0x1p32, 0.0), 2e-5,
11573 });
11574 try testArgs(@Vector(16, u32), @Vector(16, f128), .{
11575 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
11576 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
11577 });
11578 try testArgs(@Vector(32, u32), @Vector(32, f128), .{
11579 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
11580 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
11581 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
11582 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
11583 });
11584 try testArgs(@Vector(64, u32), @Vector(64, f128), .{
11585 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
11586 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
11587 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
11588 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11589 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
11590 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
11591 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
11592 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
11593 });
11594 try testArgs(@Vector(128, u32), @Vector(128, f128), .{
11595 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
11596 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
11597 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
11598 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
11599 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
11600 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
11601 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
11602 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
11603 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
11604 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
11605 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
11606 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
11607 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
11608 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
11609 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
11610 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
11611 });
11612
11613 try testArgs(@Vector(1, i64), @Vector(1, f128), .{
11614 -0x0.8p64,
11615 });
11616 try testArgs(@Vector(2, i64), @Vector(2, f128), .{
11617 next(f128, -0x0.8p64, -0.0), next(f128, next(f128, -0x0.8p64, -0.0), -0.0),
11618 });
11619 try testArgs(@Vector(4, i64), @Vector(4, f128), .{
11620 -1e4, -1e3, -1e2, -1e1,
11621 });
11622 try testArgs(@Vector(8, i64), @Vector(8, f128), .{
11623 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
11624 });
11625 try testArgs(@Vector(16, i64), @Vector(16, f128), .{
11626 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
11627 1e3, 1e4, next(f128, next(f128, 0x0.8p64, 0.0), 0.0), next(f128, 0x0.8p64, 0.0), -2e4, -2e3, -2e2, -2e1,
11628 });
11629 try testArgs(@Vector(32, i64), @Vector(32, f128), .{
11630 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
11631 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
11632 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
11633 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
11634 });
11635 try testArgs(@Vector(64, i64), @Vector(64, f128), .{
11636 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
11637 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
11638 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
11639 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
11640 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
11641 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
11642 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
11643 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
11644 });
11645 try testArgs(@Vector(128, i64), @Vector(128, f128), .{
11646 -7e-3, -7e-4, -7e-5, 7e-5, 7e-4, 7e-3, 7e-2, 7e-1,
11647 7e0, 7e1, 7e2, 7e3, -8e3, -8e2, -8e1, -8e0,
11648 -8e-1, -8e-2, -8e-3, -8e-4, -8e-5, 8e-5, 8e-4, 8e-3,
11649 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3, -9e3, -9e2,
11650 -9e1, -9e0, -9e-1, -9e-2, -9e-3, -9e-4, -9e-5, 9e-5,
11651 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2, 9e3,
11652 -11e3, -11e2, -11e1, -11e0, -11e-1, -11e-2, -11e-3, -11e-4,
11653 -11e-5, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11654 11e2, 11e3, -12e3, -12e2, -12e1, -12e0, -12e-1, -12e-2,
11655 -12e-3, -12e-4, -12e-5, 12e-5, 12e-4, 12e-3, 12e-2, 12e-1,
11656 12e0, 12e1, 12e2, 12e3, -13e3, -13e2, -13e1, -13e0,
11657 -13e-1, -13e-2, -13e-3, -13e-4, -13e-5, 13e-5, 13e-4, 13e-3,
11658 13e-2, 13e-1, 13e0, 13e1, 13e2, -14e2, -14e1, -14e0,
11659 -14e-1, -14e-2, -14e-3, -14e-4, -14e-5, 14e-5, 14e-4, 14e-3,
11660 14e-2, 14e-1, 14e0, 14e1, 14e2, 14e3, -15e3, -15e2,
11661 -15e1, -15e0, -15e-1, -15e-2, -15e-3, -15e-4, -15e-5, 15e-5,
11662 });
11663
11664 try testArgs(@Vector(1, u64), @Vector(1, f128), .{
11665 -0.0,
11666 });
11667 try testArgs(@Vector(2, u64), @Vector(2, f128), .{
11668 0.0, 1e-5,
11669 });
11670 try testArgs(@Vector(4, u64), @Vector(4, f128), .{
11671 1e-4, 1e-3, 1e-2, 1e-1,
11672 });
11673 try testArgs(@Vector(8, u64), @Vector(8, f128), .{
11674 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p64, 0.0), 0.0), next(f128, 0x1p64, 0.0), 2e-5,
11675 });
11676 try testArgs(@Vector(16, u64), @Vector(16, f128), .{
11677 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
11678 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
11679 });
11680 try testArgs(@Vector(32, u64), @Vector(32, f128), .{
11681 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
11682 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
11683 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
11684 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
11685 });
11686 try testArgs(@Vector(64, u64), @Vector(64, f128), .{
11687 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
11688 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
11689 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
11690 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11691 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
11692 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
11693 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
11694 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
11695 });
11696 try testArgs(@Vector(128, u64), @Vector(128, f128), .{
11697 16e-2, 16e-1, 16e0, 16e1, 16e2, 16e3, 17e-5, 17e-4,
11698 17e-3, 17e-2, 17e-1, 17e0, 17e1, 17e2, 17e3, 18e-5,
11699 18e-4, 18e-3, 18e-2, 18e-1, 18e0, 18e1, 18e2, 18e3,
11700 19e-5, 19e-4, 19e-3, 19e-2, 19e-1, 19e0, 19e1, 19e2,
11701 19e3, 21e-5, 21e-4, 21e-3, 21e-2, 21e-1, 21e0, 21e1,
11702 21e2, 21e3, 22e-5, 22e-4, 22e-3, 22e-2, 22e-1, 22e0,
11703 22e1, 22e2, 22e3, 23e-5, 23e-4, 23e-3, 23e-2, 23e-1,
11704 23e0, 23e1, 23e2, 23e3, 24e-5, 24e-4, 24e-3, 24e-2,
11705 24e-1, 24e0, 24e1, 24e2, 24e3, 25e-5, 25e-4, 25e-3,
11706 25e-2, 25e-1, 25e0, 25e1, 25e2, 25e3, 26e-5, 26e-4,
11707 26e-3, 26e-2, 26e-1, 26e0, 26e1, 26e2, 26e3, 27e-5,
11708 27e-4, 27e-3, 27e-2, 27e-1, 27e0, 27e1, 27e2, 27e3,
11709 28e-5, 28e-4, 28e-3, 28e-2, 28e-1, 28e0, 28e1, 28e2,
11710 28e3, 29e-5, 29e-4, 29e-3, 29e-2, 29e-1, 29e0, 29e1,
11711 29e2, 29e3, 31e-5, 31e-4, 31e-3, 31e-2, 31e-1, 31e0,
11712 31e1, 31e2, 31e3, 32e-5, 32e-4, 32e-3, 32e-2, 32e-1,
11713 });
11714
11715 try testArgs(@Vector(1, i128), @Vector(1, f128), .{
11716 -0x0.8p128,
11717 });
11718 try testArgs(@Vector(2, i128), @Vector(2, f128), .{
11719 next(f128, -0x0.8p128, -0.0), next(f128, next(f128, -0x0.8p128, -0.0), -0.0),
11720 });
11721 try testArgs(@Vector(4, i128), @Vector(4, f128), .{
11722 -1e4, -1e3, -1e2, -1e1,
11723 });
11724 try testArgs(@Vector(8, i128), @Vector(8, f128), .{
11725 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
11726 });
11727 try testArgs(@Vector(16, i128), @Vector(16, f128), .{
11728 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
11729 1e3, 1e4, next(f128, next(f128, 0x0.8p128, 0.0), 0.0), next(f128, 0x0.8p128, 0.0), -2e4, -2e3, -2e2, -2e1,
11730 });
11731 try testArgs(@Vector(32, i128), @Vector(32, f128), .{
11732 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
11733 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
11734 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
11735 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
11736 });
11737 try testArgs(@Vector(64, i128), @Vector(64, f128), .{
11738 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
11739 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
11740 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
11741 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
11742 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
11743 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
11744 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
11745 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
11746 });
11747
11748 try testArgs(@Vector(1, u128), @Vector(1, f128), .{
11749 -0.0,
11750 });
11751 try testArgs(@Vector(2, u128), @Vector(2, f128), .{
11752 0.0, 1e-5,
11753 });
11754 try testArgs(@Vector(4, u128), @Vector(4, f128), .{
11755 1e-4, 1e-3, 1e-2, 1e-1,
11756 });
11757 try testArgs(@Vector(8, u128), @Vector(8, f128), .{
11758 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p128, 0.0), 0.0), next(f128, 0x1p128, 0.0), 2e-5,
11759 });
11760 try testArgs(@Vector(16, u128), @Vector(16, f128), .{
11761 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
11762 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
11763 });
11764 try testArgs(@Vector(32, u128), @Vector(32, f128), .{
11765 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
11766 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
11767 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
11768 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
11769 });
11770 try testArgs(@Vector(64, u128), @Vector(64, f128), .{
11771 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
11772 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
11773 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
11774 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11775 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
11776 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
11777 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
11778 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
11779 });
11780
11781 try testArgs(@Vector(1, i256), @Vector(1, f128), .{
11782 -0x0.8p256,
11783 });
11784 try testArgs(@Vector(2, i256), @Vector(2, f128), .{
11785 next(f128, -0x0.8p256, -0.0), next(f128, next(f128, -0x0.8p256, -0.0), -0.0),
11786 });
11787 try testArgs(@Vector(4, i256), @Vector(4, f128), .{
11788 -1e4, -1e3, -1e2, -1e1,
11789 });
11790 try testArgs(@Vector(8, i256), @Vector(8, f128), .{
11791 -1e0, -1e-1, -1e-2, -1e-3, -1e-4, -1e-5, -0.0, 0.0,
11792 });
11793 try testArgs(@Vector(16, i256), @Vector(16, f128), .{
11794 1e-5, 1e-4, 1e-3, 1e-2, 1e-1, 1e0, 1e1, 1e2,
11795 1e3, 1e4, next(f128, next(f128, 0x0.8p256, 0.0), 0.0), next(f128, 0x0.8p256, 0.0), -2e4, -2e3, -2e2, -2e1,
11796 });
11797 try testArgs(@Vector(32, i256), @Vector(32, f128), .{
11798 -2e0, -2e-1, -2e-2, -2e-3, -2e-4, -2e-5, 2e-5, 2e-4,
11799 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3, 2e4,
11800 -3e4, -3e3, -3e2, -3e1, -3e0, -3e-1, -3e-2, -3e-3,
11801 -3e-4, -3e-5, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0,
11802 });
11803 try testArgs(@Vector(64, i256), @Vector(64, f128), .{
11804 3e1, 3e2, 3e3, 3e4, -4e3, -4e2, -4e1, -4e0,
11805 -4e-1, -4e-2, -4e-3, -4e-4, -4e-5, 4e-5, 4e-4, 4e-3,
11806 4e-2, 4e-1, 4e0, 4e1, 4e2, 4e3, -5e3, -5e2,
11807 -5e1, -5e0, -5e-1, -5e-2, -5e-3, -5e-4, -5e-5, 5e-5,
11808 5e-4, 5e-3, 5e-2, 5e-1, 5e0, 5e1, 5e2, 5e3,
11809 -6e3, -6e2, -6e1, -6e0, -6e-1, -6e-2, -6e-3, -6e-4,
11810 -6e-5, 6e-5, 6e-4, 6e-3, 6e-2, 6e-1, 6e0, 6e1,
11811 6e2, 6e3, -7e3, -7e2, -7e1, -7e0, -7e-1, -7e-2,
11812 });
11813
11814 try testArgs(@Vector(1, u256), @Vector(1, f128), .{
11815 -0.0,
11816 });
11817 try testArgs(@Vector(2, u256), @Vector(2, f128), .{
11818 0.0, 1e-5,
11819 });
11820 try testArgs(@Vector(4, u256), @Vector(4, f128), .{
11821 1e-4, 1e-3, 1e-2, 1e-1,
11822 });
11823 try testArgs(@Vector(8, u256), @Vector(8, f128), .{
11824 1e0, 1e1, 1e2, 1e3, 1e4, next(f128, next(f128, 0x1p256, 0.0), 0.0), next(f128, 0x1p256, 0.0), 2e-5,
11825 });
11826 try testArgs(@Vector(16, u256), @Vector(16, f128), .{
11827 2e-4, 2e-3, 2e-2, 2e-1, 2e0, 2e1, 2e2, 2e3,
11828 2e4, 3e-5, 3e-4, 3e-3, 3e-2, 3e-1, 3e0, 3e1,
11829 });
11830 try testArgs(@Vector(32, u256), @Vector(32, f128), .{
11831 3e2, 3e3, 3e4, 4e-5, 4e-4, 4e-3, 4e-2, 4e-1,
11832 4e0, 4e1, 4e2, 4e3, 5e-5, 5e-4, 5e-3, 5e-2,
11833 5e-1, 5e0, 5e1, 5e2, 5e3, 6e-5, 6e-4, 6e-3,
11834 6e-2, 6e-1, 6e0, 6e1, 6e2, 6e3, 7e-5, 7e-4,
11835 });
11836 try testArgs(@Vector(64, u256), @Vector(64, f128), .{
11837 7e-3, 7e-2, 7e-1, 7e0, 7e1, 7e2, 7e3, 8e-5,
11838 8e-4, 8e-3, 8e-2, 8e-1, 8e0, 8e1, 8e2, 8e3,
11839 9e-5, 9e-4, 9e-3, 9e-2, 9e-1, 9e0, 9e1, 9e2,
11840 9e3, 11e-5, 11e-4, 11e-3, 11e-2, 11e-1, 11e0, 11e1,
11841 11e2, 11e3, 13e-5, 13e-4, 13e-3, 13e-2, 13e-1, 13e0,
11842 13e1, 13e2, 13e3, 14e-5, 14e-4, 14e-3, 14e-2, 14e-1,
11843 14e0, 14e1, 14e2, 14e3, 15e-5, 15e-4, 15e-3, 15e-2,
11844 15e-1, 15e0, 15e1, 15e2, 15e3, 16e-5, 16e-4, 16e-3,
11845 });
11846 }
11847 fn testFloatVectorsFromIntVectors() !void {
11848 @setEvalBranchQuota(2_700);
11849
11850 try testArgs(@Vector(1, f16), @Vector(1, i8), .{
11851 imin(i8),
11852 });
11853 try testArgs(@Vector(2, f16), @Vector(2, i8), .{
11854 imin(i8) + 1, -1e2,
11855 });
11856 try testArgs(@Vector(4, f16), @Vector(4, i8), .{
11857 -1e1, -1e0, 0, 1e0,
11858 });
11859 try testArgs(@Vector(8, f16), @Vector(8, i8), .{
11860 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0,
11861 });
11862 try testArgs(@Vector(16, f16), @Vector(16, i8), .{
11863 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0,
11864 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0,
11865 });
11866 try testArgs(@Vector(32, f16), @Vector(32, i8), .{
11867 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0,
11868 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0,
11869 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0,
11870 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0,
11871 });
11872 try testArgs(@Vector(64, f16), @Vector(64, i8), .{
11873 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0,
11874 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0,
11875 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0,
11876 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0,
11877 imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24,
11878 imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29,
11879 -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0,
11880 imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32,
11881 });
11882 try testArgs(@Vector(128, f16), @Vector(128, i8), .{
11883 imin(i8) + 34, imin(i8) + 35, -19e0, 19e0, imax(i8) - 35, imax(i8) - 34, imin(i8) + 36, imin(i8) + 37,
11884 -21e0, 21e0, imax(i8) - 37, imax(i8) - 36, imin(i8) + 38, imin(i8) + 39, -22e0, 22e0,
11885 imax(i8) - 39, imax(i8) - 38, imin(i8) + 40, imin(i8) + 41, -23e0, 23e0, imax(i8) - 41, imax(i8) - 40,
11886 imin(i8) + 42, imin(i8) + 43, -24e0, 24e0, imax(i8) - 43, imax(i8) - 42, imin(i8) + 44, imin(i8) + 45,
11887 -25e0, 25e0, imax(i8) - 45, imax(i8) - 44, imin(i8) + 46, imin(i8) + 47, -26e0, 26e0,
11888 imax(i8) - 47, imax(i8) - 46, imin(i8) + 48, imin(i8) + 49, -27e0, 27e0, imax(i8) - 49, imax(i8) - 48,
11889 imin(i8) + 50, imin(i8) + 51, -28e0, 28e0, imax(i8) - 51, imax(i8) - 50, imin(i8) + 52, imin(i8) + 53,
11890 -29e0, 29e0, imax(i8) - 53, imax(i8) - 52, imin(i8) + 54, imin(i8) + 55, -31e0, 31e0,
11891 imax(i8) - 55, imax(i8) - 54, imin(i8) + 56, imin(i8) + 57, -32e0, 32e0, imax(i8) - 57, imax(i8) - 56,
11892 imin(i8) + 58, imin(i8) + 59, -33e0, 33e0, imax(i8) - 59, imax(i8) - 58, imin(i8) + 60, imin(i8) + 61,
11893 -34e0, 34e0, imax(i8) - 61, imax(i8) - 60, imin(i8) + 62, imin(i8) + 63, -35e0, 35e0,
11894 imax(i8) - 63, imax(i8) - 62, imin(i8) + 64, imin(i8) + 65, -36e0, 36e0, imax(i8) - 65, imax(i8) - 64,
11895 imin(i8) + 66, imin(i8) + 67, -37e0, 37e0, imax(i8) - 67, imax(i8) - 66, imin(i8) + 68, imin(i8) + 69,
11896 -38e0, 38e0, imax(i8) - 69, imax(i8) - 68, imin(i8) + 70, imin(i8) + 71, -39e0, 39e0,
11897 imax(i8) - 71, imax(i8) - 70, imin(i8) + 72, imin(i8) + 73, -41e0, 41e0, imax(i8) - 73, imax(i8) - 72,
11898 imin(i8) + 74, imin(i8) + 75, -42e0, 42e0, imax(i8) - 75, imax(i8) - 74, imin(i8) + 76, imin(i8) + 77,
11899 });
11900
11901 try testArgs(@Vector(1, f16), @Vector(1, u8), .{
11902 0,
11903 });
11904 try testArgs(@Vector(2, f16), @Vector(2, u8), .{
11905 1e0, 1e1,
11906 });
11907 try testArgs(@Vector(4, f16), @Vector(4, u8), .{
11908 1e2, imax(u8) - 1, imax(u8), 2e0,
11909 });
11910 try testArgs(@Vector(8, f16), @Vector(8, u8), .{
11911 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4,
11912 });
11913 try testArgs(@Vector(16, f16), @Vector(16, u8), .{
11914 imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1,
11915 imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1,
11916 });
11917 try testArgs(@Vector(32, f16), @Vector(32, u8), .{
11918 imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1,
11919 imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1,
11920 imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1,
11921 imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1,
11922 });
11923 try testArgs(@Vector(64, f16), @Vector(64, u8), .{
11924 imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1,
11925 imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1,
11926 imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1,
11927 imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47,
11928 imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0,
11929 imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56,
11930 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63,
11931 imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0,
11932 });
11933 try testArgs(@Vector(128, f16), @Vector(128, u8), .{
11934 imax(u8) - 69, imax(u8) - 68, 39e0, imax(u8) - 71, imax(u8) - 70, 41e0, imax(u8) - 73, imax(u8) - 72,
11935 42e0, imax(u8) - 75, imax(u8) - 74, 43e0, imax(u8) - 77, imax(u8) - 76, 44e0, imax(u8) - 79,
11936 imax(u8) - 78, 45e0, imax(u8) - 81, imax(u8) - 80, 46e0, imax(u8) - 83, imax(u8) - 82, 47e0,
11937 imax(u8) - 85, imax(u8) - 84, 48e0, imax(u8) - 87, imax(u8) - 86, 49e0, imax(u8) - 89, imax(u8) - 88,
11938 51e0, imax(u8) - 91, imax(u8) - 90, 52e0, imax(u8) - 93, imax(u8) - 92, 53e0, imax(u8) - 95,
11939 imax(u8) - 94, 54e0, imax(u8) - 97, imax(u8) - 96, 55e0, imax(u8) - 99, imax(u8) - 98, 56e0,
11940 imax(u8) - 101, imax(u8) - 100, 57e0, imax(u8) - 103, imax(u8) - 102, 58e0, imax(u8) - 105, imax(u8) - 104,
11941 59e0, imax(u8) - 107, imax(u8) - 106, 61e0, imax(u8) - 109, imax(u8) - 108, 62e0, imax(u8) - 111,
11942 imax(u8) - 110, 63e0, imax(u8) - 113, imax(u8) - 112, 64e0, imax(u8) - 115, imax(u8) - 114, 65e0,
11943 imax(u8) - 117, imax(u8) - 116, 66e0, imax(u8) - 119, imax(u8) - 118, 67e0, imax(u8) - 121, imax(u8) - 120,
11944 68e0, imax(u8) - 123, imax(u8) - 122, 69e0, imax(u8) - 125, imax(u8) - 124, 71e0, imax(u8) - 127,
11945 imax(u8) - 126, 72e0, imax(u8) - 129, imax(u8) - 128, 73e0, imax(u8) - 131, imax(u8) - 130, 74e0,
11946 imax(u8) - 133, imax(u8) - 132, 75e0, imax(u8) - 135, imax(u8) - 134, 76e0, imax(u8) - 137, imax(u8) - 136,
11947 77e0, imax(u8) - 139, imax(u8) - 138, 78e0, imax(u8) - 141, imax(u8) - 140, 79e0, imax(u8) - 143,
11948 imax(u8) - 142, 81e0, imax(u8) - 145, imax(u8) - 144, 82e0, imax(u8) - 147, imax(u8) - 146, 83e0,
11949 imax(u8) - 149, imax(u8) - 148, 84e0, imax(u8) - 151, imax(u8) - 150, 85e0, imax(u8) - 153, imax(u8) - 152,
11950 });
11951
11952 try testArgs(@Vector(1, f16), @Vector(1, i16), .{
11953 imin(i16),
11954 });
11955 try testArgs(@Vector(2, f16), @Vector(2, i16), .{
11956 imin(i16) + 1, -1e4,
11957 });
11958 try testArgs(@Vector(4, f16), @Vector(4, i16), .{
11959 -1e3, -1e2, -1e1, -1e0,
11960 });
11961 try testArgs(@Vector(8, f16), @Vector(8, i16), .{
11962 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16),
11963 });
11964 try testArgs(@Vector(16, f16), @Vector(16, i16), .{
11965 imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0,
11966 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5,
11967 });
11968 try testArgs(@Vector(32, f16), @Vector(32, i16), .{
11969 -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2,
11970 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2,
11971 -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6,
11972 imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1,
11973 });
11974 try testArgs(@Vector(64, f16), @Vector(64, i16), .{
11975 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2,
11976 -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10,
11977 imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1,
11978 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2,
11979 -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14,
11980 imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1,
11981 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2,
11982 -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18,
11983 });
11984 try testArgs(@Vector(128, f16), @Vector(128, i16), .{
11985 imin(i16) + 20, imin(i16) + 21, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1,
11986 12e2, 12e3, imax(i16) - 21, imax(i16) - 20, imin(i16) + 22, imin(i16) + 23, -13e3, -13e2,
11987 -13e1, -13e0, 13e0, 13e1, 13e2, 13e3, imax(i16) - 23, imax(i16) - 22,
11988 imin(i16) + 24, imin(i16) + 25, -14e3, -14e2, -14e1, -14e0, 14e0, 14e1,
11989 14e2, 14e3, imax(i16) - 25, imax(i16) - 24, imin(i16) + 26, imin(i16) + 27, -15e3, -15e2,
11990 -15e1, -15e0, 15e0, 15e1, 15e2, 15e3, imax(i16) - 27, imax(i16) - 26,
11991 imin(i16) + 28, imin(i16) + 29, -16e3, -16e2, -16e1, -16e0, 16e0, 16e1,
11992 16e2, 16e3, imax(i16) - 29, imax(i16) - 28, imin(i16) + 30, imin(i16) + 31, -17e3, -17e2,
11993 -17e1, -17e0, 17e0, 17e1, 17e2, 17e3, imax(i16) - 31, imax(i16) - 30,
11994 imin(i16) + 32, imin(i16) + 33, -18e3, -18e2, -18e1, -18e0, 18e0, 18e1,
11995 18e2, 18e3, imax(i16) - 33, imax(i16) - 32, imin(i16) + 34, imin(i16) + 35, -19e3, -19e2,
11996 -19e1, -19e0, 19e0, 19e1, 19e2, 19e3, imax(i16) - 35, imax(i16) - 34,
11997 imin(i16) + 36, imin(i16) + 37, -12e3, -21e2, -21e1, -21e0, 21e0, 21e1,
11998 21e2, 21e3, imax(i16) - 37, imax(i16) - 36, imin(i16) + 38, imin(i16) + 39, -22e3, -22e2,
11999 -22e1, -22e0, 22e0, 22e1, 22e2, 22e3, imax(i16) - 39, imax(i16) - 38,
12000 imin(i16) + 40, imin(i16) + 41, -23e3, -23e2, -23e1, -23e0, 23e0, 23e1,
12001 });
12002
12003 try testArgs(@Vector(1, f16), @Vector(1, u16), .{
12004 0,
12005 });
12006 try testArgs(@Vector(2, f16), @Vector(2, u16), .{
12007 1e0, 1e1,
12008 });
12009 try testArgs(@Vector(4, f16), @Vector(4, u16), .{
12010 1e2, 1e3, 1e4, imax(u16) - 1,
12011 });
12012 try testArgs(@Vector(8, f16), @Vector(8, u16), .{
12013 imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2,
12014 });
12015 try testArgs(@Vector(16, f16), @Vector(16, u16), .{
12016 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0,
12017 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1,
12018 });
12019 try testArgs(@Vector(32, f16), @Vector(32, u16), .{
12020 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2,
12021 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3,
12022 imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14,
12023 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1,
12024 });
12025 try testArgs(@Vector(64, f16), @Vector(64, u16), .{
12026 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3,
12027 imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22,
12028 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1,
12029 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3,
12030 imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30,
12031 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1,
12032 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3,
12033 imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38,
12034 });
12035 try testArgs(@Vector(128, f16), @Vector(128, u16), .{
12036 23e0, 23e1, 23e2, 23e3, imax(u16) - 41, imax(u16) - 40, 24e0, 24e1,
12037 24e2, 24e3, imax(u16) - 43, imax(u16) - 42, 25e0, 25e1, 25e2, 25e3,
12038 imax(u16) - 45, imax(u16) - 44, 26e0, 26e1, 26e2, 26e3, imax(u16) - 47, imax(u16) - 46,
12039 27e0, 27e1, 27e2, 27e3, imax(u16) - 49, imax(u16) - 48, 28e0, 28e1,
12040 28e2, 28e3, imax(u16) - 51, imax(u16) - 50, 29e0, 29e1, 29e2, 29e3,
12041 imax(u16) - 53, imax(u16) - 52, 31e0, 31e1, 31e2, 31e3, imax(u16) - 55, imax(u16) - 54,
12042 32e0, 32e1, 32e2, 32e3, imax(u16) - 57, imax(u16) - 56, 33e0, 33e1,
12043 33e2, 33e3, imax(u16) - 59, imax(u16) - 58, 34e0, 34e1, 34e2, 34e3,
12044 imax(u16) - 61, imax(u16) - 60, 35e0, 35e1, 35e2, 35e3, imax(u16) - 63, imax(u16) - 62,
12045 36e0, 36e1, 36e2, 36e3, imax(u16) - 65, imax(u16) - 64, 37e0, 37e1,
12046 37e2, 37e3, imax(u16) - 67, imax(u16) - 66, 38e0, 38e1, 38e2, 38e3,
12047 imax(u16) - 69, imax(u16) - 68, 39e0, 39e1, 39e2, 39e3, imax(u16) - 71, imax(u16) - 70,
12048 41e0, 41e1, 41e2, 41e3, imax(u16) - 73, imax(u16) - 72, 42e0, 42e1,
12049 42e2, 42e3, imax(u16) - 75, imax(u16) - 74, 43e0, 43e1, 43e2, 43e3,
12050 imax(u16) - 77, imax(u16) - 76, 44e0, 44e1, 44e2, 44e3, imax(u16) - 79, imax(u16) - 78,
12051 45e0, 45e1, 45e2, 45e3, imax(u16) - 81, imax(u16) - 80, 46e0, 46e1,
12052 });
12053
12054 try testArgs(@Vector(1, f16), @Vector(1, i32), .{
12055 imin(i32),
12056 });
12057 try testArgs(@Vector(2, f16), @Vector(2, i32), .{
12058 imin(i32) + 1, -1e9,
12059 });
12060 try testArgs(@Vector(4, f16), @Vector(4, i32), .{
12061 -1e8, -1e7, -1e6, -1e5,
12062 });
12063 try testArgs(@Vector(8, f16), @Vector(8, i32), .{
12064 -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1,
12065 });
12066 try testArgs(@Vector(16, f16), @Vector(16, i32), .{
12067 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
12068 imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6,
12069 });
12070 try testArgs(@Vector(32, f16), @Vector(32, i32), .{
12071 -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1,
12072 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9,
12073 imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5,
12074 -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2,
12075 });
12076 try testArgs(@Vector(64, f16), @Vector(64, i32), .{
12077 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4,
12078 imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3,
12079 -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4,
12080 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9,
12081 -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1,
12082 -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6,
12083 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7,
12084 -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0,
12085 });
12086 try testArgs(@Vector(128, f16), @Vector(128, i32), .{
12087 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, 6e7, 6e8,
12088 imax(i32) - 11, imax(i32) - 10, imin(i32) + 12, imin(i32) + 13, -7e8, -7e7, -7e6, -7e5,
12089 -7e4, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, 7e2,
12090 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, imax(i32) - 13, imax(i32) - 12,
12091 imin(i32) + 14, imin(i32) + 15, -8e8, -8e7, -8e6, -8e5, -8e4, -8e3,
12092 -8e2, -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, 8e4,
12093 8e5, 8e6, 8e7, 8e8, imax(i32) - 15, imax(i32) - 14, imin(i32) + 16, imin(i32) + 17,
12094 -9e8, -9e7, -9e6, -9e5, -9e4, -9e3, -9e2, -9e1,
12095 -9e0, 9e0, 9e1, 9e2, 9e3, 9e4, 9e5, 9e6,
12096 9e7, 9e8, imax(i32) - 17, imax(i32) - 16, imin(i32) + 18, imin(i32) + 19, -11e8, -11e7,
12097 -11e6, -11e5, -11e4, -11e3, -11e2, -11e1, -11e0, 11e0,
12098 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, 11e8,
12099 imax(i32) - 19, imax(i32) - 18, imin(i32) + 20, imin(i32) + 21, -12e8, -12e7, -12e6, -12e5,
12100 -12e4, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, 12e2,
12101 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, imax(i32) - 21, imax(i32) - 20,
12102 imin(i32) + 22, imin(i32) + 23, -13e8, -13e7, -13e6, -13e5, -13e4, -13e3,
12103 });
12104
12105 try testArgs(@Vector(1, f16), @Vector(1, u32), .{
12106 0,
12107 });
12108 try testArgs(@Vector(2, f16), @Vector(2, u32), .{
12109 1e0, 1e1,
12110 });
12111 try testArgs(@Vector(4, f16), @Vector(4, u32), .{
12112 1e2, 1e3, 1e4, imax(u32) - 1,
12113 });
12114 try testArgs(@Vector(8, f16), @Vector(8, u32), .{
12115 imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2,
12116 });
12117 try testArgs(@Vector(16, f16), @Vector(16, u32), .{
12118 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0,
12119 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1,
12120 });
12121 try testArgs(@Vector(32, f16), @Vector(32, u32), .{
12122 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2,
12123 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3,
12124 imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14,
12125 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1,
12126 });
12127 try testArgs(@Vector(64, f16), @Vector(64, u32), .{
12128 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3,
12129 imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22,
12130 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1,
12131 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3,
12132 imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30,
12133 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1,
12134 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3,
12135 imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38,
12136 });
12137 try testArgs(@Vector(128, f16), @Vector(128, u32), .{
12138 23e0, 23e1, 23e2, 23e3, imax(u32) - 41, imax(u32) - 40, 24e0, 24e1,
12139 24e2, 24e3, imax(u32) - 43, imax(u32) - 42, 25e0, 25e1, 25e2, 25e3,
12140 imax(u32) - 45, imax(u32) - 44, 26e0, 26e1, 26e2, 26e3, imax(u32) - 47, imax(u32) - 46,
12141 27e0, 27e1, 27e2, 27e3, imax(u32) - 49, imax(u32) - 48, 28e0, 28e1,
12142 28e2, 28e3, imax(u32) - 51, imax(u32) - 50, 29e0, 29e1, 29e2, 29e3,
12143 imax(u32) - 53, imax(u32) - 52, 31e0, 31e1, 31e2, 31e3, imax(u32) - 55, imax(u32) - 54,
12144 32e0, 32e1, 32e2, 32e3, imax(u32) - 57, imax(u32) - 56, 33e0, 33e1,
12145 33e2, 33e3, imax(u32) - 59, imax(u32) - 58, 34e0, 34e1, 34e2, 34e3,
12146 imax(u32) - 61, imax(u32) - 60, 35e0, 35e1, 35e2, 35e3, imax(u32) - 63, imax(u32) - 62,
12147 36e0, 36e1, 36e2, 36e3, imax(u32) - 65, imax(u32) - 64, 37e0, 37e1,
12148 37e2, 37e3, imax(u32) - 67, imax(u32) - 66, 38e0, 38e1, 38e2, 38e3,
12149 imax(u32) - 69, imax(u32) - 68, 39e0, 39e1, 39e2, 39e3, imax(u32) - 71, imax(u32) - 70,
12150 41e0, 41e1, 41e2, 41e3, imax(u32) - 73, imax(u32) - 72, 42e0, 42e1,
12151 42e2, 42e3, imax(u32) - 75, imax(u32) - 74, 43e0, 43e1, 43e2, 43e3,
12152 imax(u32) - 77, imax(u32) - 76, 44e0, 44e1, 44e2, 44e3, imax(u32) - 79, imax(u32) - 78,
12153 45e0, 45e1, 45e2, 45e3, imax(u32) - 81, imax(u32) - 80, 46e0, 46e1,
12154 });
12155
12156 try testArgs(@Vector(1, f16), @Vector(1, i64), .{
12157 imin(i64),
12158 });
12159 try testArgs(@Vector(2, f16), @Vector(2, i64), .{
12160 imin(i64) + 1, -1e18,
12161 });
12162 try testArgs(@Vector(4, f16), @Vector(4, i64), .{
12163 -1e17, -1e16, -1e15, -1e14,
12164 });
12165 try testArgs(@Vector(8, f16), @Vector(8, i64), .{
12166 -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6,
12167 });
12168 try testArgs(@Vector(16, f16), @Vector(16, i64), .{
12169 -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0,
12170 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8,
12171 });
12172 try testArgs(@Vector(32, f16), @Vector(32, i64), .{
12173 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16,
12174 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17,
12175 -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9,
12176 -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1,
12177 });
12178 try testArgs(@Vector(64, f16), @Vector(64, i64), .{
12179 -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6,
12180 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14,
12181 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5,
12182 -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11,
12183 -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3,
12184 -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4,
12185 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12,
12186 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4,
12187 });
12188 try testArgs(@Vector(128, f16), @Vector(128, i64), .{
12189 imin(i64) + 6, imin(i64) + 7, -4e18, -4e17, -4e16, -4e15, -4e14, -4e13,
12190 -4e12, -4e11, -4e10, -4e9, -4e8, -4e7, -4e6, -4e5,
12191 -4e4, -4e3, -4e2, -4e1, -4e0, 4e0, 4e1, 4e2,
12192 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10,
12193 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18,
12194 imax(i64) - 7, imax(i64) - 6, imin(i64) + 8, imin(i64) + 9, -5e18, -5e17, -5e16, -5e15,
12195 -5e14, -5e13, -5e12, -5e11, -5e10, -5e9, -5e8, -5e7,
12196 -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, -5e0, 5e0,
12197 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8,
12198 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16,
12199 5e17, 5e18, imax(i64) - 9, imax(i64) - 8, imin(i64) + 10, imin(i64) + 11, -6e18, -6e17,
12200 -6e16, -6e15, -6e14, -6e13, -6e12, -6e11, -6e10, -6e9,
12201 -6e8, -6e7, -6e6, -6e5, -6e4, -6e3, -6e2, -6e1,
12202 -6e0, 6e0, 6e1, 6e2, 6e3, 6e4, 6e5, 6e6,
12203 6e7, 6e8, 6e9, 6e10, 6e11, 6e12, 6e13, 6e14,
12204 6e15, 6e16, 6e17, 6e18, imax(i64) - 11, imax(i64) - 10, imin(i64) + 12, imin(i64) + 13,
12205 });
12206
12207 try testArgs(@Vector(1, f16), @Vector(1, u64), .{
12208 0,
12209 });
12210 try testArgs(@Vector(2, f16), @Vector(2, u64), .{
12211 1e0, 1e1,
12212 });
12213 try testArgs(@Vector(4, f16), @Vector(4, u64), .{
12214 1e2, 1e3, 1e4, 1e5,
12215 });
12216 try testArgs(@Vector(8, f16), @Vector(8, u64), .{
12217 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
12218 });
12219 try testArgs(@Vector(16, f16), @Vector(16, u64), .{
12220 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64),
12221 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7,
12222 });
12223 try testArgs(@Vector(32, f16), @Vector(32, u64), .{
12224 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15,
12225 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2,
12226 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10,
12227 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18,
12228 });
12229 try testArgs(@Vector(64, f16), @Vector(64, u64), .{
12230 imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5,
12231 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13,
12232 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0,
12233 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8,
12234 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16,
12235 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3,
12236 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11,
12237 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11,
12238 });
12239 try testArgs(@Vector(128, f16), @Vector(128, u64), .{
12240 imax(u64) - 10, 7e0, 7e1, 7e2, 7e3, 7e4, 7e5, 7e6,
12241 7e7, 7e8, 7e9, 7e10, 7e11, 7e12, 7e13, 7e14,
12242 7e15, 7e16, 7e17, 7e18, imax(u64) - 13, imax(u64) - 12, 8e0, 8e1,
12243 8e2, 8e3, 8e4, 8e5, 8e6, 8e7, 8e8, 8e9,
12244 8e10, 8e11, 8e12, 8e13, 8e14, 8e15, 8e16, 8e17,
12245 8e18, imax(u64) - 15, imax(u64) - 14, 9e0, 9e1, 9e2, 9e3, 9e4,
12246 9e5, 9e6, 9e7, 9e8, 9e9, 9e10, 9e11, 9e12,
12247 9e13, 9e14, 9e15, 9e16, 9e17, 9e18, imax(u64) - 17, imax(u64) - 16,
12248 11e0, 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7,
12249 11e8, 11e9, 11e10, 11e11, 11e12, 11e13, 11e14, 11e15,
12250 11e16, 11e17, 11e18, imax(u64) - 19, imax(u64) - 18, 12e0, 12e1, 12e2,
12251 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, 12e9, 12e10,
12252 12e11, 12e12, 12e13, 12e14, 12e15, 12e16, 12e17, 12e18,
12253 imax(u64) - 21, imax(u64) - 20, 13e0, 13e1, 13e2, 13e3, 13e4, 13e5,
12254 13e6, 13e7, 13e8, 13e9, 13e10, 13e11, 13e12, 13e13,
12255 13e14, 13e15, 13e16, 13e17, 13e18, imax(u64) - 23, imax(u64) - 22, 14e0,
12256 });
12257
12258 try testArgs(@Vector(1, f16), @Vector(1, i128), .{
12259 imin(i128),
12260 });
12261 try testArgs(@Vector(2, f16), @Vector(2, i128), .{
12262 imin(i128) + 1, -1e38,
12263 });
12264 try testArgs(@Vector(4, f16), @Vector(4, i128), .{
12265 -1e37, -1e36, -1e35, -1e34,
12266 });
12267 try testArgs(@Vector(8, f16), @Vector(8, i128), .{
12268 -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26,
12269 });
12270 try testArgs(@Vector(16, f16), @Vector(16, i128), .{
12271 -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18,
12272 -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10,
12273 });
12274 try testArgs(@Vector(32, f16), @Vector(32, i128), .{
12275 -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2,
12276 -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4,
12277 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12,
12278 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20,
12279 });
12280 try testArgs(@Vector(64, f16), @Vector(64, i128), .{
12281 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28,
12282 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36,
12283 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36,
12284 -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28,
12285 -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20,
12286 -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12,
12287 -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4,
12288 -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3,
12289 });
12290 try testArgs(@Vector(128, f16), @Vector(128, i128), .{
12291 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11,
12292 2e12, 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19,
12293 2e20, 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27,
12294 2e28, 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35,
12295 2e36, 2e37, imax(i128) - 3, imax(i128) - 2, imin(i128) + 4, imin(i128) + 5, -3e37, -3e36,
12296 -3e35, -3e34, -3e33, -3e32, -3e31, -3e30, -3e29, -3e28,
12297 -3e27, -3e26, -3e25, -3e24, -3e23, -3e22, -3e21, -3e20,
12298 -3e19, -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12,
12299 -3e11, -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4,
12300 -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3,
12301 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11,
12302 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19,
12303 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27,
12304 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35,
12305 3e36, 3e37, imax(i128) - 5, imax(i128) - 4, imin(i128) + 6, imin(i128) + 7, -4e37, -4e36,
12306 -4e35, -4e34, -4e33, -4e32, -4e31, -4e30, -4e29, -4e28,
12307 });
12308
12309 try testArgs(@Vector(1, f16), @Vector(1, u128), .{
12310 0,
12311 });
12312 try testArgs(@Vector(2, f16), @Vector(2, u128), .{
12313 1e0, 1e1,
12314 });
12315 try testArgs(@Vector(4, f16), @Vector(4, u128), .{
12316 1e2, 1e3, 1e4, 1e5,
12317 });
12318 try testArgs(@Vector(8, f16), @Vector(8, u128), .{
12319 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
12320 });
12321 try testArgs(@Vector(16, f16), @Vector(16, u128), .{
12322 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21,
12323 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29,
12324 });
12325 try testArgs(@Vector(32, f16), @Vector(32, u128), .{
12326 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37,
12327 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4,
12328 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12,
12329 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20,
12330 });
12331 try testArgs(@Vector(64, f16), @Vector(64, u128), .{
12332 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28,
12333 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36,
12334 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3,
12335 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11,
12336 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19,
12337 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27,
12338 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35,
12339 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2,
12340 });
12341 try testArgs(@Vector(128, f16), @Vector(128, u128), .{
12342 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10,
12343 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18,
12344 4e19, 4e20, 4e21, 4e22, 4e23, 4e24, 4e25, 4e26,
12345 4e27, 4e28, 4e29, 4e30, 4e31, 4e32, 4e33, 4e34,
12346 4e35, 4e36, 4e37, imax(u128) - 7, imax(u128) - 6, 5e0, 5e1, 5e2,
12347 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, 5e9, 5e10,
12348 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, 5e17, 5e18,
12349 5e19, 5e20, 5e21, 5e22, 5e23, 5e24, 5e25, 5e26,
12350 5e27, 5e28, 5e29, 5e30, 5e31, 5e32, 5e33, 5e34,
12351 5e35, 5e36, 5e37, imax(u128) - 9, imax(u128) - 8, 6e0, 6e1, 6e2,
12352 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10,
12353 6e11, 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18,
12354 6e19, 6e20, 6e21, 6e22, 6e23, 6e24, 6e25, 6e26,
12355 6e27, 6e28, 6e29, 6e30, 6e31, 6e32, 6e33, 6e34,
12356 6e35, 6e36, 6e37, imax(u128) - 11, imax(u128) - 10, 7e0, 7e1, 7e2,
12357 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, 7e9, 7e10,
12358 });
12359
12360 try testArgs(@Vector(1, f16), @Vector(1, i256), .{
12361 imin(i256),
12362 });
12363 try testArgs(@Vector(2, f16), @Vector(2, i256), .{
12364 imin(i256) + 1, -1e76,
12365 });
12366 try testArgs(@Vector(4, f16), @Vector(4, i256), .{
12367 -1e75, -1e74, -1e73, -1e72,
12368 });
12369 try testArgs(@Vector(8, f16), @Vector(8, i256), .{
12370 -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64,
12371 });
12372 try testArgs(@Vector(16, f16), @Vector(16, i256), .{
12373 -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56,
12374 -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48,
12375 });
12376 try testArgs(@Vector(32, f16), @Vector(32, i256), .{
12377 -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40,
12378 -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32,
12379 -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24,
12380 -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16,
12381 });
12382 try testArgs(@Vector(64, f16), @Vector(64, i256), .{
12383 -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8,
12384 -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0,
12385 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6,
12386 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14,
12387 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22,
12388 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30,
12389 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38,
12390 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46,
12391 });
12392 try testArgs(@Vector(128, f16), @Vector(128, i256), .{
12393 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, 1e54,
12394 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, 1e62,
12395 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, 1e70,
12396 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, imax(i256) - 1, imax(i256),
12397 imin(i256) + 2, imin(i256) + 3, -2e76, -2e75, -2e74, -2e73, -2e72, -2e71,
12398 -2e70, -2e69, -2e68, -2e67, -2e66, -2e65, -2e64, -2e63,
12399 -2e62, -2e61, -2e60, -2e59, -2e58, -2e57, -2e56, -2e55,
12400 -2e54, -2e53, -2e52, -2e51, -2e50, -2e49, -2e48, -2e47,
12401 -2e46, -2e45, -2e44, -2e43, -2e42, -2e41, -2e40, -2e39,
12402 -2e38, -2e37, -2e36, -2e35, -2e34, -2e33, -2e32, -2e31,
12403 -2e30, -2e29, -2e28, -2e27, -2e26, -2e25, -2e24, -2e23,
12404 -2e22, -2e21, -2e20, -2e19, -2e18, -2e17, -2e16, -2e15,
12405 -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, -2e8, -2e7,
12406 -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0,
12407 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8,
12408 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, 2e16,
12409 });
12410
12411 try testArgs(@Vector(1, f16), @Vector(1, u256), .{
12412 0,
12413 });
12414 try testArgs(@Vector(2, f16), @Vector(2, u256), .{
12415 1e0, 1e1,
12416 });
12417 try testArgs(@Vector(4, f16), @Vector(4, u256), .{
12418 1e2, 1e3, 1e4, 1e5,
12419 });
12420 try testArgs(@Vector(8, f16), @Vector(8, u256), .{
12421 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
12422 });
12423 try testArgs(@Vector(16, f16), @Vector(16, u256), .{
12424 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21,
12425 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29,
12426 });
12427 try testArgs(@Vector(32, f16), @Vector(32, u256), .{
12428 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37,
12429 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45,
12430 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53,
12431 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61,
12432 });
12433 try testArgs(@Vector(64, f16), @Vector(64, u256), .{
12434 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69,
12435 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77,
12436 imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5,
12437 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13,
12438 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21,
12439 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29,
12440 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37,
12441 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45,
12442 });
12443 try testArgs(@Vector(128, f16), @Vector(128, u256), .{
12444 2e46, 2e47, 2e48, 2e49, 2e50, 2e51, 2e52, 2e53,
12445 2e54, 2e55, 2e56, 2e57, 2e58, 2e59, 2e60, 2e61,
12446 2e62, 2e63, 2e64, 2e65, 2e66, 2e67, 2e68, 2e69,
12447 2e70, 2e71, 2e72, 2e73, 2e74, 2e75, 2e76, imax(u256) - 3,
12448 imax(u256) - 2, 3e0, 3e1, 3e2, 3e3, 3e4, 3e5, 3e6,
12449 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, 3e13, 3e14,
12450 3e15, 3e16, 3e17, 3e18, 3e19, 3e20, 3e21, 3e22,
12451 3e23, 3e24, 3e25, 3e26, 3e27, 3e28, 3e29, 3e30,
12452 3e31, 3e32, 3e33, 3e34, 3e35, 3e36, 3e37, 3e38,
12453 3e39, 3e40, 3e41, 3e42, 3e43, 3e44, 3e45, 3e46,
12454 3e47, 3e48, 3e49, 3e50, 3e51, 3e52, 3e53, 3e54,
12455 3e55, 3e56, 3e57, 3e58, 3e59, 3e60, 3e61, 3e62,
12456 3e63, 3e64, 3e65, 3e66, 3e67, 3e68, 3e69, 3e70,
12457 3e71, 3e72, 3e73, 3e74, 3e75, 3e76, imax(u256) - 5, imax(u256) - 4,
12458 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, 4e6, 4e7,
12459 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, 4e14, 4e15,
12460 });
12461
12462 try testArgs(@Vector(1, f32), @Vector(1, i8), .{
12463 imin(i8),
12464 });
12465 try testArgs(@Vector(2, f32), @Vector(2, i8), .{
12466 imin(i8) + 1, -1e2,
12467 });
12468 try testArgs(@Vector(4, f32), @Vector(4, i8), .{
12469 -1e1, -1e0, 0, 1e0,
12470 });
12471 try testArgs(@Vector(8, f32), @Vector(8, i8), .{
12472 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0,
12473 });
12474 try testArgs(@Vector(16, f32), @Vector(16, i8), .{
12475 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0,
12476 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0,
12477 });
12478 try testArgs(@Vector(32, f32), @Vector(32, i8), .{
12479 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0,
12480 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0,
12481 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0,
12482 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0,
12483 });
12484 try testArgs(@Vector(64, f32), @Vector(64, i8), .{
12485 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0,
12486 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0,
12487 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0,
12488 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0,
12489 imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24,
12490 imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29,
12491 -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0,
12492 imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32,
12493 });
12494 try testArgs(@Vector(128, f32), @Vector(128, i8), .{
12495 imin(i8) + 34, imin(i8) + 35, -19e0, 19e0, imax(i8) - 35, imax(i8) - 34, imin(i8) + 36, imin(i8) + 37,
12496 -21e0, 21e0, imax(i8) - 37, imax(i8) - 36, imin(i8) + 38, imin(i8) + 39, -22e0, 22e0,
12497 imax(i8) - 39, imax(i8) - 38, imin(i8) + 40, imin(i8) + 41, -23e0, 23e0, imax(i8) - 41, imax(i8) - 40,
12498 imin(i8) + 42, imin(i8) + 43, -24e0, 24e0, imax(i8) - 43, imax(i8) - 42, imin(i8) + 44, imin(i8) + 45,
12499 -25e0, 25e0, imax(i8) - 45, imax(i8) - 44, imin(i8) + 46, imin(i8) + 47, -26e0, 26e0,
12500 imax(i8) - 47, imax(i8) - 46, imin(i8) + 48, imin(i8) + 49, -27e0, 27e0, imax(i8) - 49, imax(i8) - 48,
12501 imin(i8) + 50, imin(i8) + 51, -28e0, 28e0, imax(i8) - 51, imax(i8) - 50, imin(i8) + 52, imin(i8) + 53,
12502 -29e0, 29e0, imax(i8) - 53, imax(i8) - 52, imin(i8) + 54, imin(i8) + 55, -31e0, 31e0,
12503 imax(i8) - 55, imax(i8) - 54, imin(i8) + 56, imin(i8) + 57, -32e0, 32e0, imax(i8) - 57, imax(i8) - 56,
12504 imin(i8) + 58, imin(i8) + 59, -33e0, 33e0, imax(i8) - 59, imax(i8) - 58, imin(i8) + 60, imin(i8) + 61,
12505 -34e0, 34e0, imax(i8) - 61, imax(i8) - 60, imin(i8) + 62, imin(i8) + 63, -35e0, 35e0,
12506 imax(i8) - 63, imax(i8) - 62, imin(i8) + 64, imin(i8) + 65, -36e0, 36e0, imax(i8) - 65, imax(i8) - 64,
12507 imin(i8) + 66, imin(i8) + 67, -37e0, 37e0, imax(i8) - 67, imax(i8) - 66, imin(i8) + 68, imin(i8) + 69,
12508 -38e0, 38e0, imax(i8) - 69, imax(i8) - 68, imin(i8) + 70, imin(i8) + 71, -39e0, 39e0,
12509 imax(i8) - 71, imax(i8) - 70, imin(i8) + 72, imin(i8) + 73, -41e0, 41e0, imax(i8) - 73, imax(i8) - 72,
12510 imin(i8) + 74, imin(i8) + 75, -42e0, 42e0, imax(i8) - 75, imax(i8) - 74, imin(i8) + 76, imin(i8) + 77,
12511 });
12512
12513 try testArgs(@Vector(1, f32), @Vector(1, u8), .{
12514 0,
12515 });
12516 try testArgs(@Vector(2, f32), @Vector(2, u8), .{
12517 1e0, 1e1,
12518 });
12519 try testArgs(@Vector(4, f32), @Vector(4, u8), .{
12520 1e2, imax(u8) - 1, imax(u8), 2e0,
12521 });
12522 try testArgs(@Vector(8, f32), @Vector(8, u8), .{
12523 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4,
12524 });
12525 try testArgs(@Vector(16, f32), @Vector(16, u8), .{
12526 imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1,
12527 imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1,
12528 });
12529 try testArgs(@Vector(32, f32), @Vector(32, u8), .{
12530 imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1,
12531 imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1,
12532 imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1,
12533 imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1,
12534 });
12535 try testArgs(@Vector(64, f32), @Vector(64, u8), .{
12536 imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1,
12537 imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1,
12538 imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1,
12539 imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47,
12540 imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0,
12541 imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56,
12542 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63,
12543 imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0,
12544 });
12545 try testArgs(@Vector(128, f32), @Vector(128, u8), .{
12546 imax(u8) - 69, imax(u8) - 68, 39e0, imax(u8) - 71, imax(u8) - 70, 41e0, imax(u8) - 73, imax(u8) - 72,
12547 42e0, imax(u8) - 75, imax(u8) - 74, 43e0, imax(u8) - 77, imax(u8) - 76, 44e0, imax(u8) - 79,
12548 imax(u8) - 78, 45e0, imax(u8) - 81, imax(u8) - 80, 46e0, imax(u8) - 83, imax(u8) - 82, 47e0,
12549 imax(u8) - 85, imax(u8) - 84, 48e0, imax(u8) - 87, imax(u8) - 86, 49e0, imax(u8) - 89, imax(u8) - 88,
12550 51e0, imax(u8) - 91, imax(u8) - 90, 52e0, imax(u8) - 93, imax(u8) - 92, 53e0, imax(u8) - 95,
12551 imax(u8) - 94, 54e0, imax(u8) - 97, imax(u8) - 96, 55e0, imax(u8) - 99, imax(u8) - 98, 56e0,
12552 imax(u8) - 101, imax(u8) - 100, 57e0, imax(u8) - 103, imax(u8) - 102, 58e0, imax(u8) - 105, imax(u8) - 104,
12553 59e0, imax(u8) - 107, imax(u8) - 106, 61e0, imax(u8) - 109, imax(u8) - 108, 62e0, imax(u8) - 111,
12554 imax(u8) - 110, 63e0, imax(u8) - 113, imax(u8) - 112, 64e0, imax(u8) - 115, imax(u8) - 114, 65e0,
12555 imax(u8) - 117, imax(u8) - 116, 66e0, imax(u8) - 119, imax(u8) - 118, 67e0, imax(u8) - 121, imax(u8) - 120,
12556 68e0, imax(u8) - 123, imax(u8) - 122, 69e0, imax(u8) - 125, imax(u8) - 124, 71e0, imax(u8) - 127,
12557 imax(u8) - 126, 72e0, imax(u8) - 129, imax(u8) - 128, 73e0, imax(u8) - 131, imax(u8) - 130, 74e0,
12558 imax(u8) - 133, imax(u8) - 132, 75e0, imax(u8) - 135, imax(u8) - 134, 76e0, imax(u8) - 137, imax(u8) - 136,
12559 77e0, imax(u8) - 139, imax(u8) - 138, 78e0, imax(u8) - 141, imax(u8) - 140, 79e0, imax(u8) - 143,
12560 imax(u8) - 142, 81e0, imax(u8) - 145, imax(u8) - 144, 82e0, imax(u8) - 147, imax(u8) - 146, 83e0,
12561 imax(u8) - 149, imax(u8) - 148, 84e0, imax(u8) - 151, imax(u8) - 150, 85e0, imax(u8) - 153, imax(u8) - 152,
12562 });
12563
12564 try testArgs(@Vector(1, f32), @Vector(1, i16), .{
12565 imin(i16),
12566 });
12567 try testArgs(@Vector(2, f32), @Vector(2, i16), .{
12568 imin(i16) + 1, -1e4,
12569 });
12570 try testArgs(@Vector(4, f32), @Vector(4, i16), .{
12571 -1e3, -1e2, -1e1, -1e0,
12572 });
12573 try testArgs(@Vector(8, f32), @Vector(8, i16), .{
12574 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16),
12575 });
12576 try testArgs(@Vector(16, f32), @Vector(16, i16), .{
12577 imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0,
12578 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5,
12579 });
12580 try testArgs(@Vector(32, f32), @Vector(32, i16), .{
12581 -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2,
12582 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2,
12583 -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6,
12584 imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1,
12585 });
12586 try testArgs(@Vector(64, f32), @Vector(64, i16), .{
12587 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2,
12588 -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10,
12589 imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1,
12590 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2,
12591 -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14,
12592 imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1,
12593 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2,
12594 -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18,
12595 });
12596 try testArgs(@Vector(128, f32), @Vector(128, i16), .{
12597 imin(i16) + 20, imin(i16) + 21, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1,
12598 12e2, 12e3, imax(i16) - 21, imax(i16) - 20, imin(i16) + 22, imin(i16) + 23, -13e3, -13e2,
12599 -13e1, -13e0, 13e0, 13e1, 13e2, 13e3, imax(i16) - 23, imax(i16) - 22,
12600 imin(i16) + 24, imin(i16) + 25, -14e3, -14e2, -14e1, -14e0, 14e0, 14e1,
12601 14e2, 14e3, imax(i16) - 25, imax(i16) - 24, imin(i16) + 26, imin(i16) + 27, -15e3, -15e2,
12602 -15e1, -15e0, 15e0, 15e1, 15e2, 15e3, imax(i16) - 27, imax(i16) - 26,
12603 imin(i16) + 28, imin(i16) + 29, -16e3, -16e2, -16e1, -16e0, 16e0, 16e1,
12604 16e2, 16e3, imax(i16) - 29, imax(i16) - 28, imin(i16) + 30, imin(i16) + 31, -17e3, -17e2,
12605 -17e1, -17e0, 17e0, 17e1, 17e2, 17e3, imax(i16) - 31, imax(i16) - 30,
12606 imin(i16) + 32, imin(i16) + 33, -18e3, -18e2, -18e1, -18e0, 18e0, 18e1,
12607 18e2, 18e3, imax(i16) - 33, imax(i16) - 32, imin(i16) + 34, imin(i16) + 35, -19e3, -19e2,
12608 -19e1, -19e0, 19e0, 19e1, 19e2, 19e3, imax(i16) - 35, imax(i16) - 34,
12609 imin(i16) + 36, imin(i16) + 37, -12e3, -21e2, -21e1, -21e0, 21e0, 21e1,
12610 21e2, 21e3, imax(i16) - 37, imax(i16) - 36, imin(i16) + 38, imin(i16) + 39, -22e3, -22e2,
12611 -22e1, -22e0, 22e0, 22e1, 22e2, 22e3, imax(i16) - 39, imax(i16) - 38,
12612 imin(i16) + 40, imin(i16) + 41, -23e3, -23e2, -23e1, -23e0, 23e0, 23e1,
12613 });
12614
12615 try testArgs(@Vector(1, f32), @Vector(1, u16), .{
12616 0,
12617 });
12618 try testArgs(@Vector(2, f32), @Vector(2, u16), .{
12619 1e0, 1e1,
12620 });
12621 try testArgs(@Vector(4, f32), @Vector(4, u16), .{
12622 1e2, 1e3, 1e4, imax(u16) - 1,
12623 });
12624 try testArgs(@Vector(8, f32), @Vector(8, u16), .{
12625 imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2,
12626 });
12627 try testArgs(@Vector(16, f32), @Vector(16, u16), .{
12628 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0,
12629 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1,
12630 });
12631 try testArgs(@Vector(32, f32), @Vector(32, u16), .{
12632 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2,
12633 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3,
12634 imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14,
12635 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1,
12636 });
12637 try testArgs(@Vector(64, f32), @Vector(64, u16), .{
12638 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3,
12639 imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22,
12640 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1,
12641 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3,
12642 imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30,
12643 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1,
12644 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3,
12645 imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38,
12646 });
12647 try testArgs(@Vector(128, f32), @Vector(128, u16), .{
12648 23e0, 23e1, 23e2, 23e3, imax(u16) - 41, imax(u16) - 40, 24e0, 24e1,
12649 24e2, 24e3, imax(u16) - 43, imax(u16) - 42, 25e0, 25e1, 25e2, 25e3,
12650 imax(u16) - 45, imax(u16) - 44, 26e0, 26e1, 26e2, 26e3, imax(u16) - 47, imax(u16) - 46,
12651 27e0, 27e1, 27e2, 27e3, imax(u16) - 49, imax(u16) - 48, 28e0, 28e1,
12652 28e2, 28e3, imax(u16) - 51, imax(u16) - 50, 29e0, 29e1, 29e2, 29e3,
12653 imax(u16) - 53, imax(u16) - 52, 31e0, 31e1, 31e2, 31e3, imax(u16) - 55, imax(u16) - 54,
12654 32e0, 32e1, 32e2, 32e3, imax(u16) - 57, imax(u16) - 56, 33e0, 33e1,
12655 33e2, 33e3, imax(u16) - 59, imax(u16) - 58, 34e0, 34e1, 34e2, 34e3,
12656 imax(u16) - 61, imax(u16) - 60, 35e0, 35e1, 35e2, 35e3, imax(u16) - 63, imax(u16) - 62,
12657 36e0, 36e1, 36e2, 36e3, imax(u16) - 65, imax(u16) - 64, 37e0, 37e1,
12658 37e2, 37e3, imax(u16) - 67, imax(u16) - 66, 38e0, 38e1, 38e2, 38e3,
12659 imax(u16) - 69, imax(u16) - 68, 39e0, 39e1, 39e2, 39e3, imax(u16) - 71, imax(u16) - 70,
12660 41e0, 41e1, 41e2, 41e3, imax(u16) - 73, imax(u16) - 72, 42e0, 42e1,
12661 42e2, 42e3, imax(u16) - 75, imax(u16) - 74, 43e0, 43e1, 43e2, 43e3,
12662 imax(u16) - 77, imax(u16) - 76, 44e0, 44e1, 44e2, 44e3, imax(u16) - 79, imax(u16) - 78,
12663 45e0, 45e1, 45e2, 45e3, imax(u16) - 81, imax(u16) - 80, 46e0, 46e1,
12664 });
12665
12666 try testArgs(@Vector(1, f32), @Vector(1, i32), .{
12667 imin(i32),
12668 });
12669 try testArgs(@Vector(2, f32), @Vector(2, i32), .{
12670 imin(i32) + 1, -1e9,
12671 });
12672 try testArgs(@Vector(4, f32), @Vector(4, i32), .{
12673 -1e8, -1e7, -1e6, -1e5,
12674 });
12675 try testArgs(@Vector(8, f32), @Vector(8, i32), .{
12676 -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1,
12677 });
12678 try testArgs(@Vector(16, f32), @Vector(16, i32), .{
12679 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
12680 imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6,
12681 });
12682 try testArgs(@Vector(32, f32), @Vector(32, i32), .{
12683 -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1,
12684 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9,
12685 imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5,
12686 -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2,
12687 });
12688 try testArgs(@Vector(64, f32), @Vector(64, i32), .{
12689 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4,
12690 imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3,
12691 -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4,
12692 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9,
12693 -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1,
12694 -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6,
12695 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7,
12696 -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0,
12697 });
12698 try testArgs(@Vector(128, f32), @Vector(128, i32), .{
12699 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, 6e7, 6e8,
12700 imax(i32) - 11, imax(i32) - 10, imin(i32) + 12, imin(i32) + 13, -7e8, -7e7, -7e6, -7e5,
12701 -7e4, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, 7e2,
12702 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, imax(i32) - 13, imax(i32) - 12,
12703 imin(i32) + 14, imin(i32) + 15, -8e8, -8e7, -8e6, -8e5, -8e4, -8e3,
12704 -8e2, -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, 8e4,
12705 8e5, 8e6, 8e7, 8e8, imax(i32) - 15, imax(i32) - 14, imin(i32) + 16, imin(i32) + 17,
12706 -9e8, -9e7, -9e6, -9e5, -9e4, -9e3, -9e2, -9e1,
12707 -9e0, 9e0, 9e1, 9e2, 9e3, 9e4, 9e5, 9e6,
12708 9e7, 9e8, imax(i32) - 17, imax(i32) - 16, imin(i32) + 18, imin(i32) + 19, -11e8, -11e7,
12709 -11e6, -11e5, -11e4, -11e3, -11e2, -11e1, -11e0, 11e0,
12710 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, 11e8,
12711 imax(i32) - 19, imax(i32) - 18, imin(i32) + 20, imin(i32) + 21, -12e8, -12e7, -12e6, -12e5,
12712 -12e4, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, 12e2,
12713 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, imax(i32) - 21, imax(i32) - 20,
12714 imin(i32) + 22, imin(i32) + 23, -13e8, -13e7, -13e6, -13e5, -13e4, -13e3,
12715 });
12716
12717 try testArgs(@Vector(1, f32), @Vector(1, u32), .{
12718 0,
12719 });
12720 try testArgs(@Vector(2, f32), @Vector(2, u32), .{
12721 1e0, 1e1,
12722 });
12723 try testArgs(@Vector(4, f32), @Vector(4, u32), .{
12724 1e2, 1e3, 1e4, imax(u32) - 1,
12725 });
12726 try testArgs(@Vector(8, f32), @Vector(8, u32), .{
12727 imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2,
12728 });
12729 try testArgs(@Vector(16, f32), @Vector(16, u32), .{
12730 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0,
12731 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1,
12732 });
12733 try testArgs(@Vector(32, f32), @Vector(32, u32), .{
12734 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2,
12735 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3,
12736 imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14,
12737 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1,
12738 });
12739 try testArgs(@Vector(64, f32), @Vector(64, u32), .{
12740 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3,
12741 imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22,
12742 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1,
12743 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3,
12744 imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30,
12745 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1,
12746 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3,
12747 imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38,
12748 });
12749 try testArgs(@Vector(128, f32), @Vector(128, u32), .{
12750 23e0, 23e1, 23e2, 23e3, imax(u32) - 41, imax(u32) - 40, 24e0, 24e1,
12751 24e2, 24e3, imax(u32) - 43, imax(u32) - 42, 25e0, 25e1, 25e2, 25e3,
12752 imax(u32) - 45, imax(u32) - 44, 26e0, 26e1, 26e2, 26e3, imax(u32) - 47, imax(u32) - 46,
12753 27e0, 27e1, 27e2, 27e3, imax(u32) - 49, imax(u32) - 48, 28e0, 28e1,
12754 28e2, 28e3, imax(u32) - 51, imax(u32) - 50, 29e0, 29e1, 29e2, 29e3,
12755 imax(u32) - 53, imax(u32) - 52, 31e0, 31e1, 31e2, 31e3, imax(u32) - 55, imax(u32) - 54,
12756 32e0, 32e1, 32e2, 32e3, imax(u32) - 57, imax(u32) - 56, 33e0, 33e1,
12757 33e2, 33e3, imax(u32) - 59, imax(u32) - 58, 34e0, 34e1, 34e2, 34e3,
12758 imax(u32) - 61, imax(u32) - 60, 35e0, 35e1, 35e2, 35e3, imax(u32) - 63, imax(u32) - 62,
12759 36e0, 36e1, 36e2, 36e3, imax(u32) - 65, imax(u32) - 64, 37e0, 37e1,
12760 37e2, 37e3, imax(u32) - 67, imax(u32) - 66, 38e0, 38e1, 38e2, 38e3,
12761 imax(u32) - 69, imax(u32) - 68, 39e0, 39e1, 39e2, 39e3, imax(u32) - 71, imax(u32) - 70,
12762 41e0, 41e1, 41e2, 41e3, imax(u32) - 73, imax(u32) - 72, 42e0, 42e1,
12763 42e2, 42e3, imax(u32) - 75, imax(u32) - 74, 43e0, 43e1, 43e2, 43e3,
12764 imax(u32) - 77, imax(u32) - 76, 44e0, 44e1, 44e2, 44e3, imax(u32) - 79, imax(u32) - 78,
12765 45e0, 45e1, 45e2, 45e3, imax(u32) - 81, imax(u32) - 80, 46e0, 46e1,
12766 });
12767
12768 try testArgs(@Vector(1, f32), @Vector(1, i64), .{
12769 imin(i64),
12770 });
12771 try testArgs(@Vector(2, f32), @Vector(2, i64), .{
12772 imin(i64) + 1, -1e18,
12773 });
12774 try testArgs(@Vector(4, f32), @Vector(4, i64), .{
12775 -1e17, -1e16, -1e15, -1e14,
12776 });
12777 try testArgs(@Vector(8, f32), @Vector(8, i64), .{
12778 -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6,
12779 });
12780 try testArgs(@Vector(16, f32), @Vector(16, i64), .{
12781 -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0,
12782 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8,
12783 });
12784 try testArgs(@Vector(32, f32), @Vector(32, i64), .{
12785 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16,
12786 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17,
12787 -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9,
12788 -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1,
12789 });
12790 try testArgs(@Vector(64, f32), @Vector(64, i64), .{
12791 -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6,
12792 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14,
12793 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5,
12794 -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11,
12795 -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3,
12796 -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4,
12797 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12,
12798 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4,
12799 });
12800 try testArgs(@Vector(128, f32), @Vector(128, i64), .{
12801 imin(i64) + 6, imin(i64) + 7, -4e18, -4e17, -4e16, -4e15, -4e14, -4e13,
12802 -4e12, -4e11, -4e10, -4e9, -4e8, -4e7, -4e6, -4e5,
12803 -4e4, -4e3, -4e2, -4e1, -4e0, 4e0, 4e1, 4e2,
12804 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10,
12805 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18,
12806 imax(i64) - 7, imax(i64) - 6, imin(i64) + 8, imin(i64) + 9, -5e18, -5e17, -5e16, -5e15,
12807 -5e14, -5e13, -5e12, -5e11, -5e10, -5e9, -5e8, -5e7,
12808 -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, -5e0, 5e0,
12809 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8,
12810 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16,
12811 5e17, 5e18, imax(i64) - 9, imax(i64) - 8, imin(i64) + 10, imin(i64) + 11, -6e18, -6e17,
12812 -6e16, -6e15, -6e14, -6e13, -6e12, -6e11, -6e10, -6e9,
12813 -6e8, -6e7, -6e6, -6e5, -6e4, -6e3, -6e2, -6e1,
12814 -6e0, 6e0, 6e1, 6e2, 6e3, 6e4, 6e5, 6e6,
12815 6e7, 6e8, 6e9, 6e10, 6e11, 6e12, 6e13, 6e14,
12816 6e15, 6e16, 6e17, 6e18, imax(i64) - 11, imax(i64) - 10, imin(i64) + 12, imin(i64) + 13,
12817 });
12818
12819 try testArgs(@Vector(1, f32), @Vector(1, u64), .{
12820 0,
12821 });
12822 try testArgs(@Vector(2, f32), @Vector(2, u64), .{
12823 1e0, 1e1,
12824 });
12825 try testArgs(@Vector(4, f32), @Vector(4, u64), .{
12826 1e2, 1e3, 1e4, 1e5,
12827 });
12828 try testArgs(@Vector(8, f32), @Vector(8, u64), .{
12829 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
12830 });
12831 try testArgs(@Vector(16, f32), @Vector(16, u64), .{
12832 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64),
12833 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7,
12834 });
12835 try testArgs(@Vector(32, f32), @Vector(32, u64), .{
12836 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15,
12837 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2,
12838 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10,
12839 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18,
12840 });
12841 try testArgs(@Vector(64, f32), @Vector(64, u64), .{
12842 imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5,
12843 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13,
12844 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0,
12845 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8,
12846 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16,
12847 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3,
12848 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11,
12849 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11,
12850 });
12851 try testArgs(@Vector(128, f32), @Vector(128, u64), .{
12852 imax(u64) - 10, 7e0, 7e1, 7e2, 7e3, 7e4, 7e5, 7e6,
12853 7e7, 7e8, 7e9, 7e10, 7e11, 7e12, 7e13, 7e14,
12854 7e15, 7e16, 7e17, 7e18, imax(u64) - 13, imax(u64) - 12, 8e0, 8e1,
12855 8e2, 8e3, 8e4, 8e5, 8e6, 8e7, 8e8, 8e9,
12856 8e10, 8e11, 8e12, 8e13, 8e14, 8e15, 8e16, 8e17,
12857 8e18, imax(u64) - 15, imax(u64) - 14, 9e0, 9e1, 9e2, 9e3, 9e4,
12858 9e5, 9e6, 9e7, 9e8, 9e9, 9e10, 9e11, 9e12,
12859 9e13, 9e14, 9e15, 9e16, 9e17, 9e18, imax(u64) - 17, imax(u64) - 16,
12860 11e0, 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7,
12861 11e8, 11e9, 11e10, 11e11, 11e12, 11e13, 11e14, 11e15,
12862 11e16, 11e17, 11e18, imax(u64) - 19, imax(u64) - 18, 12e0, 12e1, 12e2,
12863 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, 12e9, 12e10,
12864 12e11, 12e12, 12e13, 12e14, 12e15, 12e16, 12e17, 12e18,
12865 imax(u64) - 21, imax(u64) - 20, 13e0, 13e1, 13e2, 13e3, 13e4, 13e5,
12866 13e6, 13e7, 13e8, 13e9, 13e10, 13e11, 13e12, 13e13,
12867 13e14, 13e15, 13e16, 13e17, 13e18, imax(u64) - 23, imax(u64) - 22, 14e0,
12868 });
12869
12870 try testArgs(@Vector(1, f32), @Vector(1, i128), .{
12871 imin(i128),
12872 });
12873 try testArgs(@Vector(2, f32), @Vector(2, i128), .{
12874 imin(i128) + 1, -1e38,
12875 });
12876 try testArgs(@Vector(4, f32), @Vector(4, i128), .{
12877 -1e37, -1e36, -1e35, -1e34,
12878 });
12879 try testArgs(@Vector(8, f32), @Vector(8, i128), .{
12880 -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26,
12881 });
12882 try testArgs(@Vector(16, f32), @Vector(16, i128), .{
12883 -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18,
12884 -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10,
12885 });
12886 try testArgs(@Vector(32, f32), @Vector(32, i128), .{
12887 -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2,
12888 -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4,
12889 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12,
12890 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20,
12891 });
12892 try testArgs(@Vector(64, f32), @Vector(64, i128), .{
12893 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28,
12894 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36,
12895 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36,
12896 -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28,
12897 -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20,
12898 -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12,
12899 -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4,
12900 -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3,
12901 });
12902 try testArgs(@Vector(128, f32), @Vector(128, i128), .{
12903 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11,
12904 2e12, 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19,
12905 2e20, 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27,
12906 2e28, 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35,
12907 2e36, 2e37, imax(i128) - 3, imax(i128) - 2, imin(i128) + 4, imin(i128) + 5, -3e37, -3e36,
12908 -3e35, -3e34, -3e33, -3e32, -3e31, -3e30, -3e29, -3e28,
12909 -3e27, -3e26, -3e25, -3e24, -3e23, -3e22, -3e21, -3e20,
12910 -3e19, -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12,
12911 -3e11, -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4,
12912 -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3,
12913 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11,
12914 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19,
12915 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27,
12916 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35,
12917 3e36, 3e37, imax(i128) - 5, imax(i128) - 4, imin(i128) + 6, imin(i128) + 7, -4e37, -4e36,
12918 -4e35, -4e34, -4e33, -4e32, -4e31, -4e30, -4e29, -4e28,
12919 });
12920
12921 try testArgs(@Vector(1, f32), @Vector(1, u128), .{
12922 0,
12923 });
12924 try testArgs(@Vector(2, f32), @Vector(2, u128), .{
12925 1e0, 1e1,
12926 });
12927 try testArgs(@Vector(4, f32), @Vector(4, u128), .{
12928 1e2, 1e3, 1e4, 1e5,
12929 });
12930 try testArgs(@Vector(8, f32), @Vector(8, u128), .{
12931 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
12932 });
12933 try testArgs(@Vector(16, f32), @Vector(16, u128), .{
12934 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21,
12935 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29,
12936 });
12937 try testArgs(@Vector(32, f32), @Vector(32, u128), .{
12938 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37,
12939 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4,
12940 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12,
12941 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20,
12942 });
12943 try testArgs(@Vector(64, f32), @Vector(64, u128), .{
12944 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28,
12945 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36,
12946 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3,
12947 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11,
12948 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19,
12949 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27,
12950 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35,
12951 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2,
12952 });
12953 try testArgs(@Vector(128, f32), @Vector(128, u128), .{
12954 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10,
12955 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18,
12956 4e19, 4e20, 4e21, 4e22, 4e23, 4e24, 4e25, 4e26,
12957 4e27, 4e28, 4e29, 4e30, 4e31, 4e32, 4e33, 4e34,
12958 4e35, 4e36, 4e37, imax(u128) - 7, imax(u128) - 6, 5e0, 5e1, 5e2,
12959 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, 5e9, 5e10,
12960 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, 5e17, 5e18,
12961 5e19, 5e20, 5e21, 5e22, 5e23, 5e24, 5e25, 5e26,
12962 5e27, 5e28, 5e29, 5e30, 5e31, 5e32, 5e33, 5e34,
12963 5e35, 5e36, 5e37, imax(u128) - 9, imax(u128) - 8, 6e0, 6e1, 6e2,
12964 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10,
12965 6e11, 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18,
12966 6e19, 6e20, 6e21, 6e22, 6e23, 6e24, 6e25, 6e26,
12967 6e27, 6e28, 6e29, 6e30, 6e31, 6e32, 6e33, 6e34,
12968 6e35, 6e36, 6e37, imax(u128) - 11, imax(u128) - 10, 7e0, 7e1, 7e2,
12969 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, 7e9, 7e10,
12970 });
12971
12972 try testArgs(@Vector(1, f32), @Vector(1, i256), .{
12973 imin(i256),
12974 });
12975 try testArgs(@Vector(2, f32), @Vector(2, i256), .{
12976 imin(i256) + 1, -1e76,
12977 });
12978 try testArgs(@Vector(4, f32), @Vector(4, i256), .{
12979 -1e75, -1e74, -1e73, -1e72,
12980 });
12981 try testArgs(@Vector(8, f32), @Vector(8, i256), .{
12982 -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64,
12983 });
12984 try testArgs(@Vector(16, f32), @Vector(16, i256), .{
12985 -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56,
12986 -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48,
12987 });
12988 try testArgs(@Vector(32, f32), @Vector(32, i256), .{
12989 -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40,
12990 -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32,
12991 -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24,
12992 -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16,
12993 });
12994 try testArgs(@Vector(64, f32), @Vector(64, i256), .{
12995 -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8,
12996 -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0,
12997 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6,
12998 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14,
12999 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22,
13000 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30,
13001 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38,
13002 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46,
13003 });
13004 try testArgs(@Vector(128, f32), @Vector(128, i256), .{
13005 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, 1e54,
13006 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, 1e62,
13007 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, 1e70,
13008 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, imax(i256) - 1, imax(i256),
13009 imin(i256) + 2, imin(i256) + 3, -2e76, -2e75, -2e74, -2e73, -2e72, -2e71,
13010 -2e70, -2e69, -2e68, -2e67, -2e66, -2e65, -2e64, -2e63,
13011 -2e62, -2e61, -2e60, -2e59, -2e58, -2e57, -2e56, -2e55,
13012 -2e54, -2e53, -2e52, -2e51, -2e50, -2e49, -2e48, -2e47,
13013 -2e46, -2e45, -2e44, -2e43, -2e42, -2e41, -2e40, -2e39,
13014 -2e38, -2e37, -2e36, -2e35, -2e34, -2e33, -2e32, -2e31,
13015 -2e30, -2e29, -2e28, -2e27, -2e26, -2e25, -2e24, -2e23,
13016 -2e22, -2e21, -2e20, -2e19, -2e18, -2e17, -2e16, -2e15,
13017 -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, -2e8, -2e7,
13018 -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0,
13019 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8,
13020 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, 2e16,
13021 });
13022
13023 try testArgs(@Vector(1, f32), @Vector(1, u256), .{
13024 0,
13025 });
13026 try testArgs(@Vector(2, f32), @Vector(2, u256), .{
13027 1e0, 1e1,
13028 });
13029 try testArgs(@Vector(4, f32), @Vector(4, u256), .{
13030 1e2, 1e3, 1e4, 1e5,
13031 });
13032 try testArgs(@Vector(8, f32), @Vector(8, u256), .{
13033 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
13034 });
13035 try testArgs(@Vector(16, f32), @Vector(16, u256), .{
13036 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21,
13037 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29,
13038 });
13039 try testArgs(@Vector(32, f32), @Vector(32, u256), .{
13040 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37,
13041 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45,
13042 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53,
13043 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61,
13044 });
13045 try testArgs(@Vector(64, f32), @Vector(64, u256), .{
13046 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69,
13047 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77,
13048 imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5,
13049 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13,
13050 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21,
13051 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29,
13052 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37,
13053 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45,
13054 });
13055 try testArgs(@Vector(128, f32), @Vector(128, u256), .{
13056 2e46, 2e47, 2e48, 2e49, 2e50, 2e51, 2e52, 2e53,
13057 2e54, 2e55, 2e56, 2e57, 2e58, 2e59, 2e60, 2e61,
13058 2e62, 2e63, 2e64, 2e65, 2e66, 2e67, 2e68, 2e69,
13059 2e70, 2e71, 2e72, 2e73, 2e74, 2e75, 2e76, imax(u256) - 3,
13060 imax(u256) - 2, 3e0, 3e1, 3e2, 3e3, 3e4, 3e5, 3e6,
13061 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, 3e13, 3e14,
13062 3e15, 3e16, 3e17, 3e18, 3e19, 3e20, 3e21, 3e22,
13063 3e23, 3e24, 3e25, 3e26, 3e27, 3e28, 3e29, 3e30,
13064 3e31, 3e32, 3e33, 3e34, 3e35, 3e36, 3e37, 3e38,
13065 3e39, 3e40, 3e41, 3e42, 3e43, 3e44, 3e45, 3e46,
13066 3e47, 3e48, 3e49, 3e50, 3e51, 3e52, 3e53, 3e54,
13067 3e55, 3e56, 3e57, 3e58, 3e59, 3e60, 3e61, 3e62,
13068 3e63, 3e64, 3e65, 3e66, 3e67, 3e68, 3e69, 3e70,
13069 3e71, 3e72, 3e73, 3e74, 3e75, 3e76, imax(u256) - 5, imax(u256) - 4,
13070 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, 4e6, 4e7,
13071 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, 4e14, 4e15,
13072 });
13073
13074 try testArgs(@Vector(1, f64), @Vector(1, i8), .{
13075 imin(i8),
13076 });
13077 try testArgs(@Vector(2, f64), @Vector(2, i8), .{
13078 imin(i8) + 1, -1e2,
13079 });
13080 try testArgs(@Vector(4, f64), @Vector(4, i8), .{
13081 -1e1, -1e0, 0, 1e0,
13082 });
13083 try testArgs(@Vector(8, f64), @Vector(8, i8), .{
13084 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0,
13085 });
13086 try testArgs(@Vector(16, f64), @Vector(16, i8), .{
13087 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0,
13088 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0,
13089 });
13090 try testArgs(@Vector(32, f64), @Vector(32, i8), .{
13091 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0,
13092 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0,
13093 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0,
13094 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0,
13095 });
13096 try testArgs(@Vector(64, f64), @Vector(64, i8), .{
13097 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0,
13098 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0,
13099 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0,
13100 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0,
13101 imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24,
13102 imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29,
13103 -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0,
13104 imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32,
13105 });
13106 try testArgs(@Vector(128, f64), @Vector(128, i8), .{
13107 imin(i8) + 34, imin(i8) + 35, -19e0, 19e0, imax(i8) - 35, imax(i8) - 34, imin(i8) + 36, imin(i8) + 37,
13108 -21e0, 21e0, imax(i8) - 37, imax(i8) - 36, imin(i8) + 38, imin(i8) + 39, -22e0, 22e0,
13109 imax(i8) - 39, imax(i8) - 38, imin(i8) + 40, imin(i8) + 41, -23e0, 23e0, imax(i8) - 41, imax(i8) - 40,
13110 imin(i8) + 42, imin(i8) + 43, -24e0, 24e0, imax(i8) - 43, imax(i8) - 42, imin(i8) + 44, imin(i8) + 45,
13111 -25e0, 25e0, imax(i8) - 45, imax(i8) - 44, imin(i8) + 46, imin(i8) + 47, -26e0, 26e0,
13112 imax(i8) - 47, imax(i8) - 46, imin(i8) + 48, imin(i8) + 49, -27e0, 27e0, imax(i8) - 49, imax(i8) - 48,
13113 imin(i8) + 50, imin(i8) + 51, -28e0, 28e0, imax(i8) - 51, imax(i8) - 50, imin(i8) + 52, imin(i8) + 53,
13114 -29e0, 29e0, imax(i8) - 53, imax(i8) - 52, imin(i8) + 54, imin(i8) + 55, -31e0, 31e0,
13115 imax(i8) - 55, imax(i8) - 54, imin(i8) + 56, imin(i8) + 57, -32e0, 32e0, imax(i8) - 57, imax(i8) - 56,
13116 imin(i8) + 58, imin(i8) + 59, -33e0, 33e0, imax(i8) - 59, imax(i8) - 58, imin(i8) + 60, imin(i8) + 61,
13117 -34e0, 34e0, imax(i8) - 61, imax(i8) - 60, imin(i8) + 62, imin(i8) + 63, -35e0, 35e0,
13118 imax(i8) - 63, imax(i8) - 62, imin(i8) + 64, imin(i8) + 65, -36e0, 36e0, imax(i8) - 65, imax(i8) - 64,
13119 imin(i8) + 66, imin(i8) + 67, -37e0, 37e0, imax(i8) - 67, imax(i8) - 66, imin(i8) + 68, imin(i8) + 69,
13120 -38e0, 38e0, imax(i8) - 69, imax(i8) - 68, imin(i8) + 70, imin(i8) + 71, -39e0, 39e0,
13121 imax(i8) - 71, imax(i8) - 70, imin(i8) + 72, imin(i8) + 73, -41e0, 41e0, imax(i8) - 73, imax(i8) - 72,
13122 imin(i8) + 74, imin(i8) + 75, -42e0, 42e0, imax(i8) - 75, imax(i8) - 74, imin(i8) + 76, imin(i8) + 77,
13123 });
13124
13125 try testArgs(@Vector(1, f64), @Vector(1, u8), .{
13126 0,
13127 });
13128 try testArgs(@Vector(2, f64), @Vector(2, u8), .{
13129 1e0, 1e1,
13130 });
13131 try testArgs(@Vector(4, f64), @Vector(4, u8), .{
13132 1e2, imax(u8) - 1, imax(u8), 2e0,
13133 });
13134 try testArgs(@Vector(8, f64), @Vector(8, u8), .{
13135 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4,
13136 });
13137 try testArgs(@Vector(16, f64), @Vector(16, u8), .{
13138 imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1,
13139 imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1,
13140 });
13141 try testArgs(@Vector(32, f64), @Vector(32, u8), .{
13142 imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1,
13143 imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1,
13144 imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1,
13145 imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1,
13146 });
13147 try testArgs(@Vector(64, f64), @Vector(64, u8), .{
13148 imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1,
13149 imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1,
13150 imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1,
13151 imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47,
13152 imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0,
13153 imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56,
13154 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63,
13155 imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0,
13156 });
13157 try testArgs(@Vector(128, f64), @Vector(128, u8), .{
13158 imax(u8) - 69, imax(u8) - 68, 39e0, imax(u8) - 71, imax(u8) - 70, 41e0, imax(u8) - 73, imax(u8) - 72,
13159 42e0, imax(u8) - 75, imax(u8) - 74, 43e0, imax(u8) - 77, imax(u8) - 76, 44e0, imax(u8) - 79,
13160 imax(u8) - 78, 45e0, imax(u8) - 81, imax(u8) - 80, 46e0, imax(u8) - 83, imax(u8) - 82, 47e0,
13161 imax(u8) - 85, imax(u8) - 84, 48e0, imax(u8) - 87, imax(u8) - 86, 49e0, imax(u8) - 89, imax(u8) - 88,
13162 51e0, imax(u8) - 91, imax(u8) - 90, 52e0, imax(u8) - 93, imax(u8) - 92, 53e0, imax(u8) - 95,
13163 imax(u8) - 94, 54e0, imax(u8) - 97, imax(u8) - 96, 55e0, imax(u8) - 99, imax(u8) - 98, 56e0,
13164 imax(u8) - 101, imax(u8) - 100, 57e0, imax(u8) - 103, imax(u8) - 102, 58e0, imax(u8) - 105, imax(u8) - 104,
13165 59e0, imax(u8) - 107, imax(u8) - 106, 61e0, imax(u8) - 109, imax(u8) - 108, 62e0, imax(u8) - 111,
13166 imax(u8) - 110, 63e0, imax(u8) - 113, imax(u8) - 112, 64e0, imax(u8) - 115, imax(u8) - 114, 65e0,
13167 imax(u8) - 117, imax(u8) - 116, 66e0, imax(u8) - 119, imax(u8) - 118, 67e0, imax(u8) - 121, imax(u8) - 120,
13168 68e0, imax(u8) - 123, imax(u8) - 122, 69e0, imax(u8) - 125, imax(u8) - 124, 71e0, imax(u8) - 127,
13169 imax(u8) - 126, 72e0, imax(u8) - 129, imax(u8) - 128, 73e0, imax(u8) - 131, imax(u8) - 130, 74e0,
13170 imax(u8) - 133, imax(u8) - 132, 75e0, imax(u8) - 135, imax(u8) - 134, 76e0, imax(u8) - 137, imax(u8) - 136,
13171 77e0, imax(u8) - 139, imax(u8) - 138, 78e0, imax(u8) - 141, imax(u8) - 140, 79e0, imax(u8) - 143,
13172 imax(u8) - 142, 81e0, imax(u8) - 145, imax(u8) - 144, 82e0, imax(u8) - 147, imax(u8) - 146, 83e0,
13173 imax(u8) - 149, imax(u8) - 148, 84e0, imax(u8) - 151, imax(u8) - 150, 85e0, imax(u8) - 153, imax(u8) - 152,
13174 });
13175
13176 try testArgs(@Vector(1, f64), @Vector(1, i16), .{
13177 imin(i16),
13178 });
13179 try testArgs(@Vector(2, f64), @Vector(2, i16), .{
13180 imin(i16) + 1, -1e4,
13181 });
13182 try testArgs(@Vector(4, f64), @Vector(4, i16), .{
13183 -1e3, -1e2, -1e1, -1e0,
13184 });
13185 try testArgs(@Vector(8, f64), @Vector(8, i16), .{
13186 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16),
13187 });
13188 try testArgs(@Vector(16, f64), @Vector(16, i16), .{
13189 imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0,
13190 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5,
13191 });
13192 try testArgs(@Vector(32, f64), @Vector(32, i16), .{
13193 -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2,
13194 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2,
13195 -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6,
13196 imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1,
13197 });
13198 try testArgs(@Vector(64, f64), @Vector(64, i16), .{
13199 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2,
13200 -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10,
13201 imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1,
13202 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2,
13203 -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14,
13204 imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1,
13205 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2,
13206 -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18,
13207 });
13208 try testArgs(@Vector(128, f64), @Vector(128, i16), .{
13209 imin(i16) + 20, imin(i16) + 21, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1,
13210 12e2, 12e3, imax(i16) - 21, imax(i16) - 20, imin(i16) + 22, imin(i16) + 23, -13e3, -13e2,
13211 -13e1, -13e0, 13e0, 13e1, 13e2, 13e3, imax(i16) - 23, imax(i16) - 22,
13212 imin(i16) + 24, imin(i16) + 25, -14e3, -14e2, -14e1, -14e0, 14e0, 14e1,
13213 14e2, 14e3, imax(i16) - 25, imax(i16) - 24, imin(i16) + 26, imin(i16) + 27, -15e3, -15e2,
13214 -15e1, -15e0, 15e0, 15e1, 15e2, 15e3, imax(i16) - 27, imax(i16) - 26,
13215 imin(i16) + 28, imin(i16) + 29, -16e3, -16e2, -16e1, -16e0, 16e0, 16e1,
13216 16e2, 16e3, imax(i16) - 29, imax(i16) - 28, imin(i16) + 30, imin(i16) + 31, -17e3, -17e2,
13217 -17e1, -17e0, 17e0, 17e1, 17e2, 17e3, imax(i16) - 31, imax(i16) - 30,
13218 imin(i16) + 32, imin(i16) + 33, -18e3, -18e2, -18e1, -18e0, 18e0, 18e1,
13219 18e2, 18e3, imax(i16) - 33, imax(i16) - 32, imin(i16) + 34, imin(i16) + 35, -19e3, -19e2,
13220 -19e1, -19e0, 19e0, 19e1, 19e2, 19e3, imax(i16) - 35, imax(i16) - 34,
13221 imin(i16) + 36, imin(i16) + 37, -12e3, -21e2, -21e1, -21e0, 21e0, 21e1,
13222 21e2, 21e3, imax(i16) - 37, imax(i16) - 36, imin(i16) + 38, imin(i16) + 39, -22e3, -22e2,
13223 -22e1, -22e0, 22e0, 22e1, 22e2, 22e3, imax(i16) - 39, imax(i16) - 38,
13224 imin(i16) + 40, imin(i16) + 41, -23e3, -23e2, -23e1, -23e0, 23e0, 23e1,
13225 });
13226
13227 try testArgs(@Vector(1, f64), @Vector(1, u16), .{
13228 0,
13229 });
13230 try testArgs(@Vector(2, f64), @Vector(2, u16), .{
13231 1e0, 1e1,
13232 });
13233 try testArgs(@Vector(4, f64), @Vector(4, u16), .{
13234 1e2, 1e3, 1e4, imax(u16) - 1,
13235 });
13236 try testArgs(@Vector(8, f64), @Vector(8, u16), .{
13237 imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2,
13238 });
13239 try testArgs(@Vector(16, f64), @Vector(16, u16), .{
13240 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0,
13241 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1,
13242 });
13243 try testArgs(@Vector(32, f64), @Vector(32, u16), .{
13244 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2,
13245 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3,
13246 imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14,
13247 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1,
13248 });
13249 try testArgs(@Vector(64, f64), @Vector(64, u16), .{
13250 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3,
13251 imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22,
13252 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1,
13253 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3,
13254 imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30,
13255 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1,
13256 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3,
13257 imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38,
13258 });
13259 try testArgs(@Vector(128, f64), @Vector(128, u16), .{
13260 23e0, 23e1, 23e2, 23e3, imax(u16) - 41, imax(u16) - 40, 24e0, 24e1,
13261 24e2, 24e3, imax(u16) - 43, imax(u16) - 42, 25e0, 25e1, 25e2, 25e3,
13262 imax(u16) - 45, imax(u16) - 44, 26e0, 26e1, 26e2, 26e3, imax(u16) - 47, imax(u16) - 46,
13263 27e0, 27e1, 27e2, 27e3, imax(u16) - 49, imax(u16) - 48, 28e0, 28e1,
13264 28e2, 28e3, imax(u16) - 51, imax(u16) - 50, 29e0, 29e1, 29e2, 29e3,
13265 imax(u16) - 53, imax(u16) - 52, 31e0, 31e1, 31e2, 31e3, imax(u16) - 55, imax(u16) - 54,
13266 32e0, 32e1, 32e2, 32e3, imax(u16) - 57, imax(u16) - 56, 33e0, 33e1,
13267 33e2, 33e3, imax(u16) - 59, imax(u16) - 58, 34e0, 34e1, 34e2, 34e3,
13268 imax(u16) - 61, imax(u16) - 60, 35e0, 35e1, 35e2, 35e3, imax(u16) - 63, imax(u16) - 62,
13269 36e0, 36e1, 36e2, 36e3, imax(u16) - 65, imax(u16) - 64, 37e0, 37e1,
13270 37e2, 37e3, imax(u16) - 67, imax(u16) - 66, 38e0, 38e1, 38e2, 38e3,
13271 imax(u16) - 69, imax(u16) - 68, 39e0, 39e1, 39e2, 39e3, imax(u16) - 71, imax(u16) - 70,
13272 41e0, 41e1, 41e2, 41e3, imax(u16) - 73, imax(u16) - 72, 42e0, 42e1,
13273 42e2, 42e3, imax(u16) - 75, imax(u16) - 74, 43e0, 43e1, 43e2, 43e3,
13274 imax(u16) - 77, imax(u16) - 76, 44e0, 44e1, 44e2, 44e3, imax(u16) - 79, imax(u16) - 78,
13275 45e0, 45e1, 45e2, 45e3, imax(u16) - 81, imax(u16) - 80, 46e0, 46e1,
13276 });
13277
13278 try testArgs(@Vector(1, f64), @Vector(1, i32), .{
13279 imin(i32),
13280 });
13281 try testArgs(@Vector(2, f64), @Vector(2, i32), .{
13282 imin(i32) + 1, -1e9,
13283 });
13284 try testArgs(@Vector(4, f64), @Vector(4, i32), .{
13285 -1e8, -1e7, -1e6, -1e5,
13286 });
13287 try testArgs(@Vector(8, f64), @Vector(8, i32), .{
13288 -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1,
13289 });
13290 try testArgs(@Vector(16, f64), @Vector(16, i32), .{
13291 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
13292 imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6,
13293 });
13294 try testArgs(@Vector(32, f64), @Vector(32, i32), .{
13295 -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1,
13296 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9,
13297 imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5,
13298 -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2,
13299 });
13300 try testArgs(@Vector(64, f64), @Vector(64, i32), .{
13301 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4,
13302 imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3,
13303 -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4,
13304 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9,
13305 -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1,
13306 -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6,
13307 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7,
13308 -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0,
13309 });
13310 try testArgs(@Vector(128, f64), @Vector(128, i32), .{
13311 6e1, 6e2, 6e3, 6e4, 6e5, 6e6, 6e7, 6e8,
13312 imax(i32) - 11, imax(i32) - 10, imin(i32) + 12, imin(i32) + 13, -7e8, -7e7, -7e6, -7e5,
13313 -7e4, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1, 7e2,
13314 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, imax(i32) - 13, imax(i32) - 12,
13315 imin(i32) + 14, imin(i32) + 15, -8e8, -8e7, -8e6, -8e5, -8e4, -8e3,
13316 -8e2, -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, 8e4,
13317 8e5, 8e6, 8e7, 8e8, imax(i32) - 15, imax(i32) - 14, imin(i32) + 16, imin(i32) + 17,
13318 -9e8, -9e7, -9e6, -9e5, -9e4, -9e3, -9e2, -9e1,
13319 -9e0, 9e0, 9e1, 9e2, 9e3, 9e4, 9e5, 9e6,
13320 9e7, 9e8, imax(i32) - 17, imax(i32) - 16, imin(i32) + 18, imin(i32) + 19, -11e8, -11e7,
13321 -11e6, -11e5, -11e4, -11e3, -11e2, -11e1, -11e0, 11e0,
13322 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7, 11e8,
13323 imax(i32) - 19, imax(i32) - 18, imin(i32) + 20, imin(i32) + 21, -12e8, -12e7, -12e6, -12e5,
13324 -12e4, -12e3, -12e2, -12e1, -12e0, 12e0, 12e1, 12e2,
13325 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, imax(i32) - 21, imax(i32) - 20,
13326 imin(i32) + 22, imin(i32) + 23, -13e8, -13e7, -13e6, -13e5, -13e4, -13e3,
13327 });
13328
13329 try testArgs(@Vector(1, f64), @Vector(1, u32), .{
13330 0,
13331 });
13332 try testArgs(@Vector(2, f64), @Vector(2, u32), .{
13333 1e0, 1e1,
13334 });
13335 try testArgs(@Vector(4, f64), @Vector(4, u32), .{
13336 1e2, 1e3, 1e4, imax(u32) - 1,
13337 });
13338 try testArgs(@Vector(8, f64), @Vector(8, u32), .{
13339 imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2,
13340 });
13341 try testArgs(@Vector(16, f64), @Vector(16, u32), .{
13342 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0,
13343 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1,
13344 });
13345 try testArgs(@Vector(32, f64), @Vector(32, u32), .{
13346 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2,
13347 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3,
13348 imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14,
13349 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1,
13350 });
13351 try testArgs(@Vector(64, f64), @Vector(64, u32), .{
13352 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3,
13353 imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22,
13354 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1,
13355 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3,
13356 imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30,
13357 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1,
13358 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3,
13359 imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38,
13360 });
13361 try testArgs(@Vector(128, f64), @Vector(128, u32), .{
13362 23e0, 23e1, 23e2, 23e3, imax(u32) - 41, imax(u32) - 40, 24e0, 24e1,
13363 24e2, 24e3, imax(u32) - 43, imax(u32) - 42, 25e0, 25e1, 25e2, 25e3,
13364 imax(u32) - 45, imax(u32) - 44, 26e0, 26e1, 26e2, 26e3, imax(u32) - 47, imax(u32) - 46,
13365 27e0, 27e1, 27e2, 27e3, imax(u32) - 49, imax(u32) - 48, 28e0, 28e1,
13366 28e2, 28e3, imax(u32) - 51, imax(u32) - 50, 29e0, 29e1, 29e2, 29e3,
13367 imax(u32) - 53, imax(u32) - 52, 31e0, 31e1, 31e2, 31e3, imax(u32) - 55, imax(u32) - 54,
13368 32e0, 32e1, 32e2, 32e3, imax(u32) - 57, imax(u32) - 56, 33e0, 33e1,
13369 33e2, 33e3, imax(u32) - 59, imax(u32) - 58, 34e0, 34e1, 34e2, 34e3,
13370 imax(u32) - 61, imax(u32) - 60, 35e0, 35e1, 35e2, 35e3, imax(u32) - 63, imax(u32) - 62,
13371 36e0, 36e1, 36e2, 36e3, imax(u32) - 65, imax(u32) - 64, 37e0, 37e1,
13372 37e2, 37e3, imax(u32) - 67, imax(u32) - 66, 38e0, 38e1, 38e2, 38e3,
13373 imax(u32) - 69, imax(u32) - 68, 39e0, 39e1, 39e2, 39e3, imax(u32) - 71, imax(u32) - 70,
13374 41e0, 41e1, 41e2, 41e3, imax(u32) - 73, imax(u32) - 72, 42e0, 42e1,
13375 42e2, 42e3, imax(u32) - 75, imax(u32) - 74, 43e0, 43e1, 43e2, 43e3,
13376 imax(u32) - 77, imax(u32) - 76, 44e0, 44e1, 44e2, 44e3, imax(u32) - 79, imax(u32) - 78,
13377 45e0, 45e1, 45e2, 45e3, imax(u32) - 81, imax(u32) - 80, 46e0, 46e1,
13378 });
13379
13380 try testArgs(@Vector(1, f64), @Vector(1, i64), .{
13381 imin(i64),
13382 });
13383 try testArgs(@Vector(2, f64), @Vector(2, i64), .{
13384 imin(i64) + 1, -1e18,
13385 });
13386 try testArgs(@Vector(4, f64), @Vector(4, i64), .{
13387 -1e17, -1e16, -1e15, -1e14,
13388 });
13389 try testArgs(@Vector(8, f64), @Vector(8, i64), .{
13390 -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6,
13391 });
13392 try testArgs(@Vector(16, f64), @Vector(16, i64), .{
13393 -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0,
13394 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8,
13395 });
13396 try testArgs(@Vector(32, f64), @Vector(32, i64), .{
13397 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16,
13398 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17,
13399 -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9,
13400 -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1,
13401 });
13402 try testArgs(@Vector(64, f64), @Vector(64, i64), .{
13403 -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6,
13404 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14,
13405 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5,
13406 -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11,
13407 -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3,
13408 -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4,
13409 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12,
13410 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4,
13411 });
13412 try testArgs(@Vector(128, f64), @Vector(128, i64), .{
13413 imin(i64) + 6, imin(i64) + 7, -4e18, -4e17, -4e16, -4e15, -4e14, -4e13,
13414 -4e12, -4e11, -4e10, -4e9, -4e8, -4e7, -4e6, -4e5,
13415 -4e4, -4e3, -4e2, -4e1, -4e0, 4e0, 4e1, 4e2,
13416 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10,
13417 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18,
13418 imax(i64) - 7, imax(i64) - 6, imin(i64) + 8, imin(i64) + 9, -5e18, -5e17, -5e16, -5e15,
13419 -5e14, -5e13, -5e12, -5e11, -5e10, -5e9, -5e8, -5e7,
13420 -5e6, -5e5, -5e4, -5e3, -5e2, -5e1, -5e0, 5e0,
13421 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8,
13422 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16,
13423 5e17, 5e18, imax(i64) - 9, imax(i64) - 8, imin(i64) + 10, imin(i64) + 11, -6e18, -6e17,
13424 -6e16, -6e15, -6e14, -6e13, -6e12, -6e11, -6e10, -6e9,
13425 -6e8, -6e7, -6e6, -6e5, -6e4, -6e3, -6e2, -6e1,
13426 -6e0, 6e0, 6e1, 6e2, 6e3, 6e4, 6e5, 6e6,
13427 6e7, 6e8, 6e9, 6e10, 6e11, 6e12, 6e13, 6e14,
13428 6e15, 6e16, 6e17, 6e18, imax(i64) - 11, imax(i64) - 10, imin(i64) + 12, imin(i64) + 13,
13429 });
13430
13431 try testArgs(@Vector(1, f64), @Vector(1, u64), .{
13432 0,
13433 });
13434 try testArgs(@Vector(2, f64), @Vector(2, u64), .{
13435 1e0, 1e1,
13436 });
13437 try testArgs(@Vector(4, f64), @Vector(4, u64), .{
13438 1e2, 1e3, 1e4, 1e5,
13439 });
13440 try testArgs(@Vector(8, f64), @Vector(8, u64), .{
13441 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
13442 });
13443 try testArgs(@Vector(16, f64), @Vector(16, u64), .{
13444 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64),
13445 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7,
13446 });
13447 try testArgs(@Vector(32, f64), @Vector(32, u64), .{
13448 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15,
13449 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2,
13450 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10,
13451 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18,
13452 });
13453 try testArgs(@Vector(64, f64), @Vector(64, u64), .{
13454 imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5,
13455 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13,
13456 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0,
13457 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8,
13458 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16,
13459 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3,
13460 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11,
13461 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11,
13462 });
13463 try testArgs(@Vector(128, f64), @Vector(128, u64), .{
13464 imax(u64) - 10, 7e0, 7e1, 7e2, 7e3, 7e4, 7e5, 7e6,
13465 7e7, 7e8, 7e9, 7e10, 7e11, 7e12, 7e13, 7e14,
13466 7e15, 7e16, 7e17, 7e18, imax(u64) - 13, imax(u64) - 12, 8e0, 8e1,
13467 8e2, 8e3, 8e4, 8e5, 8e6, 8e7, 8e8, 8e9,
13468 8e10, 8e11, 8e12, 8e13, 8e14, 8e15, 8e16, 8e17,
13469 8e18, imax(u64) - 15, imax(u64) - 14, 9e0, 9e1, 9e2, 9e3, 9e4,
13470 9e5, 9e6, 9e7, 9e8, 9e9, 9e10, 9e11, 9e12,
13471 9e13, 9e14, 9e15, 9e16, 9e17, 9e18, imax(u64) - 17, imax(u64) - 16,
13472 11e0, 11e1, 11e2, 11e3, 11e4, 11e5, 11e6, 11e7,
13473 11e8, 11e9, 11e10, 11e11, 11e12, 11e13, 11e14, 11e15,
13474 11e16, 11e17, 11e18, imax(u64) - 19, imax(u64) - 18, 12e0, 12e1, 12e2,
13475 12e3, 12e4, 12e5, 12e6, 12e7, 12e8, 12e9, 12e10,
13476 12e11, 12e12, 12e13, 12e14, 12e15, 12e16, 12e17, 12e18,
13477 imax(u64) - 21, imax(u64) - 20, 13e0, 13e1, 13e2, 13e3, 13e4, 13e5,
13478 13e6, 13e7, 13e8, 13e9, 13e10, 13e11, 13e12, 13e13,
13479 13e14, 13e15, 13e16, 13e17, 13e18, imax(u64) - 23, imax(u64) - 22, 14e0,
13480 });
13481
13482 try testArgs(@Vector(1, f64), @Vector(1, i128), .{
13483 imin(i128),
13484 });
13485 try testArgs(@Vector(2, f64), @Vector(2, i128), .{
13486 imin(i128) + 1, -1e38,
13487 });
13488 try testArgs(@Vector(4, f64), @Vector(4, i128), .{
13489 -1e37, -1e36, -1e35, -1e34,
13490 });
13491 try testArgs(@Vector(8, f64), @Vector(8, i128), .{
13492 -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26,
13493 });
13494 try testArgs(@Vector(16, f64), @Vector(16, i128), .{
13495 -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18,
13496 -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10,
13497 });
13498 try testArgs(@Vector(32, f64), @Vector(32, i128), .{
13499 -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2,
13500 -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4,
13501 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12,
13502 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20,
13503 });
13504 try testArgs(@Vector(64, f64), @Vector(64, i128), .{
13505 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28,
13506 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36,
13507 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36,
13508 -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28,
13509 -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20,
13510 -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12,
13511 -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4,
13512 -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3,
13513 });
13514 try testArgs(@Vector(128, f64), @Vector(128, i128), .{
13515 2e4, 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11,
13516 2e12, 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19,
13517 2e20, 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27,
13518 2e28, 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35,
13519 2e36, 2e37, imax(i128) - 3, imax(i128) - 2, imin(i128) + 4, imin(i128) + 5, -3e37, -3e36,
13520 -3e35, -3e34, -3e33, -3e32, -3e31, -3e30, -3e29, -3e28,
13521 -3e27, -3e26, -3e25, -3e24, -3e23, -3e22, -3e21, -3e20,
13522 -3e19, -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12,
13523 -3e11, -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4,
13524 -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3,
13525 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11,
13526 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19,
13527 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27,
13528 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35,
13529 3e36, 3e37, imax(i128) - 5, imax(i128) - 4, imin(i128) + 6, imin(i128) + 7, -4e37, -4e36,
13530 -4e35, -4e34, -4e33, -4e32, -4e31, -4e30, -4e29, -4e28,
13531 });
13532
13533 try testArgs(@Vector(1, f64), @Vector(1, u128), .{
13534 0,
13535 });
13536 try testArgs(@Vector(2, f64), @Vector(2, u128), .{
13537 1e0, 1e1,
13538 });
13539 try testArgs(@Vector(4, f64), @Vector(4, u128), .{
13540 1e2, 1e3, 1e4, 1e5,
13541 });
13542 try testArgs(@Vector(8, f64), @Vector(8, u128), .{
13543 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
13544 });
13545 try testArgs(@Vector(16, f64), @Vector(16, u128), .{
13546 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21,
13547 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29,
13548 });
13549 try testArgs(@Vector(32, f64), @Vector(32, u128), .{
13550 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37,
13551 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4,
13552 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12,
13553 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20,
13554 });
13555 try testArgs(@Vector(64, f64), @Vector(64, u128), .{
13556 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28,
13557 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36,
13558 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3,
13559 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11,
13560 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19,
13561 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27,
13562 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35,
13563 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2,
13564 });
13565 try testArgs(@Vector(128, f64), @Vector(128, u128), .{
13566 4e3, 4e4, 4e5, 4e6, 4e7, 4e8, 4e9, 4e10,
13567 4e11, 4e12, 4e13, 4e14, 4e15, 4e16, 4e17, 4e18,
13568 4e19, 4e20, 4e21, 4e22, 4e23, 4e24, 4e25, 4e26,
13569 4e27, 4e28, 4e29, 4e30, 4e31, 4e32, 4e33, 4e34,
13570 4e35, 4e36, 4e37, imax(u128) - 7, imax(u128) - 6, 5e0, 5e1, 5e2,
13571 5e3, 5e4, 5e5, 5e6, 5e7, 5e8, 5e9, 5e10,
13572 5e11, 5e12, 5e13, 5e14, 5e15, 5e16, 5e17, 5e18,
13573 5e19, 5e20, 5e21, 5e22, 5e23, 5e24, 5e25, 5e26,
13574 5e27, 5e28, 5e29, 5e30, 5e31, 5e32, 5e33, 5e34,
13575 5e35, 5e36, 5e37, imax(u128) - 9, imax(u128) - 8, 6e0, 6e1, 6e2,
13576 6e3, 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10,
13577 6e11, 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18,
13578 6e19, 6e20, 6e21, 6e22, 6e23, 6e24, 6e25, 6e26,
13579 6e27, 6e28, 6e29, 6e30, 6e31, 6e32, 6e33, 6e34,
13580 6e35, 6e36, 6e37, imax(u128) - 11, imax(u128) - 10, 7e0, 7e1, 7e2,
13581 7e3, 7e4, 7e5, 7e6, 7e7, 7e8, 7e9, 7e10,
13582 });
13583
13584 try testArgs(@Vector(1, f64), @Vector(1, i256), .{
13585 imin(i256),
13586 });
13587 try testArgs(@Vector(2, f64), @Vector(2, i256), .{
13588 imin(i256) + 1, -1e76,
13589 });
13590 try testArgs(@Vector(4, f64), @Vector(4, i256), .{
13591 -1e75, -1e74, -1e73, -1e72,
13592 });
13593 try testArgs(@Vector(8, f64), @Vector(8, i256), .{
13594 -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64,
13595 });
13596 try testArgs(@Vector(16, f64), @Vector(16, i256), .{
13597 -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56,
13598 -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48,
13599 });
13600 try testArgs(@Vector(32, f64), @Vector(32, i256), .{
13601 -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40,
13602 -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32,
13603 -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24,
13604 -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16,
13605 });
13606 try testArgs(@Vector(64, f64), @Vector(64, i256), .{
13607 -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8,
13608 -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0,
13609 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6,
13610 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14,
13611 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22,
13612 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30,
13613 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38,
13614 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46,
13615 });
13616 try testArgs(@Vector(128, f64), @Vector(128, i256), .{
13617 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53, 1e54,
13618 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61, 1e62,
13619 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69, 1e70,
13620 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, imax(i256) - 1, imax(i256),
13621 imin(i256) + 2, imin(i256) + 3, -2e76, -2e75, -2e74, -2e73, -2e72, -2e71,
13622 -2e70, -2e69, -2e68, -2e67, -2e66, -2e65, -2e64, -2e63,
13623 -2e62, -2e61, -2e60, -2e59, -2e58, -2e57, -2e56, -2e55,
13624 -2e54, -2e53, -2e52, -2e51, -2e50, -2e49, -2e48, -2e47,
13625 -2e46, -2e45, -2e44, -2e43, -2e42, -2e41, -2e40, -2e39,
13626 -2e38, -2e37, -2e36, -2e35, -2e34, -2e33, -2e32, -2e31,
13627 -2e30, -2e29, -2e28, -2e27, -2e26, -2e25, -2e24, -2e23,
13628 -2e22, -2e21, -2e20, -2e19, -2e18, -2e17, -2e16, -2e15,
13629 -2e14, -2e13, -2e12, -2e11, -2e10, -2e9, -2e8, -2e7,
13630 -2e6, -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0,
13631 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8,
13632 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15, 2e16,
13633 });
13634
13635 try testArgs(@Vector(1, f64), @Vector(1, u256), .{
13636 0,
13637 });
13638 try testArgs(@Vector(2, f64), @Vector(2, u256), .{
13639 1e0, 1e1,
13640 });
13641 try testArgs(@Vector(4, f64), @Vector(4, u256), .{
13642 1e2, 1e3, 1e4, 1e5,
13643 });
13644 try testArgs(@Vector(8, f64), @Vector(8, u256), .{
13645 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
13646 });
13647 try testArgs(@Vector(16, f64), @Vector(16, u256), .{
13648 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21,
13649 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29,
13650 });
13651 try testArgs(@Vector(32, f64), @Vector(32, u256), .{
13652 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37,
13653 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45,
13654 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53,
13655 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61,
13656 });
13657 try testArgs(@Vector(64, f64), @Vector(64, u256), .{
13658 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69,
13659 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77,
13660 imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5,
13661 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13,
13662 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21,
13663 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29,
13664 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37,
13665 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45,
13666 });
13667 try testArgs(@Vector(128, f64), @Vector(128, u256), .{
13668 2e46, 2e47, 2e48, 2e49, 2e50, 2e51, 2e52, 2e53,
13669 2e54, 2e55, 2e56, 2e57, 2e58, 2e59, 2e60, 2e61,
13670 2e62, 2e63, 2e64, 2e65, 2e66, 2e67, 2e68, 2e69,
13671 2e70, 2e71, 2e72, 2e73, 2e74, 2e75, 2e76, imax(u256) - 3,
13672 imax(u256) - 2, 3e0, 3e1, 3e2, 3e3, 3e4, 3e5, 3e6,
13673 3e7, 3e8, 3e9, 3e10, 3e11, 3e12, 3e13, 3e14,
13674 3e15, 3e16, 3e17, 3e18, 3e19, 3e20, 3e21, 3e22,
13675 3e23, 3e24, 3e25, 3e26, 3e27, 3e28, 3e29, 3e30,
13676 3e31, 3e32, 3e33, 3e34, 3e35, 3e36, 3e37, 3e38,
13677 3e39, 3e40, 3e41, 3e42, 3e43, 3e44, 3e45, 3e46,
13678 3e47, 3e48, 3e49, 3e50, 3e51, 3e52, 3e53, 3e54,
13679 3e55, 3e56, 3e57, 3e58, 3e59, 3e60, 3e61, 3e62,
13680 3e63, 3e64, 3e65, 3e66, 3e67, 3e68, 3e69, 3e70,
13681 3e71, 3e72, 3e73, 3e74, 3e75, 3e76, imax(u256) - 5, imax(u256) - 4,
13682 4e0, 4e1, 4e2, 4e3, 4e4, 4e5, 4e6, 4e7,
13683 4e8, 4e9, 4e10, 4e11, 4e12, 4e13, 4e14, 4e15,
13684 });
13685
13686 try testArgs(@Vector(1, f80), @Vector(1, i8), .{
13687 imin(i8),
13688 });
13689 try testArgs(@Vector(2, f80), @Vector(2, i8), .{
13690 imin(i8) + 1, -1e2,
13691 });
13692 try testArgs(@Vector(4, f80), @Vector(4, i8), .{
13693 -1e1, -1e0, 0, 1e0,
13694 });
13695 try testArgs(@Vector(8, f80), @Vector(8, i8), .{
13696 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0,
13697 });
13698 try testArgs(@Vector(16, f80), @Vector(16, i8), .{
13699 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0,
13700 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0,
13701 });
13702 try testArgs(@Vector(32, f80), @Vector(32, i8), .{
13703 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0,
13704 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0,
13705 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0,
13706 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0,
13707 });
13708 try testArgs(@Vector(64, f80), @Vector(64, i8), .{
13709 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0,
13710 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0,
13711 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0,
13712 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0,
13713 imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24,
13714 imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29,
13715 -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0,
13716 imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32,
13717 });
13718
13719 try testArgs(@Vector(1, f80), @Vector(1, u8), .{
13720 0,
13721 });
13722 try testArgs(@Vector(2, f80), @Vector(2, u8), .{
13723 1e0, 1e1,
13724 });
13725 try testArgs(@Vector(4, f80), @Vector(4, u8), .{
13726 1e2, imax(u8) - 1, imax(u8), 2e0,
13727 });
13728 try testArgs(@Vector(8, f80), @Vector(8, u8), .{
13729 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4,
13730 });
13731 try testArgs(@Vector(16, f80), @Vector(16, u8), .{
13732 imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1,
13733 imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1,
13734 });
13735 try testArgs(@Vector(32, f80), @Vector(32, u8), .{
13736 imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1,
13737 imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1,
13738 imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1,
13739 imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1,
13740 });
13741 try testArgs(@Vector(64, f80), @Vector(64, u8), .{
13742 imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1,
13743 imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1,
13744 imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1,
13745 imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47,
13746 imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0,
13747 imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56,
13748 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63,
13749 imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0,
13750 });
13751
13752 try testArgs(@Vector(1, f80), @Vector(1, i16), .{
13753 imin(i16),
13754 });
13755 try testArgs(@Vector(2, f80), @Vector(2, i16), .{
13756 imin(i16) + 1, -1e4,
13757 });
13758 try testArgs(@Vector(4, f80), @Vector(4, i16), .{
13759 -1e3, -1e2, -1e1, -1e0,
13760 });
13761 try testArgs(@Vector(8, f80), @Vector(8, i16), .{
13762 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16),
13763 });
13764 try testArgs(@Vector(16, f80), @Vector(16, i16), .{
13765 imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0,
13766 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5,
13767 });
13768 try testArgs(@Vector(32, f80), @Vector(32, i16), .{
13769 -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2,
13770 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2,
13771 -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6,
13772 imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1,
13773 });
13774 try testArgs(@Vector(64, f80), @Vector(64, i16), .{
13775 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2,
13776 -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10,
13777 imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1,
13778 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2,
13779 -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14,
13780 imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1,
13781 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2,
13782 -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18,
13783 });
13784
13785 try testArgs(@Vector(1, f80), @Vector(1, u16), .{
13786 0,
13787 });
13788 try testArgs(@Vector(2, f80), @Vector(2, u16), .{
13789 1e0, 1e1,
13790 });
13791 try testArgs(@Vector(4, f80), @Vector(4, u16), .{
13792 1e2, 1e3, 1e4, imax(u16) - 1,
13793 });
13794 try testArgs(@Vector(8, f80), @Vector(8, u16), .{
13795 imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2,
13796 });
13797 try testArgs(@Vector(16, f80), @Vector(16, u16), .{
13798 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0,
13799 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1,
13800 });
13801 try testArgs(@Vector(32, f80), @Vector(32, u16), .{
13802 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2,
13803 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3,
13804 imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14,
13805 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1,
13806 });
13807 try testArgs(@Vector(64, f80), @Vector(64, u16), .{
13808 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3,
13809 imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22,
13810 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1,
13811 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3,
13812 imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30,
13813 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1,
13814 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3,
13815 imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38,
13816 });
13817
13818 try testArgs(@Vector(1, f80), @Vector(1, i32), .{
13819 imin(i32),
13820 });
13821 try testArgs(@Vector(2, f80), @Vector(2, i32), .{
13822 imin(i32) + 1, -1e9,
13823 });
13824 try testArgs(@Vector(4, f80), @Vector(4, i32), .{
13825 -1e8, -1e7, -1e6, -1e5,
13826 });
13827 try testArgs(@Vector(8, f80), @Vector(8, i32), .{
13828 -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1,
13829 });
13830 try testArgs(@Vector(16, f80), @Vector(16, i32), .{
13831 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
13832 imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6,
13833 });
13834 try testArgs(@Vector(32, f80), @Vector(32, i32), .{
13835 -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1,
13836 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9,
13837 imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5,
13838 -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2,
13839 });
13840 try testArgs(@Vector(64, f80), @Vector(64, i32), .{
13841 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4,
13842 imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3,
13843 -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4,
13844 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9,
13845 -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1,
13846 -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6,
13847 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7,
13848 -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0,
13849 });
13850
13851 try testArgs(@Vector(1, f80), @Vector(1, u32), .{
13852 0,
13853 });
13854 try testArgs(@Vector(2, f80), @Vector(2, u32), .{
13855 1e0, 1e1,
13856 });
13857 try testArgs(@Vector(4, f80), @Vector(4, u32), .{
13858 1e2, 1e3, 1e4, imax(u32) - 1,
13859 });
13860 try testArgs(@Vector(8, f80), @Vector(8, u32), .{
13861 imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2,
13862 });
13863 try testArgs(@Vector(16, f80), @Vector(16, u32), .{
13864 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0,
13865 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1,
13866 });
13867 try testArgs(@Vector(32, f80), @Vector(32, u32), .{
13868 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2,
13869 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3,
13870 imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14,
13871 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1,
13872 });
13873 try testArgs(@Vector(64, f80), @Vector(64, u32), .{
13874 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3,
13875 imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22,
13876 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1,
13877 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3,
13878 imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30,
13879 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1,
13880 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3,
13881 imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38,
13882 });
13883
13884 try testArgs(@Vector(1, f80), @Vector(1, i64), .{
13885 imin(i64),
13886 });
13887 try testArgs(@Vector(2, f80), @Vector(2, i64), .{
13888 imin(i64) + 1, -1e18,
13889 });
13890 try testArgs(@Vector(4, f80), @Vector(4, i64), .{
13891 -1e17, -1e16, -1e15, -1e14,
13892 });
13893 try testArgs(@Vector(8, f80), @Vector(8, i64), .{
13894 -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6,
13895 });
13896 try testArgs(@Vector(16, f80), @Vector(16, i64), .{
13897 -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0,
13898 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8,
13899 });
13900 try testArgs(@Vector(32, f80), @Vector(32, i64), .{
13901 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16,
13902 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17,
13903 -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9,
13904 -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1,
13905 });
13906 try testArgs(@Vector(64, f80), @Vector(64, i64), .{
13907 -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6,
13908 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14,
13909 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5,
13910 -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11,
13911 -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3,
13912 -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4,
13913 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12,
13914 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4,
13915 });
13916
13917 try testArgs(@Vector(1, f80), @Vector(1, u64), .{
13918 0,
13919 });
13920 try testArgs(@Vector(2, f80), @Vector(2, u64), .{
13921 1e0, 1e1,
13922 });
13923 try testArgs(@Vector(4, f80), @Vector(4, u64), .{
13924 1e2, 1e3, 1e4, 1e5,
13925 });
13926 try testArgs(@Vector(8, f80), @Vector(8, u64), .{
13927 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
13928 });
13929 try testArgs(@Vector(16, f80), @Vector(16, u64), .{
13930 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64),
13931 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7,
13932 });
13933 try testArgs(@Vector(32, f80), @Vector(32, u64), .{
13934 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15,
13935 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2,
13936 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10,
13937 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18,
13938 });
13939 try testArgs(@Vector(64, f80), @Vector(64, u64), .{
13940 imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5,
13941 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13,
13942 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0,
13943 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8,
13944 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16,
13945 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3,
13946 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11,
13947 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11,
13948 });
13949
13950 try testArgs(@Vector(1, f80), @Vector(1, i128), .{
13951 imin(i128),
13952 });
13953 try testArgs(@Vector(2, f80), @Vector(2, i128), .{
13954 imin(i128) + 1, -1e38,
13955 });
13956 try testArgs(@Vector(4, f80), @Vector(4, i128), .{
13957 -1e37, -1e36, -1e35, -1e34,
13958 });
13959 try testArgs(@Vector(8, f80), @Vector(8, i128), .{
13960 -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26,
13961 });
13962 try testArgs(@Vector(16, f80), @Vector(16, i128), .{
13963 -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18,
13964 -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10,
13965 });
13966 try testArgs(@Vector(32, f80), @Vector(32, i128), .{
13967 -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2,
13968 -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4,
13969 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12,
13970 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20,
13971 });
13972 try testArgs(@Vector(64, f80), @Vector(64, i128), .{
13973 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28,
13974 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36,
13975 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36,
13976 -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28,
13977 -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20,
13978 -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12,
13979 -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4,
13980 -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3,
13981 });
13982
13983 try testArgs(@Vector(1, f80), @Vector(1, u128), .{
13984 0,
13985 });
13986 try testArgs(@Vector(2, f80), @Vector(2, u128), .{
13987 1e0, 1e1,
13988 });
13989 try testArgs(@Vector(4, f80), @Vector(4, u128), .{
13990 1e2, 1e3, 1e4, 1e5,
13991 });
13992 try testArgs(@Vector(8, f80), @Vector(8, u128), .{
13993 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
13994 });
13995 try testArgs(@Vector(16, f80), @Vector(16, u128), .{
13996 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21,
13997 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29,
13998 });
13999 try testArgs(@Vector(32, f80), @Vector(32, u128), .{
14000 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37,
14001 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4,
14002 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12,
14003 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20,
14004 });
14005 try testArgs(@Vector(64, f80), @Vector(64, u128), .{
14006 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28,
14007 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36,
14008 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3,
14009 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11,
14010 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19,
14011 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27,
14012 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35,
14013 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2,
14014 });
14015
14016 try testArgs(@Vector(1, f80), @Vector(1, i256), .{
14017 imin(i256),
14018 });
14019 try testArgs(@Vector(2, f80), @Vector(2, i256), .{
14020 imin(i256) + 1, -1e76,
14021 });
14022 try testArgs(@Vector(4, f80), @Vector(4, i256), .{
14023 -1e75, -1e74, -1e73, -1e72,
14024 });
14025 try testArgs(@Vector(8, f80), @Vector(8, i256), .{
14026 -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64,
14027 });
14028 try testArgs(@Vector(16, f80), @Vector(16, i256), .{
14029 -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56,
14030 -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48,
14031 });
14032 try testArgs(@Vector(32, f80), @Vector(32, i256), .{
14033 -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40,
14034 -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32,
14035 -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24,
14036 -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16,
14037 });
14038 try testArgs(@Vector(64, f80), @Vector(64, i256), .{
14039 -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8,
14040 -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0,
14041 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6,
14042 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14,
14043 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22,
14044 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30,
14045 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38,
14046 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46,
14047 });
14048
14049 try testArgs(@Vector(1, f80), @Vector(1, u256), .{
14050 0,
14051 });
14052 try testArgs(@Vector(2, f80), @Vector(2, u256), .{
14053 1e0, 1e1,
14054 });
14055 try testArgs(@Vector(4, f80), @Vector(4, u256), .{
14056 1e2, 1e3, 1e4, 1e5,
14057 });
14058 try testArgs(@Vector(8, f80), @Vector(8, u256), .{
14059 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
14060 });
14061 try testArgs(@Vector(16, f80), @Vector(16, u256), .{
14062 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21,
14063 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29,
14064 });
14065 try testArgs(@Vector(32, f80), @Vector(32, u256), .{
14066 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37,
14067 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45,
14068 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53,
14069 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61,
14070 });
14071 try testArgs(@Vector(64, f80), @Vector(64, u256), .{
14072 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69,
14073 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77,
14074 imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5,
14075 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13,
14076 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21,
14077 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29,
14078 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37,
14079 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45,
14080 });
14081
14082 try testArgs(@Vector(1, f128), @Vector(1, i8), .{
14083 imin(i8),
14084 });
14085 try testArgs(@Vector(2, f128), @Vector(2, i8), .{
14086 imin(i8) + 1, -1e2,
14087 });
14088 try testArgs(@Vector(4, f128), @Vector(4, i8), .{
14089 -1e1, -1e0, 0, 1e0,
14090 });
14091 try testArgs(@Vector(8, f128), @Vector(8, i8), .{
14092 1e1, 1e2, imax(i8) - 1, imax(i8), imin(i8) + 2, imin(i8) + 3, -2e1, -2e0,
14093 });
14094 try testArgs(@Vector(16, f128), @Vector(16, i8), .{
14095 2e0, 2e1, imax(i8) - 3, imax(i8) - 2, imin(i8) + 4, imin(i8) + 5, -3e1, -3e0,
14096 3e0, 3e1, imax(i8) - 5, imax(i8) - 4, imin(i8) + 6, imin(i8) + 7, -4e1, -4e0,
14097 });
14098 try testArgs(@Vector(32, f128), @Vector(32, i8), .{
14099 4e0, 4e1, imax(i8) - 7, imax(i8) - 6, imin(i8) + 8, imin(i8) + 9, -5e1, -5e0,
14100 5e0, 5e1, imax(i8) - 9, imax(i8) - 8, imin(i8) + 10, imin(i8) + 11, -6e1, -6e0,
14101 6e0, 6e1, imax(i8) - 11, imax(i8) - 10, imin(i8) + 12, imin(i8) + 13, -7e1, -7e0,
14102 7e0, 7e1, imax(i8) - 13, imax(i8) - 12, imin(i8) + 14, imin(i8) + 15, -8e1, -8e0,
14103 });
14104 try testArgs(@Vector(64, f128), @Vector(64, i8), .{
14105 8e0, 8e1, imax(i8) - 15, imax(i8) - 14, imin(i8) + 16, imin(i8) + 17, -9e1, -9e0,
14106 9e0, 9e1, imax(i8) - 17, imax(i8) - 16, imin(i8) + 18, imin(i8) + 19, -11e1, -11e0,
14107 11e0, 11e1, imax(i8) - 19, imax(i8) - 18, imin(i8) + 20, imin(i8) + 21, -12e1, -12e0,
14108 12e0, 12e1, imax(i8) - 21, imax(i8) - 20, imin(i8) + 22, imin(i8) + 23, -13e0, 13e0,
14109 imax(i8) - 23, imax(i8) - 22, imin(i8) + 24, imin(i8) + 25, -14e0, 14e0, imax(i8) - 25, imax(i8) - 24,
14110 imin(i8) + 26, imin(i8) + 27, -15e0, 15e0, imax(i8) - 27, imax(i8) - 26, imin(i8) + 28, imin(i8) + 29,
14111 -16e0, 16e0, imax(i8) - 29, imax(i8) - 28, imin(i8) + 30, imin(i8) + 31, -17e0, 17e0,
14112 imax(i8) - 31, imax(i8) - 30, imin(i8) + 32, imin(i8) + 33, -18e0, 18e0, imax(i8) - 33, imax(i8) - 32,
14113 });
14114
14115 try testArgs(@Vector(1, f128), @Vector(1, u8), .{
14116 0,
14117 });
14118 try testArgs(@Vector(2, f128), @Vector(2, u8), .{
14119 1e0, 1e1,
14120 });
14121 try testArgs(@Vector(4, f128), @Vector(4, u8), .{
14122 1e2, imax(u8) - 1, imax(u8), 2e0,
14123 });
14124 try testArgs(@Vector(8, f128), @Vector(8, u8), .{
14125 2e1, 2e2, imax(u8) - 3, imax(u8) - 2, 3e0, 3e1, imax(u8) - 5, imax(u8) - 4,
14126 });
14127 try testArgs(@Vector(16, f128), @Vector(16, u8), .{
14128 imax(u8) - 7, imax(u8) - 6, 5e0, 5e1, imax(u8) - 9, imax(u8) - 8, 6e0, 6e1,
14129 imax(u8) - 11, imax(u8) - 10, 7e0, 7e1, imax(u8) - 13, imax(u8) - 12, 8e0, 8e1,
14130 });
14131 try testArgs(@Vector(32, f128), @Vector(32, u8), .{
14132 imax(u8) - 15, imax(u8) - 14, 9e0, 9e1, imax(u8) - 17, imax(u8) - 16, 11e0, 11e1,
14133 imax(u8) - 19, imax(u8) - 18, 12e0, 12e1, imax(u8) - 21, imax(u8) - 20, 13e0, 13e1,
14134 imax(u8) - 23, imax(u8) - 22, 14e0, 14e1, imax(u8) - 25, imax(u8) - 24, 15e0, 15e1,
14135 imax(u8) - 27, imax(u8) - 26, 16e0, 16e1, imax(u8) - 29, imax(u8) - 28, 17e0, 17e1,
14136 });
14137 try testArgs(@Vector(64, f128), @Vector(64, u8), .{
14138 imax(u8) - 31, imax(u8) - 30, 18e0, 18e1, imax(u8) - 33, imax(u8) - 32, 19e0, 19e1,
14139 imax(u8) - 35, imax(u8) - 34, 21e0, 21e1, imax(u8) - 37, imax(u8) - 36, 22e0, 22e1,
14140 imax(u8) - 39, imax(u8) - 38, 23e0, 23e1, imax(u8) - 41, imax(u8) - 40, 24e0, 24e1,
14141 imax(u8) - 43, imax(u8) - 42, 25e0, 25e1, imax(u8) - 45, imax(u8) - 44, 26e0, imax(u8) - 47,
14142 imax(u8) - 46, 27e0, imax(u8) - 49, imax(u8) - 48, 28e0, imax(u8) - 51, imax(u8) - 50, 29e0,
14143 imax(u8) - 53, imax(u8) - 52, 31e0, imax(u8) - 55, imax(u8) - 54, 32e0, imax(u8) - 57, imax(u8) - 56,
14144 33e0, imax(u8) - 59, imax(u8) - 58, 34e0, imax(u8) - 61, imax(u8) - 60, 35e0, imax(u8) - 63,
14145 imax(u8) - 62, 36e0, imax(u8) - 65, imax(u8) - 64, 37e0, imax(u8) - 67, imax(u8) - 66, 38e0,
14146 });
14147
14148 try testArgs(@Vector(1, f128), @Vector(1, i16), .{
14149 imin(i16),
14150 });
14151 try testArgs(@Vector(2, f128), @Vector(2, i16), .{
14152 imin(i16) + 1, -1e4,
14153 });
14154 try testArgs(@Vector(4, f128), @Vector(4, i16), .{
14155 -1e3, -1e2, -1e1, -1e0,
14156 });
14157 try testArgs(@Vector(8, f128), @Vector(8, i16), .{
14158 0, 1e0, 1e1, 1e2, 1e3, 1e4, imax(i16) - 1, imax(i16),
14159 });
14160 try testArgs(@Vector(16, f128), @Vector(16, i16), .{
14161 imin(i16) + 2, imin(i16) + 3, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0,
14162 2e1, 2e2, 2e3, 2e4, imax(i16) - 3, imax(i16) - 2, imin(i16) + 4, imin(i16) + 5,
14163 });
14164 try testArgs(@Vector(32, f128), @Vector(32, i16), .{
14165 -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2,
14166 3e3, 3e4, imax(i16) - 5, imax(i16) - 4, imin(i16) + 6, imin(i16) + 7, -4e3, -4e2,
14167 -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, imax(i16) - 7, imax(i16) - 6,
14168 imin(i16) + 8, imin(i16) + 9, -5e3, -5e2, -5e1, -5e0, 5e0, 5e1,
14169 });
14170 try testArgs(@Vector(64, f128), @Vector(64, i16), .{
14171 5e2, 5e3, imax(i16) - 9, imax(i16) - 8, imin(i16) + 10, imin(i16) + 11, -6e3, -6e2,
14172 -6e1, -6e0, 6e0, 6e1, 6e2, 6e3, imax(i16) - 11, imax(i16) - 10,
14173 imin(i16) + 12, imin(i16) + 13, -7e3, -7e2, -7e1, -7e0, 7e0, 7e1,
14174 7e2, 7e3, imax(i16) - 13, imax(i16) - 12, imin(i16) + 14, imin(i16) + 15, -8e3, -8e2,
14175 -8e1, -8e0, 8e0, 8e1, 8e2, 8e3, imax(i16) - 15, imax(i16) - 14,
14176 imin(i16) + 16, imin(i16) + 17, -9e3, -9e2, -9e1, -9e0, 9e0, 9e1,
14177 9e2, 9e3, imax(i16) - 17, imax(i16) - 16, imin(i16) + 18, imin(i16) + 19, -11e3, -11e2,
14178 -11e1, -11e0, 11e0, 11e1, 11e2, 11e3, imax(i16) - 19, imax(i16) - 18,
14179 });
14180
14181 try testArgs(@Vector(1, f128), @Vector(1, u16), .{
14182 0,
14183 });
14184 try testArgs(@Vector(2, f128), @Vector(2, u16), .{
14185 1e0, 1e1,
14186 });
14187 try testArgs(@Vector(4, f128), @Vector(4, u16), .{
14188 1e2, 1e3, 1e4, imax(u16) - 1,
14189 });
14190 try testArgs(@Vector(8, f128), @Vector(8, u16), .{
14191 imax(u16), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u16) - 3, imax(u16) - 2,
14192 });
14193 try testArgs(@Vector(16, f128), @Vector(16, u16), .{
14194 3e0, 3e1, 3e2, 3e3, 3e4, imax(u16) - 5, imax(u16) - 4, 4e0,
14195 4e1, 4e2, 4e3, 4e4, imax(u16) - 7, imax(u16) - 6, 5e0, 5e1,
14196 });
14197 try testArgs(@Vector(32, f128), @Vector(32, u16), .{
14198 5e2, 5e3, 5e4, imax(u16) - 9, imax(u16) - 8, 6e0, 6e1, 6e2,
14199 6e3, 6e4, imax(u16) - 11, imax(u16) - 10, 7e0, 7e1, 7e2, 7e3,
14200 imax(u16) - 13, imax(u16) - 12, 8e0, 8e1, 8e2, 8e3, imax(u16) - 15, imax(u16) - 14,
14201 9e0, 9e1, 9e2, 9e3, imax(u16) - 17, imax(u16) - 16, 11e0, 11e1,
14202 });
14203 try testArgs(@Vector(64, f128), @Vector(64, u16), .{
14204 11e2, 11e3, imax(u16) - 19, imax(u16) - 18, 12e0, 12e1, 12e2, 12e3,
14205 imax(u16) - 21, imax(u16) - 20, 13e0, 13e1, 13e2, 13e3, imax(u16) - 23, imax(u16) - 22,
14206 14e0, 14e1, 14e2, 14e3, imax(u16) - 25, imax(u16) - 24, 15e0, 15e1,
14207 15e2, 15e3, imax(u16) - 27, imax(u16) - 26, 16e0, 16e1, 16e2, 16e3,
14208 imax(u16) - 29, imax(u16) - 28, 17e0, 17e1, 17e2, 17e3, imax(u16) - 31, imax(u16) - 30,
14209 18e0, 18e1, 18e2, 18e3, imax(u16) - 33, imax(u16) - 32, 19e0, 19e1,
14210 19e2, 19e3, imax(u16) - 35, imax(u16) - 34, 21e0, 21e1, 21e2, 21e3,
14211 imax(u16) - 37, imax(u16) - 36, 22e0, 22e1, 22e2, 22e3, imax(u16) - 39, imax(u16) - 38,
14212 });
14213
14214 try testArgs(@Vector(1, f128), @Vector(1, i32), .{
14215 imin(i32),
14216 });
14217 try testArgs(@Vector(2, f128), @Vector(2, i32), .{
14218 imin(i32) + 1, -1e9,
14219 });
14220 try testArgs(@Vector(4, f128), @Vector(4, i32), .{
14221 -1e8, -1e7, -1e6, -1e5,
14222 });
14223 try testArgs(@Vector(8, f128), @Vector(8, i32), .{
14224 -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0, 1e1,
14225 });
14226 try testArgs(@Vector(16, f128), @Vector(16, i32), .{
14227 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8, 1e9,
14228 imax(i32) - 1, imax(i32), imin(i32) + 2, imin(i32) + 3, -2e9, -2e8, -2e7, -2e6,
14229 });
14230 try testArgs(@Vector(32, f128), @Vector(32, i32), .{
14231 -2e5, -2e4, -2e3, -2e2, -2e1, -2e0, 2e0, 2e1,
14232 2e2, 2e3, 2e4, 2e5, 2e6, 2e7, 2e8, 2e9,
14233 imax(i32) - 3, imax(i32) - 2, imin(i32) + 4, imin(i32) + 5, -3e8, -3e7, -3e6, -3e5,
14234 -3e4, -3e3, -3e2, -3e1, -3e0, 3e0, 3e1, 3e2,
14235 });
14236 try testArgs(@Vector(64, f128), @Vector(64, i32), .{
14237 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, imax(i32) - 5, imax(i32) - 4,
14238 imin(i32) + 6, imin(i32) + 7, -4e8, -4e7, -4e6, -4e5, -4e4, -4e3,
14239 -4e2, -4e1, -4e0, 4e0, 4e1, 4e2, 4e3, 4e4,
14240 4e5, 4e6, 4e7, 4e8, imax(i32) - 7, imax(i32) - 6, imin(i32) + 8, imin(i32) + 9,
14241 -5e8, -5e7, -5e6, -5e5, -5e4, -5e3, -5e2, -5e1,
14242 -5e0, 5e0, 5e1, 5e2, 5e3, 5e4, 5e5, 5e6,
14243 5e7, 5e8, imax(i32) - 9, imax(i32) - 8, imin(i32) + 10, imin(i32) + 11, -6e8, -6e7,
14244 -6e6, -6e5, -6e4, -6e3, -6e2, -6e1, -6e0, 6e0,
14245 });
14246
14247 try testArgs(@Vector(1, f128), @Vector(1, u32), .{
14248 0,
14249 });
14250 try testArgs(@Vector(2, f128), @Vector(2, u32), .{
14251 1e0, 1e1,
14252 });
14253 try testArgs(@Vector(4, f128), @Vector(4, u32), .{
14254 1e2, 1e3, 1e4, imax(u32) - 1,
14255 });
14256 try testArgs(@Vector(8, f128), @Vector(8, u32), .{
14257 imax(u32), 2e0, 2e1, 2e2, 2e3, 2e4, imax(u32) - 3, imax(u32) - 2,
14258 });
14259 try testArgs(@Vector(16, f128), @Vector(16, u32), .{
14260 3e0, 3e1, 3e2, 3e3, 3e4, imax(u32) - 5, imax(u32) - 4, 4e0,
14261 4e1, 4e2, 4e3, 4e4, imax(u32) - 7, imax(u32) - 6, 5e0, 5e1,
14262 });
14263 try testArgs(@Vector(32, f128), @Vector(32, u32), .{
14264 5e2, 5e3, 5e4, imax(u32) - 9, imax(u32) - 8, 6e0, 6e1, 6e2,
14265 6e3, 6e4, imax(u32) - 11, imax(u32) - 10, 7e0, 7e1, 7e2, 7e3,
14266 imax(u32) - 13, imax(u32) - 12, 8e0, 8e1, 8e2, 8e3, imax(u32) - 15, imax(u32) - 14,
14267 9e0, 9e1, 9e2, 9e3, imax(u32) - 17, imax(u32) - 16, 11e0, 11e1,
14268 });
14269 try testArgs(@Vector(64, f128), @Vector(64, u32), .{
14270 11e2, 11e3, imax(u32) - 19, imax(u32) - 18, 12e0, 12e1, 12e2, 12e3,
14271 imax(u32) - 21, imax(u32) - 20, 13e0, 13e1, 13e2, 13e3, imax(u32) - 23, imax(u32) - 22,
14272 14e0, 14e1, 14e2, 14e3, imax(u32) - 25, imax(u32) - 24, 15e0, 15e1,
14273 15e2, 15e3, imax(u32) - 27, imax(u32) - 26, 16e0, 16e1, 16e2, 16e3,
14274 imax(u32) - 29, imax(u32) - 28, 17e0, 17e1, 17e2, 17e3, imax(u32) - 31, imax(u32) - 30,
14275 18e0, 18e1, 18e2, 18e3, imax(u32) - 33, imax(u32) - 32, 19e0, 19e1,
14276 19e2, 19e3, imax(u32) - 35, imax(u32) - 34, 21e0, 21e1, 21e2, 21e3,
14277 imax(u32) - 37, imax(u32) - 36, 22e0, 22e1, 22e2, 22e3, imax(u32) - 39, imax(u32) - 38,
14278 });
14279
14280 try testArgs(@Vector(1, f128), @Vector(1, i64), .{
14281 imin(i64),
14282 });
14283 try testArgs(@Vector(2, f128), @Vector(2, i64), .{
14284 imin(i64) + 1, -1e18,
14285 });
14286 try testArgs(@Vector(4, f128), @Vector(4, i64), .{
14287 -1e17, -1e16, -1e15, -1e14,
14288 });
14289 try testArgs(@Vector(8, f128), @Vector(8, i64), .{
14290 -1e13, -1e12, -1e11, -1e10, -1e9, -1e8, -1e7, -1e6,
14291 });
14292 try testArgs(@Vector(16, f128), @Vector(16, i64), .{
14293 -1e5, -1e4, -1e3, -1e2, -1e1, -1e0, 0, 1e0,
14294 1e1, 1e2, 1e3, 1e4, 1e5, 1e6, 1e7, 1e8,
14295 });
14296 try testArgs(@Vector(32, f128), @Vector(32, i64), .{
14297 1e9, 1e10, 1e11, 1e12, 1e13, 1e14, 1e15, 1e16,
14298 1e17, 1e18, imax(i64) - 1, imax(i64), imin(i64) + 2, imin(i64) + 3, -2e18, -2e17,
14299 -2e16, -2e15, -2e14, -2e13, -2e12, -2e11, -2e10, -2e9,
14300 -2e8, -2e7, -2e6, -2e5, -2e4, -2e3, -2e2, -2e1,
14301 });
14302 try testArgs(@Vector(64, f128), @Vector(64, i64), .{
14303 -2e0, 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6,
14304 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14,
14305 2e15, 2e16, 2e17, 2e18, imax(i64) - 3, imax(i64) - 2, imin(i64) + 4, imin(i64) + 5,
14306 -3e18, -3e17, -3e16, -3e15, -3e14, -3e13, -3e12, -3e11,
14307 -3e10, -3e9, -3e8, -3e7, -3e6, -3e5, -3e4, -3e3,
14308 -3e2, -3e1, -3e0, 3e0, 3e1, 3e2, 3e3, 3e4,
14309 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11, 3e12,
14310 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, imax(i64) - 5, imax(i64) - 4,
14311 });
14312
14313 try testArgs(@Vector(1, f128), @Vector(1, u64), .{
14314 0,
14315 });
14316 try testArgs(@Vector(2, f128), @Vector(2, u64), .{
14317 1e0, 1e1,
14318 });
14319 try testArgs(@Vector(4, f128), @Vector(4, u64), .{
14320 1e2, 1e3, 1e4, 1e5,
14321 });
14322 try testArgs(@Vector(8, f128), @Vector(8, u64), .{
14323 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
14324 });
14325 try testArgs(@Vector(16, f128), @Vector(16, u64), .{
14326 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, imax(u64) - 1, imax(u64),
14327 2e0, 2e1, 2e2, 2e3, 2e4, 2e5, 2e6, 2e7,
14328 });
14329 try testArgs(@Vector(32, f128), @Vector(32, u64), .{
14330 2e8, 2e9, 2e10, 2e11, 2e12, 2e13, 2e14, 2e15,
14331 2e16, 2e17, 2e18, imax(u64) - 3, imax(u64) - 2, 3e0, 3e1, 3e2,
14332 3e3, 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10,
14333 3e11, 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18,
14334 });
14335 try testArgs(@Vector(64, f128), @Vector(64, u64), .{
14336 imax(u64) - 5, imax(u64) - 4, 4e0, 4e1, 4e2, 4e3, 4e4, 4e5,
14337 4e6, 4e7, 4e8, 4e9, 4e10, 4e11, 4e12, 4e13,
14338 4e14, 4e15, 4e16, 4e17, 4e18, imax(u64) - 7, imax(u64) - 6, 5e0,
14339 5e1, 5e2, 5e3, 5e4, 5e5, 5e6, 5e7, 5e8,
14340 5e9, 5e10, 5e11, 5e12, 5e13, 5e14, 5e15, 5e16,
14341 5e17, 5e18, imax(u64) - 9, imax(u64) - 8, 6e0, 6e1, 6e2, 6e3,
14342 6e4, 6e5, 6e6, 6e7, 6e8, 6e9, 6e10, 6e11,
14343 6e12, 6e13, 6e14, 6e15, 6e16, 6e17, 6e18, imax(u64) - 11,
14344 });
14345
14346 try testArgs(@Vector(1, f128), @Vector(1, i128), .{
14347 imin(i128),
14348 });
14349 try testArgs(@Vector(2, f128), @Vector(2, i128), .{
14350 imin(i128) + 1, -1e38,
14351 });
14352 try testArgs(@Vector(4, f128), @Vector(4, i128), .{
14353 -1e37, -1e36, -1e35, -1e34,
14354 });
14355 try testArgs(@Vector(8, f128), @Vector(8, i128), .{
14356 -1e33, -1e32, -1e31, -1e30, -1e29, -1e28, -1e27, -1e26,
14357 });
14358 try testArgs(@Vector(16, f128), @Vector(16, i128), .{
14359 -1e25, -1e24, -1e23, -1e22, -1e21, -1e20, -1e19, -1e18,
14360 -1e17, -1e16, -1e15, -1e14, -1e13, -1e12, -1e11, -1e10,
14361 });
14362 try testArgs(@Vector(32, f128), @Vector(32, i128), .{
14363 -1e9, -1e8, -1e7, -1e6, -1e5, -1e4, -1e3, -1e2,
14364 -1e1, -1e0, 0, 1e0, 1e1, 1e2, 1e3, 1e4,
14365 1e5, 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12,
14366 1e13, 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20,
14367 });
14368 try testArgs(@Vector(64, f128), @Vector(64, i128), .{
14369 1e21, 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28,
14370 1e29, 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36,
14371 1e37, 1e38, imax(i128) - 1, imax(i128), imin(i128) + 2, imin(i128) + 3, -2e37, -2e36,
14372 -2e35, -2e34, -2e33, -2e32, -2e31, -2e30, -2e29, -2e28,
14373 -2e27, -2e26, -2e25, -2e24, -2e23, -2e22, -2e21, -2e20,
14374 -2e19, -2e18, -2e17, -2e16, -2e15, -2e14, -2e13, -2e12,
14375 -2e11, -2e10, -2e9, -2e8, -2e7, -2e6, -2e5, -2e4,
14376 -2e3, -2e2, -2e1, -2e0, 2e0, 2e1, 2e2, 2e3,
14377 });
14378
14379 try testArgs(@Vector(1, f128), @Vector(1, u128), .{
14380 0,
14381 });
14382 try testArgs(@Vector(2, f128), @Vector(2, u128), .{
14383 1e0, 1e1,
14384 });
14385 try testArgs(@Vector(4, f128), @Vector(4, u128), .{
14386 1e2, 1e3, 1e4, 1e5,
14387 });
14388 try testArgs(@Vector(8, f128), @Vector(8, u128), .{
14389 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
14390 });
14391 try testArgs(@Vector(16, f128), @Vector(16, u128), .{
14392 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21,
14393 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29,
14394 });
14395 try testArgs(@Vector(32, f128), @Vector(32, u128), .{
14396 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37,
14397 1e38, imax(u128) - 1, imax(u128), 2e0, 2e1, 2e2, 2e3, 2e4,
14398 2e5, 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12,
14399 2e13, 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20,
14400 });
14401 try testArgs(@Vector(64, f128), @Vector(64, u128), .{
14402 2e21, 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28,
14403 2e29, 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36,
14404 2e37, 2e38, imax(u128) - 3, imax(u128) - 2, 3e0, 3e1, 3e2, 3e3,
14405 3e4, 3e5, 3e6, 3e7, 3e8, 3e9, 3e10, 3e11,
14406 3e12, 3e13, 3e14, 3e15, 3e16, 3e17, 3e18, 3e19,
14407 3e20, 3e21, 3e22, 3e23, 3e24, 3e25, 3e26, 3e27,
14408 3e28, 3e29, 3e30, 3e31, 3e32, 3e33, 3e34, 3e35,
14409 3e36, 3e37, 3e38, imax(u128) - 5, imax(u128) - 4, 4e0, 4e1, 4e2,
14410 });
14411
14412 try testArgs(@Vector(1, f128), @Vector(1, i256), .{
14413 imin(i256),
14414 });
14415 try testArgs(@Vector(2, f128), @Vector(2, i256), .{
14416 imin(i256) + 1, -1e76,
14417 });
14418 try testArgs(@Vector(4, f128), @Vector(4, i256), .{
14419 -1e75, -1e74, -1e73, -1e72,
14420 });
14421 try testArgs(@Vector(8, f128), @Vector(8, i256), .{
14422 -1e71, -1e70, -1e69, -1e68, -1e67, -1e66, -1e65, -1e64,
14423 });
14424 try testArgs(@Vector(16, f128), @Vector(16, i256), .{
14425 -1e63, -1e62, -1e61, -1e60, -1e59, -1e58, -1e57, -1e56,
14426 -1e55, -1e54, -1e53, -1e52, -1e51, -1e50, -1e49, -1e48,
14427 });
14428 try testArgs(@Vector(32, f128), @Vector(32, i256), .{
14429 -1e47, -1e46, -1e45, -1e44, -1e43, -1e42, -1e41, -1e40,
14430 -1e39, -1e38, -1e37, -1e36, -1e35, -1e34, -1e33, -1e32,
14431 -1e31, -1e30, -1e29, -1e28, -1e27, -1e26, -1e25, -1e24,
14432 -1e23, -1e22, -1e21, -1e20, -1e19, -1e18, -1e17, -1e16,
14433 });
14434 try testArgs(@Vector(64, f128), @Vector(64, i256), .{
14435 -1e15, -1e14, -1e13, -1e12, -1e11, -1e10, -1e9, -1e8,
14436 -1e7, -1e6, -1e5, -1e4, -1e3, -1e2, -1e1, -1e0,
14437 0, 1e0, 1e1, 1e2, 1e3, 1e4, 1e5, 1e6,
14438 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13, 1e14,
14439 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21, 1e22,
14440 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29, 1e30,
14441 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37, 1e38,
14442 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45, 1e46,
14443 });
14444
14445 try testArgs(@Vector(1, f128), @Vector(1, u256), .{
14446 0,
14447 });
14448 try testArgs(@Vector(2, f128), @Vector(2, u256), .{
14449 1e0, 1e1,
14450 });
14451 try testArgs(@Vector(4, f128), @Vector(4, u256), .{
14452 1e2, 1e3, 1e4, 1e5,
14453 });
14454 try testArgs(@Vector(8, f128), @Vector(8, u256), .{
14455 1e6, 1e7, 1e8, 1e9, 1e10, 1e11, 1e12, 1e13,
14456 });
14457 try testArgs(@Vector(16, f128), @Vector(16, u256), .{
14458 1e14, 1e15, 1e16, 1e17, 1e18, 1e19, 1e20, 1e21,
14459 1e22, 1e23, 1e24, 1e25, 1e26, 1e27, 1e28, 1e29,
14460 });
14461 try testArgs(@Vector(32, f128), @Vector(32, u256), .{
14462 1e30, 1e31, 1e32, 1e33, 1e34, 1e35, 1e36, 1e37,
14463 1e38, 1e39, 1e40, 1e41, 1e42, 1e43, 1e44, 1e45,
14464 1e46, 1e47, 1e48, 1e49, 1e50, 1e51, 1e52, 1e53,
14465 1e54, 1e55, 1e56, 1e57, 1e58, 1e59, 1e60, 1e61,
14466 });
14467 try testArgs(@Vector(64, f128), @Vector(64, u256), .{
14468 1e62, 1e63, 1e64, 1e65, 1e66, 1e67, 1e68, 1e69,
14469 1e70, 1e71, 1e72, 1e73, 1e74, 1e75, 1e76, 1e77,
14470 imax(u256) - 1, imax(u256), 2e0, 2e1, 2e2, 2e3, 2e4, 2e5,
14471 2e6, 2e7, 2e8, 2e9, 2e10, 2e11, 2e12, 2e13,
14472 2e14, 2e15, 2e16, 2e17, 2e18, 2e19, 2e20, 2e21,
14473 2e22, 2e23, 2e24, 2e25, 2e26, 2e27, 2e28, 2e29,
14474 2e30, 2e31, 2e32, 2e33, 2e34, 2e35, 2e36, 2e37,
14475 2e38, 2e39, 2e40, 2e41, 2e42, 2e43, 2e44, 2e45,
14476 });
14477 }
14478 };
14479}
14480
14481inline fn intCast(comptime Result: type, comptime Type: type, rhs: Type, comptime ct_rhs: Type) Result {
14482 @setRuntimeSafety(false); // TODO
14483 const res_info = switch (@typeInfo(Result)) {
14484 .int => |info| info,
14485 .vector => |info| @typeInfo(info.child).int,
14486 else => @compileError(@typeName(Result)),
14487 };
14488 const rhs_info = @typeInfo(Scalar(Type)).int;
14489 const min_bits = @min(res_info.bits, rhs_info.bits);
14490 return @intCast(switch (@as(union(enum) {
14491 shift: Log2Int(Scalar(Type)),
14492 mask: Log2IntCeil(Scalar(Type)),
14493 }, switch (res_info.signedness) {
14494 .signed => switch (rhs_info.signedness) {
14495 .signed => .{ .shift = rhs_info.bits - min_bits },
14496 .unsigned => .{ .mask = min_bits - @intFromBool(res_info.bits <= rhs_info.bits) },
14497 },
14498 .unsigned => switch (rhs_info.signedness) {
14499 .signed => .{ .mask = min_bits - @intFromBool(res_info.bits >= rhs_info.bits) },
14500 .unsigned => .{ .mask = min_bits },
14501 },
14502 })) {
14503 // TODO: if (bits == 0) rhs else rhs >> bits,
14504 .shift => |bits| if (bits == 0) rhs else switch (@typeInfo(Type)) {
14505 .int => if (ct_rhs < 0)
14506 rhs | imin(Type) >> bits
14507 else
14508 rhs & imax(Type) >> bits,
14509 .vector => rhs | @select(
14510 Scalar(Type),
14511 ct_rhs < splat(Type, 0),
14512 splat(Type, imin(Scalar(Type)) >> bits),
14513 splat(Type, 0),
14514 ) & ~@select(
14515 Scalar(Type),
14516 ct_rhs >= splat(Type, 0),
14517 splat(Type, imin(Scalar(Type)) >> bits),
14518 splat(Type, 0),
14519 ),
14520 else => comptime unreachable,
14521 },
14522 .mask => |bits| if (bits == rhs_info.bits) rhs else rhs & splat(Type, (1 << bits) - 1),
14523 });
14524}
14525test intCast {
14526 const test_int_cast = cast(intCast, .{});
14527 try test_int_cast.testInts();
14528 try test_int_cast.testIntVectors();
14529}
14530
14531inline fn truncate(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result {
14532 return if (@typeInfo(Scalar(Result)).int.bits <= @typeInfo(Scalar(Type)).int.bits) @truncate(rhs) else rhs;
14533}
14534test truncate {
14535 const test_truncate = cast(truncate, .{});
14536 try test_truncate.testSameSignednessInts();
14537 try test_truncate.testSameSignednessIntVectors();
14538}
14539
14540inline fn floatCast(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result {
14541 return @floatCast(rhs);
14542}
14543test floatCast {
14544 const test_float_cast = cast(floatCast, .{ .compare = .strict });
14545 try test_float_cast.testFloats();
14546 try test_float_cast.testFloatVectors();
14547}
14548
14549inline fn intFromFloatUnsafe(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result {
14550 @setRuntimeSafety(false);
14551 return @intFromFloat(rhs);
14552}
14553test intFromFloatUnsafe {
14554 const test_int_from_float_unsafe = cast(intFromFloatUnsafe, .{ .compare = .strict });
14555 try test_int_from_float_unsafe.testIntsFromFloats();
14556 try test_int_from_float_unsafe.testIntVectorsFromFloatVectors();
14557}
14558
14559inline fn intFromFloatSafe(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result {
14560 @setRuntimeSafety(true);
14561 return @intFromFloat(rhs);
14562}
14563test intFromFloatSafe {
14564 const test_int_from_float_safe = cast(intFromFloatSafe, .{ .compare = .strict });
14565 try test_int_from_float_safe.testIntsFromFloats();
14566 try test_int_from_float_safe.testIntVectorsFromFloatVectors();
14567}
14568
14569inline fn floatFromInt(comptime Result: type, comptime Type: type, rhs: Type, comptime _: Type) Result {
14570 return @floatFromInt(rhs);
14571}
14572test floatFromInt {
14573 const test_float_from_int = cast(floatFromInt, .{ .compare = .strict });
14574 try test_float_from_int.testFloatsFromInts();
14575 try test_float_from_int.testFloatVectorsFromIntVectors();
14576}