#include #include static unsigned int s_seed = 0; void random_seed ( int seed ) { if ( !seed ) s_seed=time ( NULL ); else s_seed=seed; } int random_int ( int min, int max ) { s_seed=214013*s_seed+2531011; return min+ ( s_seed ^ s_seed>>15 ) % ( max-min+1 ); } float random_float ( float min, float max ) { s_seed=214013*s_seed+2531011; return min+ ( s_seed>>16 ) * ( 1.0f/65535.0f ) * ( max-min ); } int main() { /* initialize random seed: */ random_seed ( 0 ); printf ( "random_int(20,9393) = %d\n",random_int ( 20,9393 ) ); printf ( "random_float(20.0,9393.0) = %f\n",random_float ( 20.0f,9393.0f ) ); return 0; }