#ifdef RNG_DEVICE
FILE *fp = fopen(RNG_DEVICE, "r");
+ int n;
do {
- fread(Rand_state, sizeof(Rand_state[0]), 4, fp);
- } while ((Rand_state[0] | Rand_state[1] | Rand_state[2] | Rand_state[3]) == 0);
+ n = fread(Rand_state, sizeof(Rand_state[0]), 4, fp);
+ } while (n != 4 || (Rand_state[0] | Rand_state[1] | Rand_state[2] | Rand_state[3]) == 0);
fclose(fp);
s16b high = RANDNOR_NUM;
/* Paranoia */
- if (stand < 1) return (mean);
+ if (stand < 1) return (s16b)(mean);
/* Roll for probability */
tmp = (s16b)randint0(32768);
/* Move left otherwise */
else
{
- high = mid;
+ high = (s16b)mid;
}
}
{
int i, sum = 0;
for (i = 0; i < num; i++) sum += randint1(sides);
- return (sum);
+ return (s16b)(sum);
}
if (!initialized)
{
/* Initialize with new seed */
- u32b seed = time(NULL);
+ u32b seed = (u32b)time(NULL);
Rand_Xorshift_seed(seed, Rand_state_external);
initialized = TRUE;
}