num_to/
u128.rs

1use super::*;
2
3impl ToU8 for u128 {
4    fn to_u8(self) -> u8 {
5        if self & 0xffff_ffff_ffff_ffff_ffff_ffff_ffff_ff00 != 0 {
6            u8::MAX
7        } else {
8            self as u8
9        }
10    }
11}
12impl AsU16 for u128 {
13    fn as_u16(self) -> u16 {
14        if self & 0xffff_ffff_ffff_ffff_ffff_ffff_ffff_0000 != 0 {
15            u16::MAX
16        } else {
17            self as u16
18        }
19    }
20}
21impl ToU32 for u128 {
22    fn to_u32(self) -> u32 {
23        if self & 0xffff_ffff_ffff_ffff_ffff_ffff_0000_0000 != 0 {
24            u32::MAX
25        } else {
26            self as u32
27        }
28    }
29}
30impl AsU64 for u128 {
31    fn as_u64(self) -> u64 {
32        if self & 0xffff_ffff_ffff_ffff_0000_0000_0000_0000 != 0 {
33            u64::MAX
34        } else {
35            self as u64
36        }
37    }
38}
39impl AsU128 for u128 {
40    fn as_u128(self) -> u128 {
41        self
42    }
43}
44
45impl ToI8 for u128 {
46    fn to_i8(self) -> i8 {
47        if self & 0xffff_ffff_ffff_ffff_ffff_ffff_ffff_ff80 != 0 {
48            i8::MAX
49        } else {
50            self as i8
51        }
52    }
53}
54impl AsI16 for u128 {
55    fn as_i16(self) -> i16 {
56        if self & 0xffff_ffff_ffff_ffff_ffff_ffff_ffff_8000 != 0 {
57            i16::MAX
58        } else {
59            self as i16
60        }
61    }
62}
63impl ToI32 for u128 {
64    fn to_i32(self) -> i32 {
65        if self & 0xffff_ffff_ffff_ffff_ffff_ffff_8000_0000 != 0 {
66            i32::MAX
67        } else {
68            self as i32
69        }
70    }
71}
72impl AsI64 for u128 {
73    fn as_i64(self) -> i64 {
74        if self & 0xffff_ffff_ffff_ffff_8000_0000_0000_0000 != 0 {
75            i64::MAX
76        } else {
77            self as i64
78        }
79    }
80}
81impl AsI128 for u128 {
82    fn as_i128(self) -> i128 {
83        if self & 0x8000_0000_0000_0000_0000_0000_0000_0000 != 0 {
84            i128::MAX
85        } else {
86            self as i128
87        }
88    }
89}
90
91impl ToF32 for u128 {
92    fn to_f32(self) -> f32 {
93        self as f32
94    }
95}
96impl ToF64 for u128 {
97    fn to_f64(self) -> f64 {
98        self as f64
99    }
100}