http://vigna.di.unimi.it/xorshift/xoroshiro128plus.c
| 957 | |
| 958 | //http://vigna.di.unimi.it/xorshift/xoroshiro128plus.c |
| 959 | u64 xoroshiro128plus_next() { |
| 960 | const u64 s0 = xoroshiro128plus_s[0]; |
| 961 | u64 s1 = xoroshiro128plus_s[1]; |
| 962 | const u64 result = s0 + s1; |
| 963 | |
| 964 | s1 ^= s0; |
| 965 | xoroshiro128plus_s[0] = xoroshiro128plus_rotl(s0, 55) ^ s1 ^ (s1 << 14); // a, b |
| 966 | xoroshiro128plus_s[1] = xoroshiro128plus_rotl(s1, 36); // c |
| 967 | |
| 968 | return result; |
| 969 | } |
| 970 | |
| 971 | void FCEU_MemoryRand(uint8 *ptr, uint32 size, bool default_zero) { |
| 972 | int x = 0; |
no test coverage detected