@@ -370,15 +370,16 @@ mod test {
370
370
371
371
#[ test]
372
372
fn test_isaac64_true_values_64 ( ) {
373
- let seed: & [ _ ] = & [ 1 , 23 , 456 , 7890 , 12345 ] ;
373
+ let seed: & [ _ ] = & [ 1 , 23 , 456 , 7890 ] ;
374
374
let mut rng1: Isaac64Rng = SeedableRng :: from_seed ( seed) ;
375
375
let mut results = [ 0u64 ; 10 ] ;
376
376
for i in results. iter_mut ( ) { * i = rng1. next_u64 ( ) ; }
377
377
let expected = [
378
- 547121783600835980 , 14377643087320773276 , 17351601304698403469 ,
379
- 1238879483818134882 , 11952566807690396487 , 13970131091560099343 ,
380
- 4469761996653280935 , 15552757044682284409 , 6860251611068737823 ,
381
- 13722198873481261842 ] ;
378
+ 15071495833797886820 , 7720185633435529318 ,
379
+ 10836773366498097981 , 5414053799617603544 ,
380
+ 12890513357046278984 , 17001051845652595546 ,
381
+ 9240803642279356310 , 12558996012687158051 ,
382
+ 14673053937227185542 , 1677046725350116783 ] ;
382
383
assert_eq ! ( results, expected) ;
383
384
384
385
let seed: & [ _ ] = & [ 12345 , 67890 , 54321 , 9876 ] ;
@@ -397,46 +398,49 @@ mod test {
397
398
398
399
#[ test]
399
400
fn test_isaac64_true_values_32 ( ) {
400
- let seed: & [ _ ] = & [ 1 , 23 , 456 , 7890 , 12345 ] ;
401
+ let seed: & [ _ ] = & [ 1 , 23 , 456 , 7890 ] ;
401
402
let mut rng = Isaac64Rng :: from_seed ( seed) ;
402
403
let mut results = [ 0u32 ; 12 ] ;
403
404
for i in results. iter_mut ( ) { * i = rng. next_u32 ( ) ; }
404
405
// Subset of above values, as an LE u32 sequence
405
406
let expected = [
406
- 141028748 , 127386717 , 1058730652 , 3347555894 , 851491469 ,
407
- 4039984500 , 2692730210 , 288449107 , 646103879 , 2782923823 ,
408
- 4195642895 , 3252674613 ] ;
407
+ 3477963620 , 3509106075 ,
408
+ 687845478 , 1797495790 ,
409
+ 227048253 , 2523132918 ,
410
+ 4044335064 , 1260557630 ,
411
+ 4079741768 , 3001306521 ,
412
+ 69157722 , 3958365844 ] ;
409
413
assert_eq ! ( results, expected) ;
410
414
}
411
415
412
416
#[ test]
413
417
fn test_isaac64_true_values_mixed ( ) {
414
- let seed: & [ _ ] = & [ 1 , 23 , 456 , 7890 , 12345 ] ;
418
+ let seed: & [ _ ] = & [ 1 , 23 , 456 , 7890 ] ;
415
419
let mut rng = Isaac64Rng :: from_seed ( seed) ;
416
420
// Test alternating between `next_u64` and `next_u32` works as expected.
417
421
// Values are the same as `test_isaac64_true_values` and
418
422
// `test_isaac64_true_values_32`.
419
- assert_eq ! ( rng. next_u64( ) , 547121783600835980 ) ;
420
- assert_eq ! ( rng. next_u32( ) , 1058730652 ) ;
421
- assert_eq ! ( rng. next_u32( ) , 3347555894 ) ;
422
- assert_eq ! ( rng. next_u64( ) , 17351601304698403469 ) ;
423
- assert_eq ! ( rng. next_u32( ) , 2692730210 ) ;
423
+ assert_eq ! ( rng. next_u64( ) , 15071495833797886820 ) ;
424
+ assert_eq ! ( rng. next_u32( ) , 687845478 ) ;
425
+ assert_eq ! ( rng. next_u32( ) , 1797495790 ) ;
426
+ assert_eq ! ( rng. next_u64( ) , 10836773366498097981 ) ;
427
+ assert_eq ! ( rng. next_u32( ) , 4044335064 ) ;
424
428
// Skip one u32
425
- assert_eq ! ( rng. next_u64( ) , 11952566807690396487 ) ;
426
- assert_eq ! ( rng. next_u32( ) , 4195642895 ) ;
429
+ assert_eq ! ( rng. next_u64( ) , 12890513357046278984 ) ;
430
+ assert_eq ! ( rng. next_u32( ) , 69157722 ) ;
427
431
}
428
432
429
433
#[ test]
430
434
fn test_isaac64_true_bytes ( ) {
431
- let seed: & [ _ ] = & [ 1 , 23 , 456 , 7890 , 12345 ] ;
435
+ let seed: & [ _ ] = & [ 1 , 23 , 456 , 7890 ] ;
432
436
let mut rng = Isaac64Rng :: from_seed ( seed) ;
433
437
let mut results = [ 0u8 ; 32 ] ;
434
438
rng. fill_bytes ( & mut results) ;
435
439
// Same as first values in test_isaac64_true_values as bytes in LE order
436
- let expected = [ 140 , 237 , 103 , 8 , 93 , 196 , 151 , 7 ,
437
- 156 , 242 , 26 , 63 , 54 , 166 , 135 , 199 ,
438
- 141 , 186 , 192 , 50 , 116 , 69 , 205 , 240 ,
439
- 98 , 205 , 127 , 160 , 83 , 98 , 49 , 17 ] ;
440
+ let expected = [ 100 , 131 , 77 , 207 , 155 , 181 , 40 , 209 ,
441
+ 102 , 176 , 255 , 40 , 238 , 155 , 35 , 107 ,
442
+ 61 , 123 , 136 , 13 , 246 , 243 , 99 , 150 ,
443
+ 216 , 167 , 15 , 241 , 62 , 149 , 34 , 75 ] ;
440
444
assert_eq ! ( results, expected) ;
441
445
}
442
446
0 commit comments