You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
static __uint128_t g_lehmer64_state;
/**
* D. H. Lehmer, Mathematical methods in large-scale computing units.
* Proceedings of a Second Symposium on Large Scale Digital Calculating
* Machinery;
* Annals of the Computation Laboratory, Harvard Univ. 26 (1951), pp. 141-146.
*
* P L'Ecuyer, Tables of linear congruential generators of different sizes and
* good lattice structure. Mathematics of Computation of the American
* Mathematical
* Society 68.225 (1999): 249-260.
*/
static inline void lehmer64_seed(uint64_t seed) {
g_lehmer64_state = (((__uint128_t)splitmix64_stateless(seed, 0)) << 64) +
splitmix64_stateless(seed, 1);
}
static inline uint64_t lehmer64() {
g_lehmer64_state *= UINT64_C(0xda942042e4dd58b5);
return g_lehmer64_state >> 64;
}
#endif
The text was updated successfully, but these errors were encountered:
https://github.com/lemire/testingRNG/blob/master/source/lehmer64.h
May be we already get it in lehmer
The text was updated successfully, but these errors were encountered: