#include <x86.h> #include <stdlib.h> static unsigned long long next = 1; /* * * rand - returns a pseudo-random integer * * The rand() function return a value in the range [0, RAND_MAX]. * */ int rand(void) { next = (next * 0x5DEECE66DLL + 0xBLL) & ((1LL << 48) - 1); unsigned long long result = (next >> 12); return (int)do_div(result, RAND_MAX + 1); } /* * * srand - seed the random number generator with the given number * @seed: the required seed number * */ void srand(unsigned int seed) { next = seed; }