num_to/
u64.rs

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