| 15 | |
| 16 | |
| 17 | static inline uint64_t rotl(const uint64_t value, unsigned int rot) { |
| 18 | #ifdef _WIN32 |
| 19 | return _rotl64(value, rot); |
| 20 | #else |
| 21 | return (value << rot) | (value >> ((-rot) & 63)); |
| 22 | #endif |
| 23 | } |
| 24 | |
| 25 | static inline uint64_t sfc64_next(uint64_t *s) { |
| 26 | const uint64_t tmp = s[0] + s[1] + s[3]++; |