@@ -552,14 +552,35 @@ macro_rules! impl_sum_product {
552552
553553impl_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 > }
554554
555+ #[ cfg( target_pointer_width = "16" ) ]
556+ macro_rules! usize_macro {
557+ ( $macro: ident) => {
558+ $macro!( u16 )
559+ } ;
560+ }
561+ 562+ #[ cfg( target_pointer_width = "32" ) ]
563+ macro_rules! usize_macro {
564+ ( $macro: ident) => {
565+ $macro!( u32 )
566+ } ;
567+ }
568+ 569+ #[ cfg( target_pointer_width = "64" ) ]
570+ macro_rules! usize_macro {
571+ ( $macro: ident) => {
572+ $macro!( u64 )
573+ } ;
574+ }
575+ 555576#[ rustfmt:: skip]
556577macro_rules! rot {
557578 ( u8 ) => { 2 } ;
558579 ( u16 ) => { 4 } ;
559580 ( u32 ) => { 8 } ;
560581 ( u64 ) => { 12 } ;
561582 ( u128 ) => { 16 } ;
562- ( usize ) => { rot! ( u64 ) } ;
583+ ( usize ) => { usize_macro! ( rot ) } ;
563584 ( i8 ) => { rot!( u8 ) } ;
564585 ( i16 ) => { rot!( u16 ) } ;
565586 ( i32 ) => { rot!( u32 ) } ;
@@ -575,7 +596,7 @@ macro_rules! rot_op {
575596 ( u32 ) => { "0x10000b3" } ;
576597 ( u64 ) => { "0xaa00000000006e1" } ;
577598 ( u128 ) => { "0x13f40000000000000000000000004f76" } ;
578- ( usize ) => { rot_op! ( u64 ) } ;
599+ ( usize ) => { usize_macro! ( rot_op ) } ;
579600 ( i8 ) => { "-0x7e" } ;
580601 ( i16 ) => { "-0x5ffd" } ;
581602 ( i32 ) => { rot_op!( u32 ) } ;
@@ -591,7 +612,7 @@ macro_rules! rot_result {
591612 ( u32 ) => { "0xb301" } ;
592613 ( u64 ) => { "0x6e10aa" } ;
593614 ( u128 ) => { "0x4f7613f4" } ;
594- ( usize ) => { rot_result! ( u64 ) } ;
615+ ( usize ) => { usize_macro! ( rot_result ) } ;
595616 ( i8 ) => { rot_result!( u8 ) } ;
596617 ( i16 ) => { rot_result!( u16 ) } ;
597618 ( i32 ) => { rot_result!( u32 ) } ;
@@ -607,7 +628,7 @@ macro_rules! swap_op {
607628 ( u32 ) => { "0x12345678" } ;
608629 ( u64 ) => { "0x1234567890123456" } ;
609630 ( u128 ) => { "0x12345678901234567890123456789012" } ;
610- ( usize ) => { swap_op! ( u64 ) } ;
631+ ( usize ) => { usize_macro! ( swap_op ) } ;
611632 ( i8 ) => { swap_op!( u8 ) } ;
612633 ( i16 ) => { swap_op!( u16 ) } ;
613634 ( i32 ) => { swap_op!( u32 ) } ;
@@ -623,7 +644,7 @@ macro_rules! swapped {
623644 ( u32 ) => { "0x78563412" } ;
624645 ( u64 ) => { "0x5634129078563412" } ;
625646 ( u128 ) => { "0x12907856341290785634129078563412" } ;
626- ( usize ) => { swapped! ( u64 ) } ;
647+ ( usize ) => { usize_macro! ( swapped ) } ;
627648 ( i8 ) => { swapped!( u8 ) } ;
628649 ( i16 ) => { swapped!( u16 ) } ;
629650 ( i32 ) => { swapped!( u32 ) } ;
@@ -639,7 +660,7 @@ macro_rules! reversed {
639660 ( u32 ) => { "0x1e6a2c48" } ;
640661 ( u64 ) => { "0x6a2c48091e6a2c48" } ;
641662 ( u128 ) => { "0x48091e6a2c48091e6a2c48091e6a2c48" } ;
642- ( usize ) => { reversed! ( u64 ) } ;
663+ ( usize ) => { usize_macro! ( reversed ) } ;
643664 ( i8 ) => { reversed!( u8 ) } ;
644665 ( i16 ) => { reversed!( u16 ) } ;
645666 ( i32 ) => { reversed!( u32 ) } ;
@@ -654,7 +675,7 @@ macro_rules! be_bytes {
654675 ( u32 ) => { "[0x12, 0x34, 0x56, 0x78]" } ;
655676 ( u64 ) => { "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]" } ;
656677 ( u128 ) => { "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56, 0x78, 0x90, 0x12]" } ;
657- ( usize ) => { be_bytes! ( u64 ) } ;
678+ ( usize ) => { usize_macro! ( be_bytes ) } ;
658679 ( i8 ) => { be_bytes!( u8 ) } ;
659680 ( i16 ) => { be_bytes!( u16 ) } ;
660681 ( i32 ) => { be_bytes!( u32 ) } ;
@@ -669,7 +690,7 @@ macro_rules! le_bytes {
669690 ( u32 ) => { "[0x78, 0x56, 0x34, 0x12]" } ;
670691 ( u64 ) => { "[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]" } ;
671692 ( u128 ) => { "[0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]" } ;
672- ( usize ) => { le_bytes! ( u64 ) } ;
693+ ( usize ) => { usize_macro! ( le_bytes ) } ;
673694 ( i8 ) => { le_bytes!( u8 ) } ;
674695 ( i16 ) => { le_bytes!( u16 ) } ;
675696 ( i32 ) => { le_bytes!( u32 ) } ;
0 commit comments