public void Shift128SpeedTest() { Random r = new Random(); r.Next(); WeakRandom.XorShift128(); Stopwatch s = new Stopwatch(); s.Start(); for (int i = 0; i < 1000000; i++) { r.Next(); } long libraryTime = s.ElapsedTicks; s.Restart(); for (int i = 0; i < 1000000; i++) { WeakRandom.XorShift128(); } long xorTime = s.ElapsedTicks; Assert.IsTrue(xorTime < libraryTime); }
public void Add(T item) { if (head._right == null) { var newNode = new Skiplist <T> .Node <T>(item); head._right = newNode; newNode._left = head; newNode._right = tail; tail._left = newNode; } else { var newNode = AddNodeToBottomLevel(item); int curHeight = 1; while (WeakRandom.XorShift128(2) % 4 == 0) { curHeight++; if (curHeight > maxHeight) //need to add a new head/tail level { AddLevel(); } AddUpperNode(item, newNode); } } }
public void btnOneMore_Click(object sender, EventArgs args) { WeakRandom rnd = (WeakRandom)Session["Random"]; IList <uint> numbers = (IList <uint>)Session["Numbers"]; numbers.Add(rnd.Next(MIN, MAX)); lblSequence.Text = "Sequence: " + Print(numbers); }
public void Shift128ModTest() { int count = 0; for (int i = 0; i < 100000; i++) { int a = WeakRandom.XorShift128(2); if (a == 0) { count++; } } Assert.IsTrue(count > 49500 && count < 50500); }
public void Shift128Test2() { var generated = new List <int>(); for (int i = 0; i < 100000; i++) { int a = WeakRandom.XorShift128(); generated.Add(a); } int count = generated.Count(q => q % 2 == 0); Assert.IsTrue(count > 49500 && count < 50500); count = generated.Count(q => q > Int32.MaxValue / 2); Assert.IsTrue(count > 49500 && count < 50500); }
public void Reset() { Session["Random"] = new WeakRandom(); var rnd = (WeakRandom)Session["Random"]; IList <uint> numbers = new List <uint>(); for (int i = 0; i < INIT_NUMBERS; i++) { numbers.Add(rnd.Next(MIN, MAX)); } Session["Numbers"] = numbers; }
public void btnGo_Click(object sender, EventArgs args) { WeakRandom rnd = (WeakRandom)Session["Random"]; uint next = rnd.Peek(MIN, MAX); if (txtNextNumber.Text == next.ToString()) { lblResult.Text = "You found it!"; } else { lblResult.Text = "Sorry please try again."; } }
public void Shift128Test() { var generated = new List <int>(); for (int i = 0; i < 1000; i++) { int a = WeakRandom.XorShift128(); generated.Add(a); } foreach (int i in generated) { if (generated.Count(q => q == i) > 2) { Assert.Fail(); } } }