@@ -321,59 +321,67 @@ impl fmt::Debug for Isaac64Rng {
321321#[ cfg( test) ]
322322mod test {
323323 use { Rng , SeedableRng , iter} ;
324- use distributions:: ascii_word_char;
325324 use super :: Isaac64Rng ;
326325
327326 #[ test]
328- fn test_rng_64_rand_seeded ( ) {
329- let s = iter ( & mut :: test:: rng ( ) ) . map ( |rng| rng. next_u64 ( ) ) . take ( 256 ) . collect :: < Vec < u64 > > ( ) ;
330- let mut ra: Isaac64Rng = SeedableRng :: from_seed ( & s[ ..] ) ;
331- let mut rb: Isaac64Rng = SeedableRng :: from_seed ( & s[ ..] ) ;
332- assert ! ( :: test:: iter_eq( iter( & mut ra) . map( |rng| ascii_word_char( rng) ) . take( 100 ) ,
333- iter( & mut rb) . map( |rng| ascii_word_char( rng) ) . take( 100 ) ) ) ;
327+ fn test_isaac64_from_seed ( ) {
328+ let seed = iter ( & mut :: test:: rng ( ) )
329+ . map ( |rng| rng. next_u64 ( ) )
330+ . take ( 256 )
331+ . collect :: < Vec < u64 > > ( ) ;
332+ let mut rng1 = Isaac64Rng :: from_seed ( & seed[ ..] ) ;
333+ let mut rng2 = Isaac64Rng :: from_seed ( & seed[ ..] ) ;
334+ for _ in 0 ..100 {
335+ assert_eq ! ( rng1. next_u64( ) , rng2. next_u64( ) ) ;
336+ }
334337 }
335338
336339 #[ test]
337- fn test_rng_64_seeded ( ) {
340+ fn test_isaac64_from_seed_fixed ( ) {
338341 let seed: & [ _ ] = & [ 1 , 23 , 456 , 7890 , 12345 ] ;
339- let mut ra: Isaac64Rng = SeedableRng :: from_seed ( seed) ;
340- let mut rb: Isaac64Rng = SeedableRng :: from_seed ( seed) ;
341- assert ! ( :: test:: iter_eq( iter( & mut ra) . map( |rng| ascii_word_char( rng) ) . take( 100 ) ,
342- iter( & mut rb) . map( |rng| ascii_word_char( rng) ) . take( 100 ) ) ) ;
342+ let mut rng1 = Isaac64Rng :: from_seed ( & seed[ ..] ) ;
343+ let mut rng2 = Isaac64Rng :: from_seed ( & seed[ ..] ) ;
344+ for _ in 0 ..100 {
345+ assert_eq ! ( rng1. next_u64( ) , rng2. next_u64( ) ) ;
346+ }
347+ }
343348 }
344349
345350 #[ test]
346- fn test_rng_64_true_values ( ) {
351+ fn test_isaac64_true_values ( ) {
347352 let seed: & [ _ ] = & [ 1 , 23 , 456 , 7890 , 12345 ] ;
348- let mut ra : Isaac64Rng = SeedableRng :: from_seed ( seed) ;
353+ let mut rng1 = Isaac64Rng :: from_seed ( seed) ;
349354 // Regression test that isaac is actually using the above vector
350- let v = ( 0 ..10 ) . map ( |_| ra . next_u64 ( ) ) . collect :: < Vec < _ > > ( ) ;
355+ let v = ( 0 ..10 ) . map ( |_| rng1 . next_u64 ( ) ) . collect :: < Vec < _ > > ( ) ;
351356 assert_eq ! ( v,
352- vec!( 547121783600835980 , 14377643087320773276 , 17351601304698403469 ,
353- 1238879483818134882 , 11952566807690396487 , 13970131091560099343 ,
354- 4469761996653280935 , 15552757044682284409 , 6860251611068737823 ,
355- 13722198873481261842 ) ) ;
357+ vec!( 547121783600835980 , 14377643087320773276 ,
358+ 17351601304698403469 , 1238879483818134882 ,
359+ 11952566807690396487 , 13970131091560099343 ,
360+ 4469761996653280935 , 15552757044682284409 ,
361+ 6860251611068737823 , 13722198873481261842 ) ) ;
356362
357363 let seed: & [ _ ] = & [ 12345 , 67890 , 54321 , 9876 ] ;
358- let mut rb : Isaac64Rng = SeedableRng :: from_seed ( seed) ;
364+ let mut rng2 = Isaac64Rng :: from_seed ( seed) ;
359365 // skip forward to the 10000th number
360- for _ in 0 ..10000 { rb . next_u64 ( ) ; }
366+ for _ in 0 ..10000 { rng2 . next_u64 ( ) ; }
361367
362- let v = ( 0 ..10 ) . map ( |_| rb . next_u64 ( ) ) . collect :: < Vec < _ > > ( ) ;
368+ let v = ( 0 ..10 ) . map ( |_| rng2 . next_u64 ( ) ) . collect :: < Vec < _ > > ( ) ;
363369 assert_eq ! ( v,
364- vec!( 18143823860592706164 , 8491801882678285927 , 2699425367717515619 ,
365- 17196852593171130876 , 2606123525235546165 , 15790932315217671084 ,
366- 596345674630742204 , 9947027391921273664 , 11788097613744130851 ,
367- 10391409374914919106 ) ) ;
370+ vec!( 18143823860592706164 , 8491801882678285927 ,
371+ 2699425367717515619 , 17196852593171130876 ,
372+ 2606123525235546165 , 15790932315217671084 ,
373+ 596345674630742204 , 9947027391921273664 ,
374+ 11788097613744130851 , 10391409374914919106 ) ) ;
375+ }
368376 }
369377
370378 #[ test]
371- fn test_rng_clone ( ) {
379+ fn test_isaac64_clone ( ) {
372380 let seed: & [ _ ] = & [ 1 , 23 , 456 , 7890 , 12345 ] ;
373- let mut rng : Isaac64Rng = SeedableRng :: from_seed ( seed) ;
374- let mut clone = rng . clone ( ) ;
381+ let mut rng1 = Isaac64Rng :: from_seed ( seed) ;
382+ let mut rng2 = rng1 . clone ( ) ;
375383 for _ in 0 ..16 {
376- assert_eq ! ( rng . next_u64( ) , clone . next_u64( ) ) ;
384+ assert_eq ! ( rng1 . next_u64( ) , rng2 . next_u64( ) ) ;
377385 }
378386 }
379387}
0 commit comments