/* Ċ Ġ* ĠCopyright Ġ 2 0 1 0 - 2 0 1 8 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ċ Ġ* Ġthat Ġcan Ġbe Ġfound Ġin Ġthe Ġlicense / LICENSE . txt Ġfile . Ċ Ġ*/ Ċ Ċ package Ġtest . random Ċ Ċ import Ġkotlin . math . pow Ċ import Ġkotlin . random .* Ċ import Ġkotlin . test .* Ċ Ċ class ĠX or W ow Random Impl Test Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġpredefined Sequence () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġseed Ġ= Ġ 1 ĊĠĠĠĠĠĠĠ Ġval Ġadd end Ġ= Ġ( seed Ġshl Ġ 1 0 ) Ġxor Ġ( seed Ġ ush r Ġ 4 ) ĊĊĠĠĠĠĠĠĠ Ġ@ Suppress (" IN VISIBLE _ REFERENCE ", Ġ" IN VISIBLE _ MEMBER ") ĊĠĠĠĠĠĠĠ Ġval Ġrandom : ĠRandom Ġ= ĠX or W ow Random ( seed , Ġ 0 , Ġ 0 , Ġ 0 , Ġ 0 , Ġadd end ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġdiffers Ġfrom Ġreference Ġ 0 . 8 1 7 8 0 0 0 2 4 7 1 4 6 8 5 9 Ġbecause Ġof Ġdifferent Ġdouble Ġmixing Ġalgorithm ĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 . 8 1 7 7 9 9 5 8 2 4 4 3 0 9 5 , Ġrandom . next Double ()) ĊĊĠĠĠĠĠĠĠ ĠassertEquals ( 0 . 8 4 0 7 5 7 6 5 0 7 8 8 8 7 3 4 , Ġrandom . next Bits ( 3 1 ) Ġ/ Ġ( 2 . 0 . pow ( 3 1 ))) ĊĠĠĠĠĠĠĠ ĠassertEquals ( 5 3 3 1 5 0 8 1 6 , Ġrandom . nextInt ()) ĊĠĠĠ Ġ} Ċ }