@@ -552,14 +552,35 @@ macro_rules! impl_sum_product {
552
552
553
553
impl_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 > }
554
554
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
+
555
576
#[ rustfmt:: skip]
556
577
macro_rules! rot {
557
578
( u8 ) => { 2 } ;
558
579
( u16 ) => { 4 } ;
559
580
( u32 ) => { 8 } ;
560
581
( u64 ) => { 12 } ;
561
582
( u128 ) => { 16 } ;
562
- ( usize ) => { rot! ( u64 ) } ;
583
+ ( usize ) => { usize_macro! ( rot ) } ;
563
584
( i8 ) => { rot!( u8 ) } ;
564
585
( i16 ) => { rot!( u16 ) } ;
565
586
( i32 ) => { rot!( u32 ) } ;
@@ -575,7 +596,7 @@ macro_rules! rot_op {
575
596
( u32 ) => { "0x10000b3" } ;
576
597
( u64 ) => { "0xaa00000000006e1" } ;
577
598
( u128 ) => { "0x13f40000000000000000000000004f76" } ;
578
- ( usize ) => { rot_op! ( u64 ) } ;
599
+ ( usize ) => { usize_macro! ( rot_op ) } ;
579
600
( i8 ) => { "-0x7e" } ;
580
601
( i16 ) => { "-0x5ffd" } ;
581
602
( i32 ) => { rot_op!( u32 ) } ;
@@ -591,7 +612,7 @@ macro_rules! rot_result {
591
612
( u32 ) => { "0xb301" } ;
592
613
( u64 ) => { "0x6e10aa" } ;
593
614
( u128 ) => { "0x4f7613f4" } ;
594
- ( usize ) => { rot_result! ( u64 ) } ;
615
+ ( usize ) => { usize_macro! ( rot_result ) } ;
595
616
( i8 ) => { rot_result!( u8 ) } ;
596
617
( i16 ) => { rot_result!( u16 ) } ;
597
618
( i32 ) => { rot_result!( u32 ) } ;
@@ -607,7 +628,7 @@ macro_rules! swap_op {
607
628
( u32 ) => { "0x12345678" } ;
608
629
( u64 ) => { "0x1234567890123456" } ;
609
630
( u128 ) => { "0x12345678901234567890123456789012" } ;
610
- ( usize ) => { swap_op! ( u64 ) } ;
631
+ ( usize ) => { usize_macro! ( swap_op ) } ;
611
632
( i8 ) => { swap_op!( u8 ) } ;
612
633
( i16 ) => { swap_op!( u16 ) } ;
613
634
( i32 ) => { swap_op!( u32 ) } ;
@@ -623,7 +644,7 @@ macro_rules! swapped {
623
644
( u32 ) => { "0x78563412" } ;
624
645
( u64 ) => { "0x5634129078563412" } ;
625
646
( u128 ) => { "0x12907856341290785634129078563412" } ;
626
- ( usize ) => { swapped! ( u64 ) } ;
647
+ ( usize ) => { usize_macro! ( swapped ) } ;
627
648
( i8 ) => { swapped!( u8 ) } ;
628
649
( i16 ) => { swapped!( u16 ) } ;
629
650
( i32 ) => { swapped!( u32 ) } ;
@@ -639,7 +660,7 @@ macro_rules! reversed {
639
660
( u32 ) => { "0x1e6a2c48" } ;
640
661
( u64 ) => { "0x6a2c48091e6a2c48" } ;
641
662
( u128 ) => { "0x48091e6a2c48091e6a2c48091e6a2c48" } ;
642
- ( usize ) => { reversed! ( u64 ) } ;
663
+ ( usize ) => { usize_macro! ( reversed ) } ;
643
664
( i8 ) => { reversed!( u8 ) } ;
644
665
( i16 ) => { reversed!( u16 ) } ;
645
666
( i32 ) => { reversed!( u32 ) } ;
@@ -654,7 +675,7 @@ macro_rules! be_bytes {
654
675
( u32 ) => { "[0x12, 0x34, 0x56, 0x78]" } ;
655
676
( u64 ) => { "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]" } ;
656
677
( 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 ) } ;
658
679
( i8 ) => { be_bytes!( u8 ) } ;
659
680
( i16 ) => { be_bytes!( u16 ) } ;
660
681
( i32 ) => { be_bytes!( u32 ) } ;
@@ -669,7 +690,7 @@ macro_rules! le_bytes {
669
690
( u32 ) => { "[0x78, 0x56, 0x34, 0x12]" } ;
670
691
( u64 ) => { "[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]" } ;
671
692
( 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 ) } ;
673
694
( i8 ) => { le_bytes!( u8 ) } ;
674
695
( i16 ) => { le_bytes!( u16 ) } ;
675
696
( i32 ) => { le_bytes!( u32 ) } ;
0 commit comments