autoseed.html 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <html>
  2. <head>
  3. <link rel="stylesheet" href="lib/qunit.css">
  4. </head>
  5. <body>
  6. <div id="qunit"></div>
  7. <div id="qunit-fixture"></div>
  8. <script src="lib/qunit.js"></script>
  9. <script src="../seedrandom.js"></script>
  10. <script>
  11. QUnit.module("Simple Test");
  12. QUnit.test("Check that we can reproduce a seed", function(assert) {
  13. var seed;
  14. var time = new Date().getTime();
  15. var seediter = 50;
  16. for (var k = 0; k < seediter; ++k) {
  17. seed = Math.seedrandom();
  18. }
  19. var seedtime = (new Date().getTime() - time) / seediter;
  20. time = new Date().getTime();
  21. var vals = [];
  22. var iters = 1000;
  23. var j;
  24. for (j = 0; j < iters; ++j) {
  25. var saw = Math.random();
  26. vals.push(saw);
  27. }
  28. time = new Date().getTime() - time;
  29. var errors = 0;
  30. Math.seedrandom(seed);
  31. for (j = 0; j < vals.length; ++j) {
  32. var saw = vals[j];
  33. var got = Math.random();
  34. assert.equal(saw, got, saw + " vs " + got);
  35. }
  36. assert.ok(true, '' +
  37. 'Seeding took ' + seedtime + ' ms per seedrandom' +
  38. ' in ' + time + ' ms for ' + iters +
  39. ' calls, ' + (time / iters) + ' ms per random()' + '');
  40. });
  41. </script>
  42. </body>
  43. </html>