diff options
author | Rémi Verschelde <rverschelde@gmail.com> | 2024-03-04 13:34:18 +0100 |
---|---|---|
committer | Rémi Verschelde <rverschelde@gmail.com> | 2024-03-04 13:34:18 +0100 |
commit | 48aa12011b9338cd73a4243c625bbb400f1bfe38 (patch) | |
tree | 38754744ca3b1db40496a52dd4ecd5541460cfe6 /core | |
parent | de59a9547c07cfbbc80acbec072ff5ab0ccf4c90 (diff) | |
parent | 981883d041f6e316cb88c4411e9b140192a9da5e (diff) | |
download | redot-engine-48aa12011b9338cd73a4243c625bbb400f1bfe38.tar.gz |
Merge pull request #89104 from luevano/fix-rand-weighted
Fix `RandomNumberGenerator::rand_weighted` return type
Diffstat (limited to 'core')
-rw-r--r-- | core/math/random_number_generator.h | 2 | ||||
-rw-r--r-- | core/math/random_pcg.cpp | 2 | ||||
-rw-r--r-- | core/math/random_pcg.h | 2 |
3 files changed, 3 insertions, 3 deletions
diff --git a/core/math/random_number_generator.h b/core/math/random_number_generator.h index bedeb56ce4..7ec4cdffb0 100644 --- a/core/math/random_number_generator.h +++ b/core/math/random_number_generator.h @@ -57,7 +57,7 @@ public: _FORCE_INLINE_ real_t randfn(real_t p_mean = 0.0, real_t p_deviation = 1.0) { return randbase.randfn(p_mean, p_deviation); } _FORCE_INLINE_ int randi_range(int p_from, int p_to) { return randbase.random(p_from, p_to); } - _FORCE_INLINE_ int rand_weighted(const Vector<float> &p_weights) { return randbase.rand_weighted(p_weights); } + _FORCE_INLINE_ int64_t rand_weighted(const Vector<float> &p_weights) { return randbase.rand_weighted(p_weights); } RandomNumberGenerator() { randbase.randomize(); } }; diff --git a/core/math/random_pcg.cpp b/core/math/random_pcg.cpp index e754a34271..e083820494 100644 --- a/core/math/random_pcg.cpp +++ b/core/math/random_pcg.cpp @@ -43,7 +43,7 @@ void RandomPCG::randomize() { seed(((uint64_t)OS::get_singleton()->get_unix_time() + OS::get_singleton()->get_ticks_usec()) * pcg.state + PCG_DEFAULT_INC_64); } -int RandomPCG::rand_weighted(const Vector<float> &p_weights) { +int64_t RandomPCG::rand_weighted(const Vector<float> &p_weights) { ERR_FAIL_COND_V_MSG(p_weights.is_empty(), -1, "Weights array is empty."); int64_t weights_size = p_weights.size(); const float *weights = p_weights.ptr(); diff --git a/core/math/random_pcg.h b/core/math/random_pcg.h index fa8ad3cfb3..fd0934b24a 100644 --- a/core/math/random_pcg.h +++ b/core/math/random_pcg.h @@ -90,7 +90,7 @@ public: return pcg32_boundedrand_r(&pcg, bounds); } - int rand_weighted(const Vector<float> &p_weights); + int64_t rand_weighted(const Vector<float> &p_weights); // Obtaining floating point numbers in [0, 1] range with "good enough" uniformity. // These functions sample the output of rand() as the fraction part of an infinite binary number, |