@@ -2352,33 +2352,31 @@ impl<'a> ExactSizeIterator for IterU32Digits<'a> {
2352
2352
2353
2353
#[ cfg( not( u64_digit) ) ]
2354
2354
pub struct IterU32Digits < ' a > {
2355
- it : std:: iter :: Copied < std :: slice:: Iter < ' a , u32 > > ,
2355
+ it : std:: slice:: Iter < ' a , u32 > ,
2356
2356
}
2357
2357
#[ cfg( not( u64_digit) ) ]
2358
2358
impl < ' a > IterU32Digits < ' a > {
2359
2359
fn new ( data : & ' a [ u32 ] ) -> Self {
2360
- Self {
2361
- it : data. iter ( ) . copied ( ) ,
2362
- }
2360
+ Self { it : data. iter ( ) }
2363
2361
}
2364
2362
}
2365
2363
#[ cfg( not( u64_digit) ) ]
2366
2364
impl < ' a > Iterator for IterU32Digits < ' a > {
2367
2365
type Item = u32 ;
2368
2366
fn next ( & mut self ) -> Option < u32 > {
2369
- self . it . next ( )
2367
+ self . it . next ( ) . map ( | & t| t )
2370
2368
}
2371
2369
2372
2370
fn size_hint ( & self ) -> ( usize , Option < usize > ) {
2373
2371
self . it . size_hint ( )
2374
2372
}
2375
2373
2376
2374
fn nth ( & mut self , n : usize ) -> Option < u32 > {
2377
- self . it . nth ( n)
2375
+ self . it . nth ( n) . map ( | & t| t )
2378
2376
}
2379
2377
2380
2378
fn last ( self ) -> Option < u32 > {
2381
- self . it . last ( )
2379
+ self . it . last ( ) . map ( | & t| t )
2382
2380
}
2383
2381
2384
2382
fn count ( self ) -> usize {
@@ -2445,33 +2443,31 @@ impl<'a> ExactSizeIterator for IterU64Digits<'a> {
2445
2443
2446
2444
#[ cfg( u64_digit) ]
2447
2445
pub struct IterU64Digits < ' a > {
2448
- it : std:: iter :: Copied < std :: slice:: Iter < ' a , u64 > > ,
2446
+ it : std:: slice:: Iter < ' a , u64 > ,
2449
2447
}
2450
2448
#[ cfg( u64_digit) ]
2451
2449
impl < ' a > IterU64Digits < ' a > {
2452
2450
fn new ( data : & ' a [ u64 ] ) -> Self {
2453
- Self {
2454
- it : data. iter ( ) . copied ( ) ,
2455
- }
2451
+ Self { it : data. iter ( ) }
2456
2452
}
2457
2453
}
2458
2454
#[ cfg( u64_digit) ]
2459
2455
impl < ' a > Iterator for IterU64Digits < ' a > {
2460
2456
type Item = u64 ;
2461
2457
fn next ( & mut self ) -> Option < u64 > {
2462
- self . it . next ( )
2458
+ self . it . next ( ) . map ( | & t| t )
2463
2459
}
2464
2460
2465
2461
fn size_hint ( & self ) -> ( usize , Option < usize > ) {
2466
2462
self . it . size_hint ( )
2467
2463
}
2468
2464
2469
2465
fn nth ( & mut self , n : usize ) -> Option < u64 > {
2470
- self . it . nth ( n)
2466
+ self . it . nth ( n) . map ( | & t| t )
2471
2467
}
2472
2468
2473
2469
fn last ( self ) -> Option < u64 > {
2474
- self . it . last ( )
2470
+ self . it . last ( ) . map ( | & t| t )
2475
2471
}
2476
2472
2477
2473
fn count ( self ) -> usize {
@@ -2748,14 +2744,14 @@ impl BigUint {
2748
2744
/// ```
2749
2745
/// use num_bigint::BigUint;
2750
2746
///
2751
- /// assert_eq!(BigUint::from(1125u32).to_u64_digits (), vec![1125]);
2752
- /// assert_eq!(BigUint::from(4294967295u32).to_u64_digits (), vec![4294967295]);
2753
- /// assert_eq!(BigUint::from(4294967296u64).to_u64_digits (), vec![4294967296 ]);
2754
- /// assert_eq!(BigUint::from(112500000000u64).to_u64_digits (), vec![112500000000 ]);
2747
+ /// assert_eq!(BigUint::from(1125u32).to_u32_digits (), vec![1125]);
2748
+ /// assert_eq!(BigUint::from(4294967295u32).to_u32_digits (), vec![4294967295]);
2749
+ /// assert_eq!(BigUint::from(4294967296u64).to_u32_digits (), vec![0, 1 ]);
2750
+ /// assert_eq!(BigUint::from(112500000000u64).to_u32_digits (), vec![830850304, 26 ]);
2755
2751
/// ```
2756
2752
#[ inline]
2757
- pub fn to_u64_digits ( & self ) -> Vec < u64 > {
2758
- self . iter_u64_digits ( ) . collect ( )
2753
+ pub fn to_u32_digits ( & self ) -> Vec < u32 > {
2754
+ self . iter_u32_digits ( ) . collect ( )
2759
2755
}
2760
2756
2761
2757
/// Returns the `u32` digits representation of the `BigUint` ordered least significant digit
@@ -2766,14 +2762,14 @@ impl BigUint {
2766
2762
/// ```
2767
2763
/// use num_bigint::BigUint;
2768
2764
///
2769
- /// assert_eq!(BigUint::from(1125u32).to_u32_digits (), vec![1125]);
2770
- /// assert_eq!(BigUint::from(4294967295u32).to_u32_digits (), vec![4294967295]);
2771
- /// assert_eq!(BigUint::from(4294967296u64).to_u32_digits (), vec![0, 1 ]);
2772
- /// assert_eq!(BigUint::from(112500000000u64).to_u32_digits (), vec![830850304, 26 ]);
2765
+ /// assert_eq!(BigUint::from(1125u32).to_u64_digits (), vec![1125]);
2766
+ /// assert_eq!(BigUint::from(4294967295u32).to_u64_digits (), vec![4294967295]);
2767
+ /// assert_eq!(BigUint::from(4294967296u64).to_u64_digits (), vec![4294967296 ]);
2768
+ /// assert_eq!(BigUint::from(112500000000u64).to_u64_digits (), vec![112500000000 ]);
2773
2769
/// ```
2774
2770
#[ inline]
2775
- pub fn to_u32_digits ( & self ) -> Vec < u32 > {
2776
- self . iter_u32_digits ( ) . collect ( )
2771
+ pub fn to_u64_digits ( & self ) -> Vec < u64 > {
2772
+ self . iter_u64_digits ( ) . collect ( )
2777
2773
}
2778
2774
2779
2775
/// Returns the `u32` digits representation of the `BigUint` ordered least significant digit
0 commit comments