diff options
| author | Yukihiro "Matz" Matsumoto <[email protected]> | 2021-08-22 12:37:34 +0900 |
|---|---|---|
| committer | GitHub <[email protected]> | 2021-08-22 12:37:34 +0900 |
| commit | 0f3671044500a882d47cd992589064d04aa867b5 (patch) | |
| tree | 943dbde4ca3fbd13cd110e2422bf71376347db79 /mrbgems/mruby-random/src | |
| parent | 886055b3fb047839abe13b03dd44d9e35c35d5b0 (diff) | |
| parent | 2121b6e6898df7691f79cc61966782981f56c5c9 (diff) | |
| download | mruby-0f3671044500a882d47cd992589064d04aa867b5.tar.gz mruby-0f3671044500a882d47cd992589064d04aa867b5.zip | |
Merge pull request #5536 from dearblue/random-seed
Stirs internal state when `seed` is set in `Random`
Diffstat (limited to 'mrbgems/mruby-random/src')
| -rw-r--r-- | mrbgems/mruby-random/src/random.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/mrbgems/mruby-random/src/random.c b/mrbgems/mruby-random/src/random.c index 27fd98f82..027e7ce0b 100644 --- a/mrbgems/mruby-random/src/random.c +++ b/mrbgems/mruby-random/src/random.c @@ -58,12 +58,17 @@ rand_init(rand_state *t) #endif } +static uint32_t rand_uint32(rand_state *state); + static uint32_t rand_seed(rand_state *t, uint32_t seed) { uint32_t old_seed = t->seed[SEEDPOS]; rand_init(t); t->seed[SEEDPOS] = seed; + for (int i = 0; i < 10; i++) { + rand_uint32(t); + } return old_seed; } |
