@@ -554,14 +554,35 @@ macro_rules! impl_sum_product {
554
554
555
555
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 > }
556
556
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
+
557
578
#[ rustfmt:: skip]
558
579
macro_rules! rot {
559
580
( u8 ) => { 2 } ;
560
581
( u16 ) => { 4 } ;
561
582
( u32 ) => { 8 } ;
562
583
( u64 ) => { 12 } ;
563
584
( u128 ) => { 16 } ;
564
- ( usize ) => { rot! ( u64 ) } ;
585
+ ( usize ) => { usize_macro! ( rot ) } ;
565
586
( i8 ) => { rot!( u8 ) } ;
566
587
( i16 ) => { rot!( u16 ) } ;
567
588
( i32 ) => { rot!( u32 ) } ;
@@ -577,7 +598,7 @@ macro_rules! rot_op {
577
598
( u32 ) => { "0x10000b3" } ;
578
599
( u64 ) => { "0xaa00000000006e1" } ;
579
600
( u128 ) => { "0x13f40000000000000000000000004f76" } ;
580
- ( usize ) => { rot_op! ( u64 ) } ;
601
+ ( usize ) => { usize_macro! ( rot_op ) } ;
581
602
( i8 ) => { "-0x7e" } ;
582
603
( i16 ) => { "-0x5ffd" } ;
583
604
( i32 ) => { rot_op!( u32 ) } ;
@@ -593,7 +614,7 @@ macro_rules! rot_result {
593
614
( u32 ) => { "0xb301" } ;
594
615
( u64 ) => { "0x6e10aa" } ;
595
616
( u128 ) => { "0x4f7613f4" } ;
596
- ( usize ) => { rot_result! ( u64 ) } ;
617
+ ( usize ) => { usize_macro! ( rot_result ) } ;
597
618
( i8 ) => { rot_result!( u8 ) } ;
598
619
( i16 ) => { rot_result!( u16 ) } ;
599
620
( i32 ) => { rot_result!( u32 ) } ;
@@ -609,7 +630,7 @@ macro_rules! swap_op {
609
630
( u32 ) => { "0x12345678" } ;
610
631
( u64 ) => { "0x1234567890123456" } ;
611
632
( u128 ) => { "0x12345678901234567890123456789012" } ;
612
- ( usize ) => { swap_op! ( u64 ) } ;
633
+ ( usize ) => { usize_macro! ( swap_op ) } ;
613
634
( i8 ) => { swap_op!( u8 ) } ;
614
635
( i16 ) => { swap_op!( u16 ) } ;
615
636
( i32 ) => { swap_op!( u32 ) } ;
@@ -625,7 +646,7 @@ macro_rules! swapped {
625
646
( u32 ) => { "0x78563412" } ;
626
647
( u64 ) => { "0x5634129078563412" } ;
627
648
( u128 ) => { "0x12907856341290785634129078563412" } ;
628
- ( usize ) => { swapped! ( u64 ) } ;
649
+ ( usize ) => { usize_macro! ( swapped ) } ;
629
650
( i8 ) => { swapped!( u8 ) } ;
630
651
( i16 ) => { swapped!( u16 ) } ;
631
652
( i32 ) => { swapped!( u32 ) } ;
@@ -641,7 +662,7 @@ macro_rules! reversed {
641
662
( u32 ) => { "0x1e6a2c48" } ;
642
663
( u64 ) => { "0x6a2c48091e6a2c48" } ;
643
664
( u128 ) => { "0x48091e6a2c48091e6a2c48091e6a2c48" } ;
644
- ( usize ) => { reversed! ( u64 ) } ;
665
+ ( usize ) => { usize_macro! ( reversed ) } ;
645
666
( i8 ) => { reversed!( u8 ) } ;
646
667
( i16 ) => { reversed!( u16 ) } ;
647
668
( i32 ) => { reversed!( u32 ) } ;
@@ -656,7 +677,7 @@ macro_rules! be_bytes {
656
677
( u32 ) => { "[0x12, 0x34, 0x56, 0x78]" } ;
657
678
( u64 ) => { "[0x12, 0x34, 0x56, 0x78, 0x90, 0x12, 0x34, 0x56]" } ;
658
679
( 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 ) } ;
660
681
( i8 ) => { be_bytes!( u8 ) } ;
661
682
( i16 ) => { be_bytes!( u16 ) } ;
662
683
( i32 ) => { be_bytes!( u32 ) } ;
@@ -671,7 +692,7 @@ macro_rules! le_bytes {
671
692
( u32 ) => { "[0x78, 0x56, 0x34, 0x12]" } ;
672
693
( u64 ) => { "[0x56, 0x34, 0x12, 0x90, 0x78, 0x56, 0x34, 0x12]" } ;
673
694
( 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 ) } ;
675
696
( i8 ) => { le_bytes!( u8 ) } ;
676
697
( i16 ) => { le_bytes!( u16 ) } ;
677
698
( i32 ) => { le_bytes!( u32 ) } ;
0 commit comments