@@ -554,14 +554,35 @@ macro_rules! impl_sum_product {
554554
555555impl_sum_product ! { Xe <i8 > Xe <i16 > Xe <i32 > Xe <i64 > Xe <i128 > Xe <isize > Xe <u8 > Xe <u16 > Xe <u32 > Xe <u64 > Xe <u128 > Xe <usize > }
556556
557+ #[ cfg( target_pointer_width = "16" ) ]
558+ macro_rules! usize_macro {
559+ ( $macro: ident) => {
560+ $macro!( u16 )
561+ } ;
562+ }
563+
564+ #[ cfg( target_pointer_width = "32" ) ]
565+ macro_rules! usize_macro {
566+ ( $macro: ident) => {
567+ $macro!( u32 )
568+ } ;
569+ }
570+
571+ #[ cfg( target_pointer_width = "64" ) ]
572+ macro_rules! usize_macro {
573+ ( $macro: ident) => {
574+ $macro!( u64 )
575+ } ;
576+ }
577+
557578#[ rustfmt:: skip]
558579macro_rules! rot {
559580 ( u8 ) => { 2 } ;
560581 ( u16 ) => { 4 } ;
561582 ( u32 ) => { 8 } ;
562583 ( u64 ) => { 12 } ;
563584 ( u128 ) => { 16 } ;
564- ( usize ) => { rot! ( u64 ) } ;
585+ ( usize ) => { usize_macro! ( rot ) } ;
565586 ( i8 ) => { rot!( u8 ) } ;
566587 ( i16 ) => { rot!( u16 ) } ;
567588 ( i32 ) => { rot!( u32 ) } ;
@@ -577,7 +598,7 @@ macro_rules! rot_op {
577598 ( u32 ) => { "0x10000b3" } ;
578599 ( u64 ) => { "0xaa00000000006e1" } ;
579600 ( u128 ) => { "0x13f40000000000000000000000004f76" } ;
580- ( usize ) => { rot_op! ( u64 ) } ;
601+ ( usize ) => { usize_macro! ( rot_op ) } ;
581602 ( i8 ) => { "-0x7e" } ;
582603 ( i16 ) => { "-0x5ffd" } ;
583604 ( i32 ) => { rot_op!( u32 ) } ;
@@ -593,7 +614,7 @@ macro_rules! rot_result {
593614 ( u32 ) => { "0xb301" } ;
594615 ( u64 ) => { "0x6e10aa" } ;
595616 ( u128 ) => { "0x4f7613f4" } ;
596- ( usize ) => { rot_result! ( u64 ) } ;
617+ ( usize ) => { usize_macro! ( rot_result ) } ;
597618 ( i8 ) => { rot_result!( u8 ) } ;
598619 ( i16 ) => { rot_result!( u16 ) } ;
599620 ( i32 ) => { rot_result!( u32 ) } ;
@@ -609,7 +630,7 @@ macro_rules! swap_op {
609630 ( u32 ) => { "0x12345678" } ;
610631 ( u64 ) => { "0x1234567890123456" } ;
611632 ( u128 ) => { "0x12345678901234567890123456789012" } ;
612- ( usize ) => { swap_op! ( u64 ) } ;
633+ ( usize ) => { usize_macro! ( swap_op ) } ;
613634 ( i8 ) => { swap_op!( u8 ) } ;
614635 ( i16 ) => { swap_op!( u16 ) } ;
615636 ( i32 ) => { swap_op!( u32 ) } ;
@@ -625,7 +646,7 @@ macro_rules! swapped {
625646 ( u32 ) => { "0x78563412" } ;
626647 ( u64 ) => { "0x5634129078563412" } ;
627648 ( u128 ) => { "0x12907856341290785634129078563412" } ;
628- ( usize ) => { swapped! ( u64 ) } ;
649+ ( usize ) => { usize_macro! ( swapped ) } ;
629650 ( i8 ) => { swapped!( u8 ) } ;
630651 ( i16 ) => { swapped!( u16 ) } ;
631652 ( i32 ) => { swapped!( u32 ) } ;
@@ -641,7 +662,7 @@ macro_rules! reversed {
641662 ( u32 ) => { "0x1e6a2c48" } ;
642663 ( u64 ) => { "0x6a2c48091e6a2c48" } ;
643664 ( u128 ) => { "0x48091e6a2c48091e6a2c48091e6a2c48" } ;
644- ( usize ) => { reversed! ( u64 ) } ;
665+ ( usize ) => { usize_macro! ( reversed ) } ;
645666 ( i8 ) => { reversed!( u8 ) } ;
646667 ( i16 ) => { reversed!( u16 ) } ;
647668 ( i32 ) => { reversed!( u32 ) } ;
@@ -656,7 +677,7 @@ macro_rules! be_bytes {
656677 ( u32 ) => { "[0x12, 0x34, 0x56, 0x78]" } ;
657678 ( u64 ) => { "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]" } ;
658679 ( u128 ) => { "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]" } ;
659- ( usize ) => { be_bytes! ( u64 ) } ;
680+ ( usize ) => { usize_macro! ( be_bytes ) } ;
660681 ( i8 ) => { be_bytes!( u8 ) } ;
661682 ( i16 ) => { be_bytes!( u16 ) } ;
662683 ( i32 ) => { be_bytes!( u32 ) } ;
@@ -671,7 +692,7 @@ macro_rules! le_bytes {
671692 ( u32 ) => { "[0x78, 0x56, 0x34, 0x12]" } ;
672693 ( u64 ) => { "[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]" } ;
673694 ( u128 ) => { "[0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]" } ;
674- ( usize ) => { le_bytes! ( u64 ) } ;
695+ ( usize ) => { usize_macro! ( le_bytes ) } ;
675696 ( i8 ) => { le_bytes!( u8 ) } ;
676697 ( i16 ) => { le_bytes!( u16 ) } ;
677698 ( i32 ) => { le_bytes!( u32 ) } ;
0 commit comments