Skip to content

Commit 3ecf6b8

Browse files
committed
Add extra sizes from 8k to 16k that were missing under a new feature
1 parent 9cbea3a commit 3ecf6b8

File tree

3 files changed

+211
-0
lines changed

3 files changed

+211
-0
lines changed

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,7 @@ default = ["rand"]
4444
alloc = ["serdect?/alloc"]
4545

4646
extra-sizes = []
47+
extra-sizes-16k = ["extra-sizes"]
4748
rand = ["rand_core"]
4849
serde = ["dep:serdect"]
4950

src/uint.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ use zeroize::DefaultIsZeroes;
1313
#[cfg(feature = "extra-sizes")]
1414
pub use extra_sizes::*;
1515

16+
#[cfg(feature = "extra-sizes-16k")]
17+
pub use extra_sizes_16k::*;
18+
1619
pub(crate) use ref_type::UintRef;
1720

1821
use crate::{
@@ -529,6 +532,8 @@ impl_uint_concat_split_mixed! {
529532

530533
#[cfg(feature = "extra-sizes")]
531534
mod extra_sizes;
535+
#[cfg(feature = "extra-sizes-16k")]
536+
mod extra_sizes_16k;
532537
mod mul_int;
533538
mod ref_type;
534539

src/uint/extra_sizes_16k.rs

Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
1+
//! Support for additional integer sizes beyond the core set which is defined
2+
//! in the toplevel module.
3+
//!
4+
//! These are feature-gated to keep compile times down for applications which
5+
//! do not need them.
6+
// TODO(tarcieri): switch to a fully const generic implementation using `generic_const_exprs`
7+
8+
use super::*;
9+
use extra_sizes::*;
10+
11+
impl_uint_aliases! {
12+
(U8256, 8256, "8256-bit"),
13+
(U8320, 8320, "8320-bit"),
14+
(U8384, 8384, "8384-bit"),
15+
(U8448, 8448, "8448-bit"),
16+
(U8512, 8512, "8512-bit"),
17+
(U8576, 8576, "8576-bit"),
18+
(U8640, 8640, "8640-bit"),
19+
(U8704, 8704, "8704-bit"),
20+
(U8768, 8768, "8768-bit"),
21+
(U8832, 8832, "8832-bit"),
22+
(U8896, 8896, "8896-bit"),
23+
(U8960, 8960, "8960-bit"),
24+
(U9024, 9024, "9024-bit"),
25+
(U9088, 9088, "9088-bit"),
26+
(U9152, 9152, "9152-bit"),
27+
(U9216, 9216, "9216-bit"),
28+
(U9280, 9280, "9280-bit"),
29+
(U9344, 9344, "9344-bit"),
30+
(U9408, 9408, "9408-bit"),
31+
(U9472, 9472, "9472-bit"),
32+
(U9536, 9536, "9536-bit"),
33+
(U9600, 9600, "9600-bit"),
34+
(U9664, 9664, "9664-bit"),
35+
(U9728, 9728, "9728-bit"),
36+
(U9792, 9792, "9792-bit"),
37+
(U9856, 9856, "9856-bit"),
38+
(U9920, 9920, "9920-bit"),
39+
(U9984, 9984, "9984-bit"),
40+
(U10048, 10048, "10048-bit"),
41+
(U10112, 10112, "10112-bit"),
42+
(U10176, 10176, "10176-bit"),
43+
(U10240, 10240, "10240-bit"),
44+
(U10304, 10304, "10304-bit"),
45+
(U10368, 10368, "10368-bit"),
46+
(U10432, 10432, "10432-bit"),
47+
(U10496, 10496, "10496-bit"),
48+
(U10560, 10560, "10560-bit"),
49+
(U10624, 10624, "10624-bit"),
50+
(U10688, 10688, "10688-bit"),
51+
(U10752, 10752, "10752-bit"),
52+
(U10816, 10816, "10816-bit"),
53+
(U10880, 10880, "10880-bit"),
54+
(U10944, 10944, "10944-bit"),
55+
(U11008, 11008, "11008-bit"),
56+
(U11072, 11072, "11072-bit"),
57+
(U11136, 11136, "11136-bit"),
58+
(U11200, 11200, "11200-bit"),
59+
(U11264, 11264, "11264-bit"),
60+
(U11328, 11328, "11328-bit"),
61+
(U11392, 11392, "11392-bit"),
62+
(U11456, 11456, "11456-bit"),
63+
(U11520, 11520, "11520-bit"),
64+
(U11584, 11584, "11584-bit"),
65+
(U11648, 11648, "11648-bit"),
66+
(U11712, 11712, "11712-bit"),
67+
(U11776, 11776, "11776-bit"),
68+
(U11840, 11840, "11840-bit"),
69+
(U11904, 11904, "11904-bit"),
70+
(U11968, 11968, "11968-bit"),
71+
(U12032, 12032, "12032-bit"),
72+
(U12096, 12096, "12096-bit"),
73+
(U12160, 12160, "12160-bit"),
74+
(U12224, 12224, "12224-bit"),
75+
(U12288, 12288, "12288-bit"),
76+
(U12352, 12352, "12352-bit"),
77+
(U12416, 12416, "12416-bit"),
78+
(U12480, 12480, "12480-bit"),
79+
(U12544, 12544, "12544-bit"),
80+
(U12608, 12608, "12608-bit"),
81+
(U12672, 12672, "12672-bit"),
82+
(U12736, 12736, "12736-bit"),
83+
(U12800, 12800, "12800-bit"),
84+
(U12864, 12864, "12864-bit"),
85+
(U12928, 12928, "12928-bit"),
86+
(U12992, 12992, "12992-bit"),
87+
(U13056, 13056, "13056-bit"),
88+
(U13120, 13120, "13120-bit"),
89+
(U13184, 13184, "13184-bit"),
90+
(U13248, 13248, "13248-bit"),
91+
(U13312, 13312, "13312-bit"),
92+
(U13376, 13376, "13376-bit"),
93+
(U13440, 13440, "13440-bit"),
94+
(U13504, 13504, "13504-bit"),
95+
(U13568, 13568, "13568-bit"),
96+
(U13632, 13632, "13632-bit"),
97+
(U13696, 13696, "13696-bit"),
98+
(U13760, 13760, "13760-bit"),
99+
(U13824, 13824, "13824-bit"),
100+
(U13888, 13888, "13888-bit"),
101+
(U13952, 13952, "13952-bit"),
102+
(U14016, 14016, "14016-bit"),
103+
(U14080, 14080, "14080-bit"),
104+
(U14144, 14144, "14144-bit"),
105+
(U14208, 14208, "14208-bit"),
106+
(U14272, 14272, "14272-bit"),
107+
(U14336, 14336, "14336-bit"),
108+
(U14400, 14400, "14400-bit"),
109+
(U14464, 14464, "14464-bit"),
110+
(U14528, 14528, "14528-bit"),
111+
(U14592, 14592, "14592-bit"),
112+
(U14656, 14656, "14656-bit"),
113+
(U14720, 14720, "14720-bit"),
114+
(U14784, 14784, "14784-bit"),
115+
(U14848, 14848, "14848-bit"),
116+
(U14912, 14912, "14912-bit"),
117+
(U14976, 14976, "14976-bit"),
118+
(U15040, 15040, "15040-bit"),
119+
(U15104, 15104, "15104-bit"),
120+
(U15168, 15168, "15168-bit"),
121+
(U15232, 15232, "15232-bit"),
122+
(U15296, 15296, "15296-bit"),
123+
(U15360, 15360, "15360-bit"),
124+
(U15424, 15424, "15424-bit"),
125+
(U15488, 15488, "15488-bit"),
126+
(U15552, 15552, "15552-bit"),
127+
(U15616, 15616, "15616-bit"),
128+
(U15680, 15680, "15680-bit"),
129+
(U15744, 15744, "15744-bit"),
130+
(U15808, 15808, "15808-bit"),
131+
(U15872, 15872, "15872-bit"),
132+
(U15936, 15936, "15936-bit"),
133+
(U16000, 16000, "16000-bit"),
134+
(U16064, 16064, "16064-bit"),
135+
(U16128, 16128, "16128-bit"),
136+
(U16192, 16192, "16192-bit"),
137+
(U16256, 16256, "16256-bit"),
138+
(U16320, 16320, "16320-bit")
139+
}
140+
141+
impl_uint_concat_split_even! {
142+
U8320,
143+
U8448,
144+
U8576,
145+
U8704,
146+
U8832,
147+
U8960,
148+
U9088,
149+
U9216,
150+
U9344,
151+
U9472,
152+
U9600,
153+
U9728,
154+
U9856,
155+
U9984,
156+
U10112,
157+
U10240,
158+
U10368,
159+
U10496,
160+
U10624,
161+
U10752,
162+
U10880,
163+
U11008,
164+
U11136,
165+
U11264,
166+
U11392,
167+
U11520,
168+
U11648,
169+
U11776,
170+
U11904,
171+
U12032,
172+
U12160,
173+
U12288,
174+
U12416,
175+
U12544,
176+
U12672,
177+
U12800,
178+
U12928,
179+
U13056,
180+
U13184,
181+
U13312,
182+
U13440,
183+
U13568,
184+
U13696,
185+
U13824,
186+
U13952,
187+
U14080,
188+
U14208,
189+
U14336,
190+
U14464,
191+
U14592,
192+
U14720,
193+
U14848,
194+
U14976,
195+
U15104,
196+
U15232,
197+
U15360,
198+
U15488,
199+
U15616,
200+
U15744,
201+
U15872,
202+
U16000,
203+
U16128,
204+
U16256,
205+
}

0 commit comments

Comments
 (0)