5 #ifndef FML__UTILS_FMLUTILS_H 6 #define FML__UTILS_FMLUTILS_H 17 #include <sys/types.h> 27 inline uint32_t mix_96(uint32_t a, uint32_t b, uint32_t c)
29 a=a-b; a=a-c; a=a^(c >> 13);
30 b=b-c; b=b-a; b=b^(a << 8);
31 c=c-a; c=c-b; c=c^(b >> 13);
32 a=a-b; a=a-c; a=a^(c >> 12);
33 b=b-c; b=b-a; b=b^(a << 16);
34 c=c-a; c=c-b; c=c^(b >> 5);
35 a=a-b; a=a-c; a=a^(c >> 3);
36 b=b-c; b=b-a; b=b^(a << 10);
37 c=c-a; c=c-b; c=c^(b >> 15);
45 inline uint32_t get_seed()
53 pid = (uint32_t) getpid();
55 #error "Unable to get PID" 58 ret = mix_96((uint32_t) time(NULL), (uint32_t) clock(), pid);
Definition: fmlutils.hh:22