clangs warns of the implicit cast of RAND_MAX to float:
error: implicit conversion from 'int' to 'float' changes value from
2147483647 to
2147483648 [-Werror,-Wimplicit-const-int-float-conversion]
So make it explicit.
float min_pow = powf (dist_min, exponent + 1);
float max_pow = powf (dist_max, exponent + 1);
- float r = (float) rand_data / RAND_MAX;
+ float r = (float) rand_data / (float) RAND_MAX;
return (unsigned int) powf ((max_pow - min_pow) * r + min_pow,
1 / (exponent + 1));
const CHAR *s, const CHAR *c)
{
size_t i, iters = INNER_LOOP_ITERS8;
- int must_execute = 0;
+ volatile int must_execute = 0;
timing_t start, stop, cur;
TIMING_NOW (start);
for (i = 0; i < iters; ++i)
buf[align + len] = 0;
buf[align + pos] = 1;
- perc_zero_int = perc_zero * RAND_MAX;
+ perc_zero_int = perc_zero * (float) RAND_MAX;
for (i = 0; i < NUM_SEARCH_CHARS; ++i)
{
if (rand () > perc_zero_int)