1use super::{ArraySize, AssocArraySize};
12
13#[cfg(feature = "extra-sizes")]
14pub use extra_sizes::*;
15
16macro_rules! impl_array_sizes {
22 ($($len:expr => $ty:ident),+ $(,)?) => {
23 $(
24 unsafe impl ArraySize for $ty {
25 type ArrayType<T> = [T; $len];
26 }
27
28 impl<T> AssocArraySize for [T; $len] {
29 type Size = $ty;
30 }
31 )+
32 };
33}
34
35macro_rules! impl_array_sizes_with_import {
37 ($($len:expr => $ty:ident),+ $(,)?) => {
38 $(
39 pub use typenum::consts::$ty;
40 impl_array_sizes!($len => $ty);
41 )+
42 };
43}
44
45impl_array_sizes_with_import! {
46 0 => U0,
47 1 => U1,
48 2 => U2,
49 3 => U3,
50 4 => U4,
51 5 => U5,
52 6 => U6,
53 7 => U7,
54 8 => U8,
55 9 => U9,
56 10 => U10,
57 11 => U11,
58 12 => U12,
59 13 => U13,
60 14 => U14,
61 15 => U15,
62 16 => U16,
63 17 => U17,
64 18 => U18,
65 19 => U19,
66 20 => U20,
67 21 => U21,
68 22 => U22,
69 23 => U23,
70 24 => U24,
71 25 => U25,
72 26 => U26,
73 27 => U27,
74 28 => U28,
75 29 => U29,
76 30 => U30,
77 31 => U31,
78 32 => U32,
79 33 => U33,
80 34 => U34,
81 35 => U35,
82 36 => U36,
83 37 => U37,
84 38 => U38,
85 39 => U39,
86 40 => U40,
87 41 => U41,
88 42 => U42,
89 43 => U43,
90 44 => U44,
91 45 => U45,
92 46 => U46,
93 47 => U47,
94 48 => U48,
95 49 => U49,
96 50 => U50,
97 51 => U51,
98 52 => U52,
99 53 => U53,
100 54 => U54,
101 55 => U55,
102 56 => U56,
103 57 => U57,
104 58 => U58,
105 59 => U59,
106 60 => U60,
107 61 => U61,
108 62 => U62,
109 63 => U63,
110 64 => U64,
111 65 => U65,
112 66 => U66,
113 67 => U67,
114 68 => U68,
115 69 => U69,
116 70 => U70,
117 71 => U71,
118 72 => U72,
119 73 => U73,
120 74 => U74,
121 75 => U75,
122 76 => U76,
123 77 => U77,
124 78 => U78,
125 79 => U79,
126 80 => U80,
127 81 => U81,
128 82 => U82,
129 83 => U83,
130 84 => U84,
131 85 => U85,
132 86 => U86,
133 87 => U87,
134 88 => U88,
135 89 => U89,
136 90 => U90,
137 91 => U91,
138 92 => U92,
139 93 => U93,
140 94 => U94,
141 95 => U95,
142 96 => U96,
143 97 => U97,
144 98 => U98,
145 99 => U99,
146 100 => U100,
147 101 => U101,
148 102 => U102,
149 103 => U103,
150 104 => U104,
151 105 => U105,
152 106 => U106,
153 107 => U107,
154 108 => U108,
155 109 => U109,
156 110 => U110,
157 111 => U111,
158 112 => U112,
159 113 => U113,
160 114 => U114,
161 115 => U115,
162 116 => U116,
163 117 => U117,
164 118 => U118,
165 119 => U119,
166 120 => U120,
167 121 => U121,
168 122 => U122,
169 123 => U123,
170 124 => U124,
171 125 => U125,
172 126 => U126,
173 127 => U127,
174 128 => U128,
175 129 => U129,
176 130 => U130,
177 131 => U131,
178 132 => U132,
179 133 => U133,
180 134 => U134,
181 135 => U135,
182 136 => U136,
183 137 => U137,
184 138 => U138,
185 139 => U139,
186 140 => U140,
187 141 => U141,
188 142 => U142,
189 143 => U143,
190 144 => U144,
191 145 => U145,
192 146 => U146,
193 147 => U147,
194 148 => U148,
195 149 => U149,
196 150 => U150,
197 151 => U151,
198 152 => U152,
199 153 => U153,
200 154 => U154,
201 155 => U155,
202 156 => U156,
203 157 => U157,
204 158 => U158,
205 159 => U159,
206 160 => U160,
207 161 => U161,
208 162 => U162,
209 163 => U163,
210 164 => U164,
211 165 => U165,
212 166 => U166,
213 167 => U167,
214 168 => U168,
215 169 => U169,
216 170 => U170,
217 171 => U171,
218 172 => U172,
219 173 => U173,
220 174 => U174,
221 175 => U175,
222 176 => U176,
223 177 => U177,
224 178 => U178,
225 179 => U179,
226 180 => U180,
227 181 => U181,
228 182 => U182,
229 183 => U183,
230 184 => U184,
231 185 => U185,
232 186 => U186,
233 187 => U187,
234 188 => U188,
235 189 => U189,
236 190 => U190,
237 191 => U191,
238 192 => U192,
239 193 => U193,
240 194 => U194,
241 195 => U195,
242 196 => U196,
243 197 => U197,
244 198 => U198,
245 199 => U199,
246 200 => U200,
247 201 => U201,
248 202 => U202,
249 203 => U203,
250 204 => U204,
251 205 => U205,
252 206 => U206,
253 207 => U207,
254 208 => U208,
255 209 => U209,
256 210 => U210,
257 211 => U211,
258 212 => U212,
259 213 => U213,
260 214 => U214,
261 215 => U215,
262 216 => U216,
263 217 => U217,
264 218 => U218,
265 219 => U219,
266 220 => U220,
267 221 => U221,
268 222 => U222,
269 223 => U223,
270 224 => U224,
271 225 => U225,
272 226 => U226,
273 227 => U227,
274 228 => U228,
275 229 => U229,
276 230 => U230,
277 231 => U231,
278 232 => U232,
279 233 => U233,
280 234 => U234,
281 235 => U235,
282 236 => U236,
283 237 => U237,
284 238 => U238,
285 239 => U239,
286 240 => U240,
287 241 => U241,
288 242 => U242,
289 243 => U243,
290 244 => U244,
291 245 => U245,
292 246 => U246,
293 247 => U247,
294 248 => U248,
295 249 => U249,
296 250 => U250,
297 251 => U251,
298 252 => U252,
299 253 => U253,
300 254 => U254,
301 255 => U255,
302 256 => U256,
303 257 => U257,
304 258 => U258,
305 259 => U259,
306 260 => U260,
307 261 => U261,
308 262 => U262,
309 263 => U263,
310 264 => U264,
311 265 => U265,
312 266 => U266,
313 267 => U267,
314 268 => U268,
315 269 => U269,
316 270 => U270,
317 271 => U271,
318 272 => U272,
319 273 => U273,
320 274 => U274,
321 275 => U275,
322 276 => U276,
323 277 => U277,
324 278 => U278,
325 279 => U279,
326 280 => U280,
327 281 => U281,
328 282 => U282,
329 283 => U283,
330 284 => U284,
331 285 => U285,
332 286 => U286,
333 287 => U287,
334 288 => U288,
335 289 => U289,
336 290 => U290,
337 291 => U291,
338 292 => U292,
339 293 => U293,
340 294 => U294,
341 295 => U295,
342 296 => U296,
343 297 => U297,
344 298 => U298,
345 299 => U299,
346 300 => U300,
347 301 => U301,
348 302 => U302,
349 303 => U303,
350 304 => U304,
351 305 => U305,
352 306 => U306,
353 307 => U307,
354 308 => U308,
355 309 => U309,
356 310 => U310,
357 311 => U311,
358 312 => U312,
359 313 => U313,
360 314 => U314,
361 315 => U315,
362 316 => U316,
363 317 => U317,
364 318 => U318,
365 319 => U319,
366 320 => U320,
367 321 => U321,
368 322 => U322,
369 323 => U323,
370 324 => U324,
371 325 => U325,
372 326 => U326,
373 327 => U327,
374 328 => U328,
375 329 => U329,
376 330 => U330,
377 331 => U331,
378 332 => U332,
379 333 => U333,
380 334 => U334,
381 335 => U335,
382 336 => U336,
383 337 => U337,
384 338 => U338,
385 339 => U339,
386 340 => U340,
387 341 => U341,
388 342 => U342,
389 343 => U343,
390 344 => U344,
391 345 => U345,
392 346 => U346,
393 347 => U347,
394 348 => U348,
395 349 => U349,
396 350 => U350,
397 351 => U351,
398 352 => U352,
399 353 => U353,
400 354 => U354,
401 355 => U355,
402 356 => U356,
403 357 => U357,
404 358 => U358,
405 359 => U359,
406 360 => U360,
407 361 => U361,
408 362 => U362,
409 363 => U363,
410 364 => U364,
411 365 => U365,
412 366 => U366,
413 367 => U367,
414 368 => U368,
415 369 => U369,
416 370 => U370,
417 371 => U371,
418 372 => U372,
419 373 => U373,
420 374 => U374,
421 375 => U375,
422 376 => U376,
423 377 => U377,
424 378 => U378,
425 379 => U379,
426 380 => U380,
427 381 => U381,
428 382 => U382,
429 383 => U383,
430 384 => U384,
431 385 => U385,
432 386 => U386,
433 387 => U387,
434 388 => U388,
435 389 => U389,
436 390 => U390,
437 391 => U391,
438 392 => U392,
439 393 => U393,
440 394 => U394,
441 395 => U395,
442 396 => U396,
443 397 => U397,
444 398 => U398,
445 399 => U399,
446 400 => U400,
447 401 => U401,
448 402 => U402,
449 403 => U403,
450 404 => U404,
451 405 => U405,
452 406 => U406,
453 407 => U407,
454 408 => U408,
455 409 => U409,
456 410 => U410,
457 411 => U411,
458 412 => U412,
459 413 => U413,
460 414 => U414,
461 415 => U415,
462 416 => U416,
463 417 => U417,
464 418 => U418,
465 419 => U419,
466 420 => U420,
467 421 => U421,
468 422 => U422,
469 423 => U423,
470 424 => U424,
471 425 => U425,
472 426 => U426,
473 427 => U427,
474 428 => U428,
475 429 => U429,
476 430 => U430,
477 431 => U431,
478 432 => U432,
479 433 => U433,
480 434 => U434,
481 435 => U435,
482 436 => U436,
483 437 => U437,
484 438 => U438,
485 439 => U439,
486 440 => U440,
487 441 => U441,
488 442 => U442,
489 443 => U443,
490 444 => U444,
491 445 => U445,
492 446 => U446,
493 447 => U447,
494 448 => U448,
495 449 => U449,
496 450 => U450,
497 451 => U451,
498 452 => U452,
499 453 => U453,
500 454 => U454,
501 455 => U455,
502 456 => U456,
503 457 => U457,
504 458 => U458,
505 459 => U459,
506 460 => U460,
507 461 => U461,
508 462 => U462,
509 463 => U463,
510 464 => U464,
511 465 => U465,
512 466 => U466,
513 467 => U467,
514 468 => U468,
515 469 => U469,
516 470 => U470,
517 471 => U471,
518 472 => U472,
519 473 => U473,
520 474 => U474,
521 475 => U475,
522 476 => U476,
523 477 => U477,
524 478 => U478,
525 479 => U479,
526 480 => U480,
527 481 => U481,
528 482 => U482,
529 483 => U483,
530 484 => U484,
531 485 => U485,
532 486 => U486,
533 487 => U487,
534 488 => U488,
535 489 => U489,
536 490 => U490,
537 491 => U491,
538 492 => U492,
539 493 => U493,
540 494 => U494,
541 495 => U495,
542 496 => U496,
543 497 => U497,
544 498 => U498,
545 499 => U499,
546 500 => U500,
547 501 => U501,
548 502 => U502,
549 503 => U503,
550 504 => U504,
551 505 => U505,
552 506 => U506,
553 507 => U507,
554 508 => U508,
555 509 => U509,
556 510 => U510,
557 511 => U511,
558 512 => U512,
559 528 => U528,
560 544 => U544,
561 560 => U560,
562 576 => U576,
563 592 => U592,
564 608 => U608,
565 624 => U624,
566 640 => U640,
567 656 => U656,
568 672 => U672,
569 688 => U688,
570 704 => U704,
571 720 => U720,
572 736 => U736,
573 752 => U752,
574 768 => U768,
575 784 => U784,
576 800 => U800,
577 816 => U816,
578 832 => U832,
579 848 => U848,
580 864 => U864,
581 880 => U880,
582 896 => U896,
583 912 => U912,
584 928 => U928,
585 944 => U944,
586 960 => U960,
587 976 => U976,
588 992 => U992,
589 1008 => U1008,
590 1024 => U1024,
591 2048 => U2048,
592 4096 => U4096,
593 8192 => U8192,
594}
595
596#[cfg(feature = "extra-sizes")]
600#[allow(missing_docs)]
601mod extra_sizes {
602 use super::{ArraySize, AssocArraySize};
603 use typenum::{
604 UInt, UTerm,
605 consts::{B0, B1},
606 };
607
608 macro_rules! uint {
612 () => { UTerm };
613 (0 $($bs:tt)*) => { UInt< uint!($($bs)*), B0 > };
614 (1 $($bs:tt)*) => { UInt< uint!($($bs)*), B1 > };
615 }
616
617 pub type U1040 = uint!(0 0 0 0 1 0 0 0 0 0 1);
618 pub type U1056 = uint!(0 0 0 0 0 1 0 0 0 0 1);
619 pub type U1072 = uint!(0 0 0 0 1 1 0 0 0 0 1);
620 pub type U1088 = uint!(0 0 0 0 0 0 1 0 0 0 1);
621 pub type U1104 = uint!(0 0 0 0 1 0 1 0 0 0 1);
622 pub type U1120 = uint!(0 0 0 0 0 1 1 0 0 0 1);
623 pub type U1136 = uint!(0 0 0 0 1 1 1 0 0 0 1);
624 pub type U1152 = uint!(0 0 0 0 0 0 0 1 0 0 1);
625 pub type U1168 = uint!(0 0 0 0 1 0 0 1 0 0 1);
626 pub type U1184 = uint!(0 0 0 0 0 1 0 1 0 0 1);
627 pub type U1200 = uint!(0 0 0 0 1 1 0 1 0 0 1);
628 pub type U1216 = uint!(0 0 0 0 0 0 1 1 0 0 1);
629 pub type U1232 = uint!(0 0 0 0 1 0 1 1 0 0 1);
630 pub type U1248 = uint!(0 0 0 0 0 1 1 1 0 0 1);
631 pub type U1264 = uint!(0 0 0 0 1 1 1 1 0 0 1);
632 pub type U1280 = uint!(0 0 0 0 0 0 0 0 1 0 1);
633 pub type U1296 = uint!(0 0 0 0 1 0 0 0 1 0 1);
634 pub type U1312 = uint!(0 0 0 0 0 1 0 0 1 0 1);
635 pub type U1328 = uint!(0 0 0 0 1 1 0 0 1 0 1);
636 pub type U1344 = uint!(0 0 0 0 0 0 1 0 1 0 1);
637 pub type U1360 = uint!(0 0 0 0 1 0 1 0 1 0 1);
638 pub type U1376 = uint!(0 0 0 0 0 1 1 0 1 0 1);
639 pub type U1392 = uint!(0 0 0 0 1 1 1 0 1 0 1);
640 pub type U1408 = uint!(0 0 0 0 0 0 0 1 1 0 1);
641 pub type U1424 = uint!(0 0 0 0 1 0 0 1 1 0 1);
642 pub type U1440 = uint!(0 0 0 0 0 1 0 1 1 0 1);
643 pub type U1456 = uint!(0 0 0 0 1 1 0 1 1 0 1);
644 pub type U1472 = uint!(0 0 0 0 0 0 1 1 1 0 1);
645 pub type U1488 = uint!(0 0 0 0 1 0 1 1 1 0 1);
646 pub type U1504 = uint!(0 0 0 0 0 1 1 1 1 0 1);
647 pub type U1520 = uint!(0 0 0 0 1 1 1 1 1 0 1);
648 pub type U1536 = uint!(0 0 0 0 0 0 0 0 0 1 1);
649 pub type U1552 = uint!(0 0 0 0 1 0 0 0 0 1 1);
650 pub type U1568 = uint!(0 0 0 0 0 1 0 0 0 1 1);
651 pub type U1584 = uint!(0 0 0 0 1 1 0 0 0 1 1);
652 pub type U1600 = uint!(0 0 0 0 0 0 1 0 0 1 1);
653 pub type U1616 = uint!(0 0 0 0 1 0 1 0 0 1 1);
654 pub type U1632 = uint!(0 0 0 0 0 1 1 0 0 1 1);
655 pub type U1648 = uint!(0 0 0 0 1 1 1 0 0 1 1);
656 pub type U1664 = uint!(0 0 0 0 0 0 0 1 0 1 1);
657 pub type U1680 = uint!(0 0 0 0 1 0 0 1 0 1 1);
658 pub type U1696 = uint!(0 0 0 0 0 1 0 1 0 1 1);
659 pub type U1712 = uint!(0 0 0 0 1 1 0 1 0 1 1);
660 pub type U1728 = uint!(0 0 0 0 0 0 1 1 0 1 1);
661 pub type U1744 = uint!(0 0 0 0 1 0 1 1 0 1 1);
662 pub type U1760 = uint!(0 0 0 0 0 1 1 1 0 1 1);
663 pub type U1776 = uint!(0 0 0 0 1 1 1 1 0 1 1);
664 pub type U1792 = uint!(0 0 0 0 0 0 0 0 1 1 1);
665 pub type U1808 = uint!(0 0 0 0 1 0 0 0 1 1 1);
666 pub type U1824 = uint!(0 0 0 0 0 1 0 0 1 1 1);
667 pub type U1840 = uint!(0 0 0 0 1 1 0 0 1 1 1);
668 pub type U1856 = uint!(0 0 0 0 0 0 1 0 1 1 1);
669 pub type U1872 = uint!(0 0 0 0 1 0 1 0 1 1 1);
670 pub type U1888 = uint!(0 0 0 0 0 1 1 0 1 1 1);
671 pub type U1904 = uint!(0 0 0 0 1 1 1 0 1 1 1);
672 pub type U1920 = uint!(0 0 0 0 0 0 0 1 1 1 1);
673 pub type U1936 = uint!(0 0 0 0 1 0 0 1 1 1 1);
674 pub type U1952 = uint!(0 0 0 0 0 1 0 1 1 1 1);
675 pub type U1968 = uint!(0 0 0 0 1 1 0 1 1 1 1);
676 pub type U1984 = uint!(0 0 0 0 0 0 1 1 1 1 1);
677 pub type U2000 = uint!(0 0 0 0 1 0 1 1 1 1 1);
678 pub type U2016 = uint!(0 0 0 0 0 1 1 1 1 1 1);
679 pub type U2032 = uint!(0 0 0 0 1 1 1 1 1 1 1);
680 pub type U2064 = uint!(0 0 0 0 1 0 0 0 0 0 0 1);
681 pub type U2080 = uint!(0 0 0 0 0 1 0 0 0 0 0 1);
682 pub type U2096 = uint!(0 0 0 0 1 1 0 0 0 0 0 1);
683 pub type U2112 = uint!(0 0 0 0 0 0 1 0 0 0 0 1);
684 pub type U2128 = uint!(0 0 0 0 1 0 1 0 0 0 0 1);
685 pub type U2144 = uint!(0 0 0 0 0 1 1 0 0 0 0 1);
686 pub type U2160 = uint!(0 0 0 0 1 1 1 0 0 0 0 1);
687 pub type U2176 = uint!(0 0 0 0 0 0 0 1 0 0 0 1);
688 pub type U2192 = uint!(0 0 0 0 1 0 0 1 0 0 0 1);
689 pub type U2208 = uint!(0 0 0 0 0 1 0 1 0 0 0 1);
690 pub type U2224 = uint!(0 0 0 0 1 1 0 1 0 0 0 1);
691 pub type U2240 = uint!(0 0 0 0 0 0 1 1 0 0 0 1);
692 pub type U2256 = uint!(0 0 0 0 1 0 1 1 0 0 0 1);
693 pub type U2272 = uint!(0 0 0 0 0 1 1 1 0 0 0 1);
694 pub type U2288 = uint!(0 0 0 0 1 1 1 1 0 0 0 1);
695 pub type U2304 = uint!(0 0 0 0 0 0 0 0 1 0 0 1);
696 pub type U2320 = uint!(0 0 0 0 1 0 0 0 1 0 0 1);
697 pub type U2336 = uint!(0 0 0 0 0 1 0 0 1 0 0 1);
698 pub type U2352 = uint!(0 0 0 0 1 1 0 0 1 0 0 1);
699 pub type U2368 = uint!(0 0 0 0 0 0 1 0 1 0 0 1);
700 pub type U2384 = uint!(0 0 0 0 1 0 1 0 1 0 0 1);
701 pub type U2400 = uint!(0 0 0 0 0 1 1 0 1 0 0 1);
702 pub type U2416 = uint!(0 0 0 0 1 1 1 0 1 0 0 1);
703 pub type U2432 = uint!(0 0 0 0 0 0 0 1 1 0 0 1);
704 pub type U2448 = uint!(0 0 0 0 1 0 0 1 1 0 0 1);
705 pub type U2464 = uint!(0 0 0 0 0 1 0 1 1 0 0 1);
706 pub type U2480 = uint!(0 0 0 0 1 1 0 1 1 0 0 1);
707 pub type U2496 = uint!(0 0 0 0 0 0 1 1 1 0 0 1);
708 pub type U2512 = uint!(0 0 0 0 1 0 1 1 1 0 0 1);
709 pub type U2528 = uint!(0 0 0 0 0 1 1 1 1 0 0 1);
710 pub type U2544 = uint!(0 0 0 0 1 1 1 1 1 0 0 1);
711 pub type U2560 = uint!(0 0 0 0 0 0 0 0 0 1 0 1);
712 pub type U2576 = uint!(0 0 0 0 1 0 0 0 0 1 0 1);
713 pub type U2592 = uint!(0 0 0 0 0 1 0 0 0 1 0 1);
714 pub type U2608 = uint!(0 0 0 0 1 1 0 0 0 1 0 1);
715 pub type U2624 = uint!(0 0 0 0 0 0 1 0 0 1 0 1);
716 pub type U2640 = uint!(0 0 0 0 1 0 1 0 0 1 0 1);
717 pub type U2656 = uint!(0 0 0 0 0 1 1 0 0 1 0 1);
718 pub type U2672 = uint!(0 0 0 0 1 1 1 0 0 1 0 1);
719 pub type U2688 = uint!(0 0 0 0 0 0 0 1 0 1 0 1);
720 pub type U2704 = uint!(0 0 0 0 1 0 0 1 0 1 0 1);
721 pub type U2720 = uint!(0 0 0 0 0 1 0 1 0 1 0 1);
722 pub type U2736 = uint!(0 0 0 0 1 1 0 1 0 1 0 1);
723 pub type U2752 = uint!(0 0 0 0 0 0 1 1 0 1 0 1);
724 pub type U2768 = uint!(0 0 0 0 1 0 1 1 0 1 0 1);
725 pub type U2784 = uint!(0 0 0 0 0 1 1 1 0 1 0 1);
726 pub type U2800 = uint!(0 0 0 0 1 1 1 1 0 1 0 1);
727 pub type U2816 = uint!(0 0 0 0 0 0 0 0 1 1 0 1);
728 pub type U2832 = uint!(0 0 0 0 1 0 0 0 1 1 0 1);
729 pub type U2848 = uint!(0 0 0 0 0 1 0 0 1 1 0 1);
730 pub type U2864 = uint!(0 0 0 0 1 1 0 0 1 1 0 1);
731 pub type U2880 = uint!(0 0 0 0 0 0 1 0 1 1 0 1);
732 pub type U2896 = uint!(0 0 0 0 1 0 1 0 1 1 0 1);
733 pub type U2912 = uint!(0 0 0 0 0 1 1 0 1 1 0 1);
734 pub type U2928 = uint!(0 0 0 0 1 1 1 0 1 1 0 1);
735 pub type U2944 = uint!(0 0 0 0 0 0 0 1 1 1 0 1);
736 pub type U2960 = uint!(0 0 0 0 1 0 0 1 1 1 0 1);
737 pub type U2976 = uint!(0 0 0 0 0 1 0 1 1 1 0 1);
738 pub type U2992 = uint!(0 0 0 0 1 1 0 1 1 1 0 1);
739 pub type U3008 = uint!(0 0 0 0 0 0 1 1 1 1 0 1);
740 pub type U3024 = uint!(0 0 0 0 1 0 1 1 1 1 0 1);
741 pub type U3040 = uint!(0 0 0 0 0 1 1 1 1 1 0 1);
742 pub type U3056 = uint!(0 0 0 0 1 1 1 1 1 1 0 1);
743 pub type U3072 = uint!(0 0 0 0 0 0 0 0 0 0 1 1);
744 pub type U3088 = uint!(0 0 0 0 1 0 0 0 0 0 1 1);
745 pub type U3104 = uint!(0 0 0 0 0 1 0 0 0 0 1 1);
746 pub type U3120 = uint!(0 0 0 0 1 1 0 0 0 0 1 1);
747 pub type U3136 = uint!(0 0 0 0 0 0 1 0 0 0 1 1);
748 pub type U3152 = uint!(0 0 0 0 1 0 1 0 0 0 1 1);
749 pub type U3168 = uint!(0 0 0 0 0 1 1 0 0 0 1 1);
750 pub type U3184 = uint!(0 0 0 0 1 1 1 0 0 0 1 1);
751 pub type U3200 = uint!(0 0 0 0 0 0 0 1 0 0 1 1);
752 pub type U3216 = uint!(0 0 0 0 1 0 0 1 0 0 1 1);
753 pub type U3232 = uint!(0 0 0 0 0 1 0 1 0 0 1 1);
754 pub type U3248 = uint!(0 0 0 0 1 1 0 1 0 0 1 1);
755 pub type U3264 = uint!(0 0 0 0 0 0 1 1 0 0 1 1);
756 pub type U3280 = uint!(0 0 0 0 1 0 1 1 0 0 1 1);
757 pub type U3296 = uint!(0 0 0 0 0 1 1 1 0 0 1 1);
758 pub type U3312 = uint!(0 0 0 0 1 1 1 1 0 0 1 1);
759 pub type U3328 = uint!(0 0 0 0 0 0 0 0 1 0 1 1);
760 pub type U3344 = uint!(0 0 0 0 1 0 0 0 1 0 1 1);
761 pub type U3360 = uint!(0 0 0 0 0 1 0 0 1 0 1 1);
762 pub type U3376 = uint!(0 0 0 0 1 1 0 0 1 0 1 1);
763 pub type U3392 = uint!(0 0 0 0 0 0 1 0 1 0 1 1);
764 pub type U3408 = uint!(0 0 0 0 1 0 1 0 1 0 1 1);
765 pub type U3424 = uint!(0 0 0 0 0 1 1 0 1 0 1 1);
766 pub type U3440 = uint!(0 0 0 0 1 1 1 0 1 0 1 1);
767 pub type U3456 = uint!(0 0 0 0 0 0 0 1 1 0 1 1);
768 pub type U3472 = uint!(0 0 0 0 1 0 0 1 1 0 1 1);
769 pub type U3488 = uint!(0 0 0 0 0 1 0 1 1 0 1 1);
770 pub type U3504 = uint!(0 0 0 0 1 1 0 1 1 0 1 1);
771 pub type U3520 = uint!(0 0 0 0 0 0 1 1 1 0 1 1);
772 pub type U3536 = uint!(0 0 0 0 1 0 1 1 1 0 1 1);
773 pub type U3552 = uint!(0 0 0 0 0 1 1 1 1 0 1 1);
774 pub type U3568 = uint!(0 0 0 0 1 1 1 1 1 0 1 1);
775 pub type U3584 = uint!(0 0 0 0 0 0 0 0 0 1 1 1);
776 pub type U3600 = uint!(0 0 0 0 1 0 0 0 0 1 1 1);
777 pub type U3616 = uint!(0 0 0 0 0 1 0 0 0 1 1 1);
778 pub type U3632 = uint!(0 0 0 0 1 1 0 0 0 1 1 1);
779 pub type U3648 = uint!(0 0 0 0 0 0 1 0 0 1 1 1);
780 pub type U3664 = uint!(0 0 0 0 1 0 1 0 0 1 1 1);
781 pub type U3680 = uint!(0 0 0 0 0 1 1 0 0 1 1 1);
782 pub type U3696 = uint!(0 0 0 0 1 1 1 0 0 1 1 1);
783 pub type U3712 = uint!(0 0 0 0 0 0 0 1 0 1 1 1);
784 pub type U3728 = uint!(0 0 0 0 1 0 0 1 0 1 1 1);
785 pub type U3744 = uint!(0 0 0 0 0 1 0 1 0 1 1 1);
786 pub type U3760 = uint!(0 0 0 0 1 1 0 1 0 1 1 1);
787 pub type U3776 = uint!(0 0 0 0 0 0 1 1 0 1 1 1);
788 pub type U3792 = uint!(0 0 0 0 1 0 1 1 0 1 1 1);
789 pub type U3808 = uint!(0 0 0 0 0 1 1 1 0 1 1 1);
790 pub type U3824 = uint!(0 0 0 0 1 1 1 1 0 1 1 1);
791 pub type U3840 = uint!(0 0 0 0 0 0 0 0 1 1 1 1);
792 pub type U3856 = uint!(0 0 0 0 1 0 0 0 1 1 1 1);
793 pub type U3872 = uint!(0 0 0 0 0 1 0 0 1 1 1 1);
794 pub type U3888 = uint!(0 0 0 0 1 1 0 0 1 1 1 1);
795 pub type U3904 = uint!(0 0 0 0 0 0 1 0 1 1 1 1);
796 pub type U3920 = uint!(0 0 0 0 1 0 1 0 1 1 1 1);
797 pub type U3936 = uint!(0 0 0 0 0 1 1 0 1 1 1 1);
798 pub type U3952 = uint!(0 0 0 0 1 1 1 0 1 1 1 1);
799 pub type U3968 = uint!(0 0 0 0 0 0 0 1 1 1 1 1);
800 pub type U3984 = uint!(0 0 0 0 1 0 0 1 1 1 1 1);
801 pub type U4000 = uint!(0 0 0 0 0 1 0 1 1 1 1 1);
802 pub type U4016 = uint!(0 0 0 0 1 1 0 1 1 1 1 1);
803 pub type U4032 = uint!(0 0 0 0 0 0 1 1 1 1 1 1);
804 pub type U4048 = uint!(0 0 0 0 1 0 1 1 1 1 1 1);
805 pub type U4064 = uint!(0 0 0 0 0 1 1 1 1 1 1 1);
806 pub type U4080 = uint!(0 0 0 0 1 1 1 1 1 1 1 1);
807
808 pub type U2420 = uint!(0 0 1 0 1 1 1 0 1 0 0 1);
813 pub type U3309 = uint!(1 0 1 1 0 1 1 1 0 0 1 1);
814 pub type U4480 = uint!(0 0 0 0 0 0 0 1 1 0 0 0 1);
815 pub type U4544 = uint!(0 0 0 0 0 0 1 1 1 0 0 0 1);
816 pub type U4595 = uint!(1 1 0 0 1 1 1 1 1 0 0 0 1);
817 pub type U4627 = uint!(1 1 0 0 1 0 0 0 0 1 0 0 1);
818 pub type U4896 = uint!(0 0 0 0 0 1 0 0 1 1 0 0 1);
819
820 pub type U7856 = uint!(0 0 0 0 1 1 0 1 0 1 1 1 1);
822 pub type U16224 = uint!(0 0 0 0 0 1 1 0 1 1 1 1 1 1);
823 pub type U17088 = uint!(0 0 0 0 0 0 1 1 0 1 0 0 0 0 1);
824 pub type U29792 = uint!(0 0 0 0 0 1 1 0 0 0 1 0 1 1 1);
825 pub type U35664 = uint!(0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 1);
826 pub type U49856 = uint!(0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1);
827
828 pub type U749 = uint!(1 0 1 1 0 1 1 1 0 1);
830 pub type U781 = uint!(1 0 1 1 0 0 0 0 1 1);
831 pub type U877 = uint!(1 0 1 1 0 1 1 0 1 1);
832 pub type U1124 = uint!(0 0 1 0 0 1 1 0 0 0 1);
833 pub type U1156 = uint!(0 0 1 0 0 0 0 1 0 0 1);
834 pub type U1252 = uint!(0 0 1 0 0 1 1 1 0 0 1);
835 pub type U1498 = uint!(0 1 0 1 1 0 1 1 1 0 1);
836 pub type U1530 = uint!(0 1 0 1 1 1 1 1 1 0 1);
837 pub type U1658 = uint!(0 1 0 1 1 1 1 0 0 1 1);
838
839 pub type U2047 = uint!(1 1 1 1 1 1 1 1 1 1 1);
841 pub type U2180 = uint!(0 0 1 0 0 0 0 1 0 0 0 1);
842 pub type U4292 = uint!(0 0 1 0 0 0 1 1 0 0 0 0 1);
843 pub type U8516 = uint!(0 0 1 0 0 0 1 0 1 0 0 0 0 1);
844
845 pub type U9616 = uint!(0 0 0 0 1 0 0 1 1 0 1 0 0 1);
848 pub type U19888 = uint!(0 0 0 0 1 1 0 1 1 0 1 1 0 0 1);
849 pub type U9720 = uint!(0 0 0 1 1 1 1 1 1 0 1 0 0 1);
850 pub type U9752 = uint!(0 0 0 1 1 0 0 0 0 1 1 0 0 1);
851
852 pub type U15632 = uint!(0 0 0 0 1 0 0 0 1 0 1 1 1 1);
854 pub type U31296 = uint!(0 0 0 0 0 0 1 0 0 1 0 1 1 1 1);
855 pub type U15744 = uint!(0 0 0 0 0 0 0 1 1 0 1 1 1 1);
856 pub type U15792 = uint!(0 0 0 0 1 1 0 1 1 0 1 1 1 1);
857
858 pub type U21520 = uint!(0 0 0 0 1 0 0 0 0 0 1 0 1 0 1);
860 pub type U43088 = uint!(0 0 0 0 1 0 1 0 0 0 0 1 0 1 0 1);
861 pub type U21632 = uint!(0 0 0 0 0 0 0 1 0 0 1 0 1 0 1);
862 pub type U21696 = uint!(0 0 0 0 0 0 1 1 0 0 1 0 1 0 1);
863
864 impl_array_sizes! {
865 1040 => U1040,
866 1056 => U1056,
867 1072 => U1072,
868 1088 => U1088,
869 1104 => U1104,
870 1120 => U1120,
871 1136 => U1136,
872 1152 => U1152,
873 1168 => U1168,
874 1184 => U1184,
875 1200 => U1200,
876 1216 => U1216,
877 1232 => U1232,
878 1248 => U1248,
879 1264 => U1264,
880 1280 => U1280,
881 1296 => U1296,
882 1312 => U1312,
883 1328 => U1328,
884 1344 => U1344,
885 1360 => U1360,
886 1376 => U1376,
887 1392 => U1392,
888 1408 => U1408,
889 1424 => U1424,
890 1440 => U1440,
891 1456 => U1456,
892 1472 => U1472,
893 1488 => U1488,
894 1504 => U1504,
895 1520 => U1520,
896 1536 => U1536,
897 1552 => U1552,
898 1568 => U1568,
899 1584 => U1584,
900 1600 => U1600,
901 1616 => U1616,
902 1632 => U1632,
903 1648 => U1648,
904 1664 => U1664,
905 1680 => U1680,
906 1696 => U1696,
907 1712 => U1712,
908 1728 => U1728,
909 1744 => U1744,
910 1760 => U1760,
911 1776 => U1776,
912 1792 => U1792,
913 1808 => U1808,
914 1824 => U1824,
915 1840 => U1840,
916 1856 => U1856,
917 1872 => U1872,
918 1888 => U1888,
919 1904 => U1904,
920 1920 => U1920,
921 1936 => U1936,
922 1952 => U1952,
923 1968 => U1968,
924 1984 => U1984,
925 2000 => U2000,
926 2016 => U2016,
927 2032 => U2032,
928 2064 => U2064,
929 2080 => U2080,
930 2096 => U2096,
931 2112 => U2112,
932 2128 => U2128,
933 2144 => U2144,
934 2160 => U2160,
935 2176 => U2176,
936 2192 => U2192,
937 2208 => U2208,
938 2224 => U2224,
939 2240 => U2240,
940 2256 => U2256,
941 2272 => U2272,
942 2288 => U2288,
943 2304 => U2304,
944 2320 => U2320,
945 2336 => U2336,
946 2352 => U2352,
947 2368 => U2368,
948 2384 => U2384,
949 2400 => U2400,
950 2416 => U2416,
951 2432 => U2432,
952 2448 => U2448,
953 2464 => U2464,
954 2480 => U2480,
955 2496 => U2496,
956 2512 => U2512,
957 2528 => U2528,
958 2544 => U2544,
959 2560 => U2560,
960 2576 => U2576,
961 2592 => U2592,
962 2608 => U2608,
963 2624 => U2624,
964 2640 => U2640,
965 2656 => U2656,
966 2672 => U2672,
967 2688 => U2688,
968 2704 => U2704,
969 2720 => U2720,
970 2736 => U2736,
971 2752 => U2752,
972 2768 => U2768,
973 2784 => U2784,
974 2800 => U2800,
975 2816 => U2816,
976 2832 => U2832,
977 2848 => U2848,
978 2864 => U2864,
979 2880 => U2880,
980 2896 => U2896,
981 2912 => U2912,
982 2928 => U2928,
983 2944 => U2944,
984 2960 => U2960,
985 2976 => U2976,
986 2992 => U2992,
987 3008 => U3008,
988 3024 => U3024,
989 3040 => U3040,
990 3056 => U3056,
991 3072 => U3072,
992 3088 => U3088,
993 3104 => U3104,
994 3120 => U3120,
995 3136 => U3136,
996 3152 => U3152,
997 3168 => U3168,
998 3184 => U3184,
999 3200 => U3200,
1000 3216 => U3216,
1001 3232 => U3232,
1002 3248 => U3248,
1003 3264 => U3264,
1004 3280 => U3280,
1005 3296 => U3296,
1006 3312 => U3312,
1007 3328 => U3328,
1008 3344 => U3344,
1009 3360 => U3360,
1010 3376 => U3376,
1011 3392 => U3392,
1012 3408 => U3408,
1013 3424 => U3424,
1014 3440 => U3440,
1015 3456 => U3456,
1016 3472 => U3472,
1017 3488 => U3488,
1018 3504 => U3504,
1019 3520 => U3520,
1020 3536 => U3536,
1021 3552 => U3552,
1022 3568 => U3568,
1023 3584 => U3584,
1024 3600 => U3600,
1025 3616 => U3616,
1026 3632 => U3632,
1027 3648 => U3648,
1028 3664 => U3664,
1029 3680 => U3680,
1030 3696 => U3696,
1031 3712 => U3712,
1032 3728 => U3728,
1033 3744 => U3744,
1034 3760 => U3760,
1035 3776 => U3776,
1036 3792 => U3792,
1037 3808 => U3808,
1038 3824 => U3824,
1039 3840 => U3840,
1040 3856 => U3856,
1041 3872 => U3872,
1042 3888 => U3888,
1043 3904 => U3904,
1044 3920 => U3920,
1045 3936 => U3936,
1046 3952 => U3952,
1047 3968 => U3968,
1048 3984 => U3984,
1049 4000 => U4000,
1050 4016 => U4016,
1051 4032 => U4032,
1052 4048 => U4048,
1053 4064 => U4064,
1054 4080 => U4080,
1055 }
1056
1057 impl_array_sizes! {
1059 2420 => U2420,
1060 3309 => U3309,
1061 4480 => U4480,
1062 4544 => U4544,
1063 4595 => U4595,
1064 4627 => U4627,
1065 4896 => U4896,
1066 }
1067
1068 impl_array_sizes! {
1070 7856 => U7856,
1071 16224 => U16224,
1072 17088 => U17088,
1073 29792 => U29792,
1074 35664 => U35664,
1075 49856 => U49856,
1076 }
1077
1078 impl_array_sizes! {
1080 749 => U749,
1081 781 => U781,
1082 877 => U877,
1083 1124 => U1124,
1084 1156 => U1156,
1085 1252 => U1252,
1086 1498 => U1498,
1087 1530 => U1530,
1088 1658 => U1658,
1089 }
1090
1091 impl_array_sizes! {
1093 2047 => U2047,
1094 2180 => U2180,
1095 4292 => U4292,
1096 8516 => U8516,
1097 }
1098
1099 impl_array_sizes! {
1101 9616 => U9616,
1102 19888 => U19888,
1103 9720 => U9720,
1104 9752 => U9752,
1105 15632 => U15632,
1106 31296 => U31296,
1107 15744 => U15744,
1108 15792 => U15792,
1109 21520 => U21520,
1110 43088 => U43088,
1111 21632 => U21632,
1112 21696 => U21696,
1113 }
1114}