11mod unchecked {
22 // 0 < val <= u8::MAX
3+ #[ inline]
34 pub const fn u8 ( val : u8 ) -> u32 {
45 let val = val as u32 ;
56
@@ -20,6 +21,7 @@ mod unchecked {
2021 }
2122
2223 // 0 < val < 100_000
24+ #[ inline]
2325 const fn less_than_5 ( val : u32 ) -> u32 {
2426 // Similar to u8, when adding one of these constants to val,
2527 // we get two possible bit patterns above the low 17 bits,
@@ -40,11 +42,13 @@ mod unchecked {
4042 }
4143
4244 // 0 < val <= u16::MAX
45+ #[ inline]
4346 pub const fn u16 ( val : u16 ) -> u32 {
4447 less_than_5 ( val as u32 )
4548 }
4649
4750 // 0 < val <= u32::MAX
51+ #[ inline]
4852 pub const fn u32 ( mut val : u32 ) -> u32 {
4953 let mut log = 0 ;
5054 if val >= 100_000 {
@@ -55,6 +59,7 @@ mod unchecked {
5559 }
5660
5761 // 0 < val <= u64::MAX
62+ #[ inline]
5863 pub const fn u64 ( mut val : u64 ) -> u32 {
5964 let mut log = 0 ;
6065 if val >= 10_000_000_000 {
@@ -69,6 +74,7 @@ mod unchecked {
6974 }
7075
7176 // 0 < val <= u128::MAX
77+ #[ inline]
7278 pub const fn u128 ( mut val : u128 ) -> u32 {
7379 let mut log = 0 ;
7480 if val >= 100_000_000_000_000_000_000_000_000_000_000 {
@@ -84,33 +90,39 @@ mod unchecked {
8490 }
8591
8692 // 0 < val <= i8::MAX
93+ #[ inline]
8794 pub const fn i8 ( val : i8 ) -> u32 {
8895 u8 ( val as u8 )
8996 }
9097
9198 // 0 < val <= i16::MAX
99+ #[ inline]
92100 pub const fn i16 ( val : i16 ) -> u32 {
93101 u16 ( val as u16 )
94102 }
95103
96104 // 0 < val <= i32::MAX
105+ #[ inline]
97106 pub const fn i32 ( val : i32 ) -> u32 {
98107 u32 ( val as u32 )
99108 }
100109
101110 // 0 < val <= i64::MAX
111+ #[ inline]
102112 pub const fn i64 ( val : i64 ) -> u32 {
103113 u64 ( val as u64 )
104114 }
105115
106116 // 0 < val <= i128::MAX
117+ #[ inline]
107118 pub const fn i128 ( val : i128 ) -> u32 {
108119 u128 ( val as u128 )
109120 }
110121}
111122
112123macro_rules! impl_checked {
113124 ( $T: ident) => {
125+ #[ inline]
114126 pub const fn $T( val: $T) -> Option <u32 > {
115127 if val > 0 { Some ( unchecked:: $T( val) ) } else { None }
116128 }
0 commit comments