From f946b28f752998e8cf43a20f2458537e7c5fd120 Mon Sep 17 00:00:00 2001 From: Chaosus Date: Sat, 9 Feb 2019 11:49:25 +0300 Subject: Fix random generation, to not retrieve 0 after seed() --- core/math/random_pcg.h | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/core/math/random_pcg.h b/core/math/random_pcg.h index ef69bf7120..2a69d43904 100644 --- a/core/math/random_pcg.h +++ b/core/math/random_pcg.h @@ -45,7 +45,10 @@ public: RandomPCG(uint64_t seed = DEFAULT_SEED, uint64_t inc = PCG_DEFAULT_INC_64); - _FORCE_INLINE_ void seed(uint64_t seed) { pcg.state = seed; } + _FORCE_INLINE_ void seed(uint64_t seed) { + pcg.state = seed; + pcg32_random_r(&pcg); // Force changing internal state to avoid initial 0 + } _FORCE_INLINE_ uint64_t get_seed() { return pcg.state; } void randomize(); -- cgit v1.2.3