@@ -56,7 +56,7 @@ use core::{f64, fmt, ops, u16, u32, u64, u8};
5656use cast:: { i16, i32, u16, u32, u64, Error } ;
5757use typenum:: { Cmp , Less , Unsigned , U0 , U1 , U16 , U17 , U2 , U3 , U32 , U4 , U5 , U6 , U7 , U8 , U9 } ;
5858#[ cfg( not( feature = "const-fn" ) ) ]
59- use typenum:: { Greater , U33 } ;
59+ use typenum:: { Greater , U33 , U64 } ;
6060#[ cfg( feature = "const-fn" ) ]
6161use typenum:: {
6262 U10 , U11 , U12 , U13 , U14 , U15 , U18 , U19 , U20 , U21 , U22 , U23 , U24 , U25 , U26 , U27 , U28 , U29 , U30 ,
@@ -881,6 +881,8 @@ new!(U30, u32, 0b11_1111_1111_1111_1111_1111_1111_1111);
881881new ! ( U31 , u32 , 0b111_1111_1111_1111_1111_1111_1111_1111 ) ;
882882new ! ( U32 , u32 , 0b1111_1111_1111_1111_1111_1111_1111_1111 ) ;
883883
884+ new ! ( U64 , u64 , 0xffff_ffff_ffff_ffff ) ;
885+
884886// Type alias and checked cast function
885887macro_rules! ty {
886888 ( $ty: ident, $bits: ident, $nbits: ident, $es: ident) => {
@@ -896,6 +898,8 @@ macro_rules! ty {
896898 } ;
897899}
898900
901+ ty ! ( P4E0 , u8 , U4 , U0 ) ;
902+
899903ty ! ( P8E0 , u8 , U8 , U0 ) ;
900904ty ! ( P8E1 , u8 , U8 , U1 ) ;
901905ty ! ( P8E2 , u8 , U8 , U2 ) ;
@@ -920,6 +924,16 @@ ty!(P32E6, u32, U32, U6);
920924ty ! ( P32E7 , u32 , U32 , U7 ) ;
921925ty ! ( P32E8 , u32 , U32 , U8 ) ;
922926
927+ ty ! ( P64E0 , u64 , U64 , U0 ) ;
928+ ty ! ( P64E1 , u64 , U64 , U1 ) ;
929+ ty ! ( P64E2 , u64 , U64 , U2 ) ;
930+ ty ! ( P64E3 , u64 , U64 , U3 ) ;
931+ ty ! ( P64E4 , u64 , U64 , U4 ) ;
932+ ty ! ( P64E5 , u64 , U64 , U5 ) ;
933+ ty ! ( P64E6 , u64 , U64 , U6 ) ;
934+ ty ! ( P64E7 , u64 , U64 , U7 ) ;
935+ ty ! ( P64E8 , u64 , U64 , U8 ) ;
936+
923937#[ cfg( test) ]
924938mod tests {
925939 use cast:: { f64, Error , From } ;
0 commit comments