num_to/
u16.rs

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