/* * Return a random argument in the range 0 .. n-1. */ long long random_number(long long n) { if (n <= 0) return 0; return ((unsigned long long)JKISS() * 4294967296 + (unsigned long long)JKISS()) % n; }
double random_double() { double x; unsigned int a, b; a = JKISS() >> 6; /* Upper 26 bits */ b = JKISS() >> 5; /* Upper 27 bits */ x = (a * 134217728.0 + b) / 9007199254740992.0; return x; }
double cec15_rand() { return JKISS() / 4294967296.0; }