99//! `IteratorRandom`
1010
1111use super :: coin_flipper:: CoinFlipper ;
12- use super :: gen_index;
1312#[ allow( unused) ]
1413use super :: IndexedRandom ;
1514use crate :: Rng ;
@@ -71,7 +70,7 @@ pub trait IteratorRandom: Iterator + Sized {
7170 return match lower {
7271 0 => None ,
7372 1 => self . next ( ) ,
74- _ => self . nth ( gen_index ( rng, lower) ) ,
73+ _ => self . nth ( rng. gen_range ( 0 .. lower) ) ,
7574 } ;
7675 }
7776
@@ -81,7 +80,7 @@ pub trait IteratorRandom: Iterator + Sized {
8180 // Continue until the iterator is exhausted
8281 loop {
8382 if lower > 1 {
84- let ix = gen_index ( coin_flipper. rng , lower + consumed) ;
83+ let ix = coin_flipper. rng . gen_range ( 0 .. lower + consumed) ;
8584 let skip = if ix < lower {
8685 result = self . nth ( ix) ;
8786 lower - ( ix + 1 )
@@ -204,7 +203,7 @@ pub trait IteratorRandom: Iterator + Sized {
204203
205204 // Continue, since the iterator was not exhausted
206205 for ( i, elem) in self . enumerate ( ) {
207- let k = gen_index ( rng, i + 1 + amount) ;
206+ let k = rng. gen_range ( 0 .. i + 1 + amount) ;
208207 if let Some ( slot) = buf. get_mut ( k) {
209208 * slot = elem;
210209 }
@@ -240,7 +239,7 @@ pub trait IteratorRandom: Iterator + Sized {
240239 // If the iterator stops once, then so do we.
241240 if reservoir. len ( ) == amount {
242241 for ( i, elem) in self . enumerate ( ) {
243- let k = gen_index ( rng, i + 1 + amount) ;
242+ let k = rng. gen_range ( 0 .. i + 1 + amount) ;
244243 if let Some ( slot) = reservoir. get_mut ( k) {
245244 * slot = elem;
246245 }
0 commit comments