Home | History | Annotate | Download | only in debase

Lines Matching refs:rnd

33  * \param rnd	RNG to initialize.
36 void deRandom_init (deRandom* rnd, deUint32 seed)
38 rnd->x = (deUint32)(-(int)seed ^ 123456789);
39 rnd->y = (deUint32)(362436069 * seed);
40 rnd->z = (deUint32)(521288629 ^ (seed >> 7));
41 rnd->w = (deUint32)(88675123 ^ (seed << 3));
46 * \param rnd Pointer to RNG.
49 deUint32 deRandom_getUint32 (deRandom* rnd)
51 deUint32 w = rnd->w;
54 t = rnd->x ^ (rnd->x << 11);
55 rnd->x = rnd->y;
56 rnd->y = rnd->z;
57 rnd->z = w;
58 rnd->w = w = (w ^ (w >> 19)) ^ (t ^ (t >> 8));
64 * \param rnd Pointer to RNG.
67 deUint64 deRandom_getUint64 (deRandom* rnd)
69 deUint64 x = deRandom_getUint32(rnd);
70 return x << 32 | deRandom_getUint32(rnd);
75 * \param rnd Pointer to RNG.
78 float deRandom_getFloat (deRandom* rnd)
80 return (float)(deRandom_getUint32(rnd) & 0xFFFFFFFu) / (float)(0xFFFFFFFu+1);
85 * \param rnd Pointer to RNG.
88 double deRandom_getDouble (deRandom* rnd)
91 return ldexp((double)(deRandom_getUint64(rnd) & ((1ull << DBL_MANT_DIG) - 1)),
97 * \param rnd Pointer to RNG.
100 deBool deRandom_getBool (deRandom* rnd)
102 deUint32 val = deRandom_getUint32(rnd);