diff --git a/src/lib/controllib/BlockRandGauss.hpp b/src/lib/controllib/BlockRandGauss.hpp index ab50b08990..27791a577e 100644 --- a/src/lib/controllib/BlockRandGauss.hpp +++ b/src/lib/controllib/BlockRandGauss.hpp @@ -78,8 +78,8 @@ public: if (phase == 0) { do { - float U1 = (float)rand() / RAND_MAX; - float U2 = (float)rand() / RAND_MAX; + float U1 = static_cast(rand()) / static_cast(RAND_MAX); + float U2 = static_cast(rand()) / static_cast(RAND_MAX); V1 = 2 * U1 - 1; V2 = 2 * U2 - 1; S = V1 * V1 + V2 * V2; diff --git a/src/lib/controllib/BlockRandUniform.hpp b/src/lib/controllib/BlockRandUniform.hpp index 3a6d45cc1a..c79d9ce31a 100644 --- a/src/lib/controllib/BlockRandUniform.hpp +++ b/src/lib/controllib/BlockRandUniform.hpp @@ -75,7 +75,7 @@ public: virtual ~BlockRandUniform() = default; float update() { - static float rand_max = RAND_MAX; + static float rand_max = static_cast(RAND_MAX); float rand_val = rand(); float bounds = getMax() - getMin(); return getMin() + (rand_val * bounds) / rand_max;