1 #include <stdlib.h> 2 3 #if defined(__GNUC__) 4 static unsigned long long next = 0; 5 #else 6 static unsigned __int64 next = 0; 7 #endif 8 9 /* 10 * @implemented 11 */ 12 int __cdecl rand(void) 13 { 14 #if defined(__GNUC__) 15 next = next * 0x5deece66dLL + 11; 16 #else 17 next = next * 0x5deece66di64 + 11; 18 #endif 19 return (int)((next >> 16) & RAND_MAX); 20 } 21 22 23 /* 24 * @implemented 25 */ 26 void __cdecl srand(unsigned seed) 27 { 28 next = seed; 29 } 30