/* General-purpose pseudo-random number generator library based on the xorshift
 * algorithm. */

#ifndef _RANDOM_H_
#define _RANDOM_H_

extern void rand_seed(unsigned int seed);
extern unsigned int rand_next(void);

#define rand_range(x) (rand_next() % (x))
#define rand_float(x) (rand_next() * (1.0f / 4294967296.0f))
#define rand_float_signed(x) (((signed int) rand_next()) * (1.0f / 2147483648.0f))

#endif//_RANDOM_H_
