1use super::*;
2
3impl ToU8 for u32 {
4 fn to_u8(self) -> u8 {
5 if self & 0xffff_ff00 != 0 {
6 u8::MAX
7 } else {
8 self as u8
9 }
10 }
11}
12impl AsU16 for u32 {
13 fn as_u16(self) -> u16 {
14 if self & 0xffff_0000 != 0 {
15 u16::MAX
16 } else {
17 self as u16
18 }
19 }
20}
21impl AsU32 for u32 {
22 fn as_u32(self) -> u32 {
23 self
24 }
25}
26impl AsU64 for u32 {
27 fn as_u64(self) -> u64 {
28 self.into()
29 }
30}
31impl AsU128 for u32 {
32 fn as_u128(self) -> u128 {
33 self.into()
34 }
35}
36
37impl ToI8 for u32 {
38 fn to_i8(self) -> i8 {
39 if self & 0xffff_ff80 != 0 {
40 i8::MAX
41 } else {
42 self as i8
43 }
44 }
45}
46impl AsI16 for u32 {
47 fn as_i16(self) -> i16 {
48 if self & 0xffff_8000 != 0 {
49 i16::MAX
50 } else {
51 self as i16
52 }
53 }
54}
55impl ToI32 for u32 {
56 fn to_i32(self) -> i32 {
57 if self & 0x8000_0000 != 0 {
58 i32::MAX
59 } else {
60 self as i32
61 }
62 }
63}
64impl AsI64 for u32 {
65 fn as_i64(self) -> i64 {
66 self.into()
67 }
68}
69impl AsI128 for u32 {
70 fn as_i128(self) -> i128 {
71 self.into()
72 }
73}
74
75impl ToF32 for u32 {
76 fn to_f32(self) -> f32 {
77 self as f32
78 }
79}
80impl AsF64 for u32 {
81 fn as_f64(self) -> f64 {
82 self.into()
83 }
84}