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}