@@ -2288,9 +2288,9 @@ pub(crate) fn to_str_radix_reversed(u: &BigUint, radix: u32) -> Vec<u8> {
2288
2288
res
2289
2289
}
2290
2290
2291
- /// An iterator of `u32` digits representation of the `BigUint` ordered least
2292
- /// significant digit first.
2293
- pub struct IterU32Digits < ' a > {
2291
+ /// An iterator of `u32` digits representation of a `BigUint` or `BigInt`,
2292
+ /// ordered least significant digit first.
2293
+ pub struct U32Digits < ' a > {
2294
2294
#[ cfg( u64_digit) ]
2295
2295
data : & ' a [ u64 ] ,
2296
2296
#[ cfg( u64_digit) ]
@@ -2302,7 +2302,7 @@ pub struct IterU32Digits<'a> {
2302
2302
it : core:: slice:: Iter < ' a , u32 > ,
2303
2303
}
2304
2304
#[ cfg( u64_digit) ]
2305
- impl < ' a > IterU32Digits < ' a > {
2305
+ impl < ' a > U32Digits < ' a > {
2306
2306
#[ inline]
2307
2307
fn new ( data : & ' a [ u64 ] ) -> Self {
2308
2308
let last_hi_is_zero = data
@@ -2312,15 +2312,15 @@ impl<'a> IterU32Digits<'a> {
2312
2312
last_hi == 0
2313
2313
} )
2314
2314
. unwrap_or ( false ) ;
2315
- IterU32Digits {
2315
+ U32Digits {
2316
2316
data,
2317
2317
next_is_lo : true ,
2318
2318
last_hi_is_zero,
2319
2319
}
2320
2320
}
2321
2321
}
2322
2322
#[ cfg( u64_digit) ]
2323
- impl Iterator for IterU32Digits < ' _ > {
2323
+ impl Iterator for U32Digits < ' _ > {
2324
2324
type Item = u32 ;
2325
2325
#[ inline]
2326
2326
fn next ( & mut self ) -> Option < u32 > {
@@ -2367,22 +2367,22 @@ impl Iterator for IterU32Digits<'_> {
2367
2367
}
2368
2368
}
2369
2369
#[ cfg( u64_digit) ]
2370
- impl ExactSizeIterator for IterU32Digits < ' _ > {
2370
+ impl ExactSizeIterator for U32Digits < ' _ > {
2371
2371
#[ inline]
2372
2372
fn len ( & self ) -> usize {
2373
2373
self . data . len ( ) * 2 - usize:: from ( self . last_hi_is_zero ) - usize:: from ( !self . next_is_lo )
2374
2374
}
2375
2375
}
2376
2376
2377
2377
#[ cfg( not( u64_digit) ) ]
2378
- impl < ' a > IterU32Digits < ' a > {
2378
+ impl < ' a > U32Digits < ' a > {
2379
2379
#[ inline]
2380
2380
fn new ( data : & ' a [ u32 ] ) -> Self {
2381
2381
Self { it : data. iter ( ) }
2382
2382
}
2383
2383
}
2384
2384
#[ cfg( not( u64_digit) ) ]
2385
- impl Iterator for IterU32Digits < ' _ > {
2385
+ impl Iterator for U32Digits < ' _ > {
2386
2386
type Item = u32 ;
2387
2387
#[ inline]
2388
2388
fn next ( & mut self ) -> Option < u32 > {
@@ -2410,34 +2410,34 @@ impl Iterator for IterU32Digits<'_> {
2410
2410
}
2411
2411
}
2412
2412
#[ cfg( not( u64_digit) ) ]
2413
- impl ExactSizeIterator for IterU32Digits < ' _ > {
2413
+ impl ExactSizeIterator for U32Digits < ' _ > {
2414
2414
#[ inline]
2415
2415
fn len ( & self ) -> usize {
2416
2416
self . it . len ( )
2417
2417
}
2418
2418
}
2419
2419
2420
- impl FusedIterator for IterU32Digits < ' _ > { }
2420
+ impl FusedIterator for U32Digits < ' _ > { }
2421
2421
2422
- /// An iterator of `u64` digits representation of the `BigUint` ordered least
2423
- /// significant digit first.
2424
- pub struct IterU64Digits < ' a > {
2422
+ /// An iterator of `u64` digits representation of a `BigUint` or `BigInt`,
2423
+ /// ordered least significant digit first.
2424
+ pub struct U64Digits < ' a > {
2425
2425
#[ cfg( not( u64_digit) ) ]
2426
2426
it : core:: slice:: Chunks < ' a , u32 > ,
2427
2427
2428
2428
#[ cfg( u64_digit) ]
2429
2429
it : core:: slice:: Iter < ' a , u64 > ,
2430
2430
}
2431
2431
#[ cfg( not( u64_digit) ) ]
2432
- impl < ' a > IterU64Digits < ' a > {
2432
+ impl < ' a > U64Digits < ' a > {
2433
2433
#[ inline]
2434
2434
fn new ( data : & ' a [ u32 ] ) -> Self {
2435
- IterU64Digits { it : data. chunks ( 2 ) }
2435
+ U64Digits { it : data. chunks ( 2 ) }
2436
2436
}
2437
2437
}
2438
2438
2439
2439
#[ cfg( not( u64_digit) ) ]
2440
- impl Iterator for IterU64Digits < ' _ > {
2440
+ impl Iterator for U64Digits < ' _ > {
2441
2441
type Item = u64 ;
2442
2442
#[ inline]
2443
2443
fn next ( & mut self ) -> Option < u64 > {
@@ -2461,22 +2461,22 @@ impl Iterator for IterU64Digits<'_> {
2461
2461
}
2462
2462
}
2463
2463
#[ cfg( not( u64_digit) ) ]
2464
- impl ExactSizeIterator for IterU64Digits < ' _ > {
2464
+ impl ExactSizeIterator for U64Digits < ' _ > {
2465
2465
#[ inline]
2466
2466
fn len ( & self ) -> usize {
2467
2467
self . it . len ( )
2468
2468
}
2469
2469
}
2470
2470
2471
2471
#[ cfg( u64_digit) ]
2472
- impl < ' a > IterU64Digits < ' a > {
2472
+ impl < ' a > U64Digits < ' a > {
2473
2473
#[ inline]
2474
2474
fn new ( data : & ' a [ u64 ] ) -> Self {
2475
2475
Self { it : data. iter ( ) }
2476
2476
}
2477
2477
}
2478
2478
#[ cfg( u64_digit) ]
2479
- impl Iterator for IterU64Digits < ' _ > {
2479
+ impl Iterator for U64Digits < ' _ > {
2480
2480
type Item = u64 ;
2481
2481
#[ inline]
2482
2482
fn next ( & mut self ) -> Option < u64 > {
@@ -2504,13 +2504,13 @@ impl Iterator for IterU64Digits<'_> {
2504
2504
}
2505
2505
}
2506
2506
#[ cfg( u64_digit) ]
2507
- impl ExactSizeIterator for IterU64Digits < ' _ > {
2507
+ impl ExactSizeIterator for U64Digits < ' _ > {
2508
2508
#[ inline]
2509
2509
fn len ( & self ) -> usize {
2510
2510
self . it . len ( )
2511
2511
}
2512
2512
}
2513
- impl FusedIterator for IterU64Digits < ' _ > { }
2513
+ impl FusedIterator for U64Digits < ' _ > { }
2514
2514
2515
2515
/// Creates and initializes a `BigUint`.
2516
2516
///
@@ -2809,8 +2809,8 @@ impl BigUint {
2809
2809
/// assert_eq!(BigUint::from(112500000000u64).iter_u32_digits().collect::<Vec<u32>>(), vec![830850304, 26]);
2810
2810
/// ```
2811
2811
#[ inline]
2812
- pub fn iter_u32_digits ( & self ) -> IterU32Digits < ' _ > {
2813
- IterU32Digits :: new ( self . data . as_slice ( ) )
2812
+ pub fn iter_u32_digits ( & self ) -> U32Digits < ' _ > {
2813
+ U32Digits :: new ( self . data . as_slice ( ) )
2814
2814
}
2815
2815
2816
2816
/// Returns an iterator of `u64` digits representation of the `BigUint` ordered least
@@ -2827,8 +2827,8 @@ impl BigUint {
2827
2827
/// assert_eq!(BigUint::from(112500000000u64).iter_u64_digits().collect::<Vec<u64>>(), vec![112500000000]);
2828
2828
/// ```
2829
2829
#[ inline]
2830
- pub fn iter_u64_digits ( & self ) -> IterU64Digits < ' _ > {
2831
- IterU64Digits :: new ( self . data . as_slice ( ) )
2830
+ pub fn iter_u64_digits ( & self ) -> U64Digits < ' _ > {
2831
+ U64Digits :: new ( self . data . as_slice ( ) )
2832
2832
}
2833
2833
2834
2834
/// Returns the integer formatted as a string in the given radix.
0 commit comments