Commit Graph

8 Commits

Author SHA1 Message Date
lrn@google.com d63af4cdc8 Add more complex mixing of random seed.
This changes the sequences generated by Random for a given seed,
since the internal state will not be the same as for the unmixed
seed.
It is consistent between VM and dart2js.

The provided integer seed is hashed as follows:
   uint64 hash = 0;
   while (seed > 0) {
      hash = hash * 1037 + mix64((int64)seed);
      seed >>= 64;
   }
where mix64 mixes the bits of a 64-bit value.
The hash is used to initialize the random generator's internal state.

R=floitsch@google.com, iposva@google.com

Review URL: https://codereview.chromium.org//156533002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@32412 260f80e4-7a28-3924-810f-c04153c831b5
2014-02-07 08:42:43 +00:00
lrn@google.com f0bc9ff077 Change dart2js' Random to honor the seed.
Simulate the same RNG as the VM when a seed is passed.

BUG= http://dartbug.com/15426
R=floitsch@google.com

Review URL: https://codereview.chromium.org//104083003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@30893 260f80e4-7a28-3924-810f-c04153c831b5
2013-12-05 13:06:47 +00:00
srdjan@google.com c891612920 Adapt Random class to be able to run in javascript integer compatibility mode.
R=asiva@google.com, zra@google.com

Review URL: https://codereview.chromium.org//21966003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@25753 260f80e4-7a28-3924-810f-c04153c831b5
2013-08-02 23:07:55 +00:00
iposva@google.com 4271b30c89 - Extend the coin test for slightly different scenarios.
- Crank the generator a couple of times before returning
  a newly allocated one.

Review URL: https://codereview.chromium.org//15356003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@23309 260f80e4-7a28-3924-810f-c04153c831b5
2013-05-28 22:15:07 +00:00
floitsch@google.com 8fd6d0aafd Remove Expect from core library.
Committed: https://code.google.com/p/dart/source/detail?r=19755
Reverted: http://code.google.com/p/dart/source/detail?r=19756

Review URL: https://codereview.chromium.org//12212016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@20996 260f80e4-7a28-3924-810f-c04153c831b5
2013-04-05 19:43:16 +00:00
floitsch@google.com 5dc8107c53 Revert "Remove Expect from core library."
This reverts commit 19755.

Review URL: https://codereview.chromium.org//12743005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19756 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-09 03:19:07 +00:00
floitsch@google.com 12dbd2fd70 Remove Expect from core library.
Review URL: https://codereview.chromium.org//12212016

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19755 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-09 02:40:37 +00:00
iposva@google.com b25d694633 - Avoid wrapping into Mints when generating random numbers.
- Update Random number tests.
- Fix String.fromCharCodes signature.
Review URL: https://codereview.chromium.org//12622002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@19642 260f80e4-7a28-3924-810f-c04153c831b5
2013-03-07 17:19:47 +00:00