@@ -195,8 +195,8 @@ pub trait IteratorRandom: Iterator + Sized {
195
195
/// case this equals the number of elements available.
196
196
///
197
197
/// Complexity is `O(n)` where `n` is the length of the iterator.
198
- /// For slices, prefer [`IndexedRandom::choose_multiple `].
199
- fn choose_multiple_fill < R > ( mut self , rng : & mut R , buf : & mut [ Self :: Item ] ) -> usize
198
+ /// For slices, prefer [`IndexedRandom::sample `].
199
+ fn sample_fill < R > ( mut self , rng : & mut R , buf : & mut [ Self :: Item ] ) -> usize
200
200
where
201
201
R : Rng + ?Sized ,
202
202
{
@@ -224,7 +224,7 @@ pub trait IteratorRandom: Iterator + Sized {
224
224
225
225
/// Uniformly sample `amount` distinct elements into a [`Vec`]
226
226
///
227
- /// This is equivalent to `choose_multiple_fill ` except for the result type.
227
+ /// This is equivalent to `sample_fill ` except for the result type.
228
228
///
229
229
/// Although the elements are selected randomly, the order of elements in
230
230
/// the buffer is neither stable nor fully random. If random ordering is
@@ -235,9 +235,9 @@ pub trait IteratorRandom: Iterator + Sized {
235
235
/// elements available.
236
236
///
237
237
/// Complexity is `O(n)` where `n` is the length of the iterator.
238
- /// For slices, prefer [`IndexedRandom::choose_multiple `].
238
+ /// For slices, prefer [`IndexedRandom::sample `].
239
239
#[ cfg( feature = "alloc" ) ]
240
- fn choose_multiple < R > ( mut self , rng : & mut R , amount : usize ) -> Vec < Self :: Item >
240
+ fn sample < R > ( mut self , rng : & mut R , amount : usize ) -> Vec < Self :: Item >
241
241
where
242
242
R : Rng + ?Sized ,
243
243
{
@@ -538,8 +538,8 @@ mod test {
538
538
539
539
let mut r = crate :: test:: rng ( 401 ) ;
540
540
let vals = ( min_val..max_val) . collect :: < Vec < i32 > > ( ) ;
541
- let small_sample = vals. iter ( ) . choose_multiple ( & mut r, 5 ) ;
542
- let large_sample = vals. iter ( ) . choose_multiple ( & mut r, vals. len ( ) + 5 ) ;
541
+ let small_sample = vals. iter ( ) . sample ( & mut r, 5 ) ;
542
+ let large_sample = vals. iter ( ) . sample ( & mut r, vals. len ( ) + 5 ) ;
543
543
544
544
assert_eq ! ( small_sample. len( ) , 5 ) ;
545
545
assert_eq ! ( large_sample. len( ) , vals. len( ) ) ;
@@ -644,20 +644,17 @@ mod test {
644
644
}
645
645
646
646
#[ test]
647
- fn value_stability_choose_multiple ( ) {
647
+ fn value_stability_sample ( ) {
648
648
fn do_test < I : Clone + Iterator < Item = u32 > > ( iter : I , v : & [ u32 ] ) {
649
649
let mut rng = crate :: test:: rng ( 412 ) ;
650
650
let mut buf = [ 0u32 ; 8 ] ;
651
- assert_eq ! (
652
- iter. clone( ) . choose_multiple_fill( & mut rng, & mut buf) ,
653
- v. len( )
654
- ) ;
651
+ assert_eq ! ( iter. clone( ) . sample_fill( & mut rng, & mut buf) , v. len( ) ) ;
655
652
assert_eq ! ( & buf[ 0 ..v. len( ) ] , v) ;
656
653
657
654
#[ cfg( feature = "alloc" ) ]
658
655
{
659
656
let mut rng = crate :: test:: rng ( 412 ) ;
660
- assert_eq ! ( iter. choose_multiple ( & mut rng, v. len( ) ) , v) ;
657
+ assert_eq ! ( iter. sample ( & mut rng, v. len( ) ) , v) ;
661
658
}
662
659
}
663
660
0 commit comments