num_to/
u32.rs

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}