53 0x37e1c9b5e1a2b843, 0x56e9d7a3d6234c87, 0xc361be549a24e8c7, 0xd25b9768a1582d7b, 0x18b2547d3de29b67,
54 0xc1752836875c29ad, 0x4e85ba61e814cd25, 0x17489dc6729386c1, 0x7c1563ad89c2a65d, 0xcdb798e4ed82c675,
55 0xd98b72e4b4e682c1, 0xdacb7524e4b3927d, 0x53a8e9d7d1b5c827, 0xe28459db142e98a7, 0x72c1b3461e4569db,
56 0x1864e2d745e3b169, 0x6a2c143bdec97213, 0xb5e1d923d741a985, 0xb4875e967bc63d19, 0x92b64d5a82db4697,
57 0x7cae812d896eb1a5, 0xb53827d41769542d, 0x6d89b42c68a31db5, 0x75e26d434e2986d5, 0x7c82643d293cb865,
58 0x64c3bd82e8637a95, 0x2895c34d9dc83e61, 0xa7d58c34dea35721, 0x3dbc5e687c8e61d5, 0xb468a235e6d2b193,
68 return xi = (
xi >> 32) | (
xi << 32);
72 uint64_t c, i, j, k, m, r, t, u, v;
80 xi =
wi = t *
si + r *
si * 100000000;
84 u = (
mswsi() % 8) * 2 + 1;
89 for (m = 60, c = 0; m > 0;) {
91 for (i = 0; i < 32; i += 4) {
93 if (k != 0 && (c & (1 << k)) == 0) {
97 if (m == 24 || m == 28) c = (1 << k) | v;
Wrapper class for internal state of the Msws generator.
Definition: state.h:17
uint64_t x
Definition: state.h:19
uint64_t w
Definition: state.h:20
uint64_t s
Definition: state.h:21
uint64_t si
Definition: seed.h:63
constexpr uint64_t sconst[]
Definition: seed.h:52
uint64_t wi
Definition: seed.h:63
static uint64_t init_rand_digits(uint64_t n)
Definition: seed.h:71
uint64_t xi
Definition: seed.h:63
static State seed(uint64_t n)
Definition: seed.h:106
static uint32_t mswsi()
Definition: seed.h:65