25 (perm[ 0]*0x0d7e11b44d8e8161) ^ (perm[ 1]*0x3d43a82e494a9972) ^
26 (perm[ 2]*0x71b941e4c1557ec7) ^ (perm[ 3]*0x56bf34559248d37c) ^
27 (perm[ 4]*0x445db48764d3c5c8) ^ (perm[ 5]*0xd2b96a4ba16b5c56) ^
28 (perm[ 6]*0xb2bbaa127223e3da) ^ (perm[ 7]*0x3232fd669cd2918e) ^
29 (perm[ 8]*0x331d3d1bd619e971) ^ (perm[ 9]*0x74b3680644295539) ^
30 (perm[10]*0xb491addfb1af0f5b) ^ (perm[11]*0xa3caa6455b313d54) ^
31 (perm[12]*0xb6257e45a726fa52) ^ (perm[13]*0xd413cd54747f43b1) ^
32 (perm[14]*0x706873eeb3583e05) ^ (perm[15]*0x3fd0d37b7f24589c) ^
33 (perm[16]*0xc04cb886d76abce0) ^ (perm[17]*0x3ecfdec3d519aedd) ^
34 (perm[18]*0xbb4f1bccb25c3e51) ^ (perm[19]*0xb1b80c550732d50f) ^
35 (perm[20]*0x7c5015c795b5c8c2) ^ (perm[21]*0xb2d8190706c770a8) ^
36 (perm[22]*0x0d7e11b44d8e8161) ^ (perm[23]*0x3d43a82e494a9972) ^
37 (perm[24]*0x71b941e4c1557ec7) ^ (perm[25]*0x56bf34559248d37c) ^
38 (perm[26]*0x445db48764d3c5c8) ^ (perm[27]*0xd2b96a4ba16b5c56) ^
39 (perm[28]*0xb2bbaa127223e3da) ^ (perm[29]*0x3232fd669cd2918e) ^
40 (perm[30]*0x331d3d1bd619e971) ^ (perm[31]*0x74b3680644295539);
64 uintx_t gen0(
"350F1C2036E12600512A8400920E");
65 uintx_t gen1(
"EEDC82EE2D472B430D13E5066CD5B");
CPerm * m_pCurPerm
Current permutation.
uint32_t m_nOrder
Order of generators.
void ChooseGenerators()
Choose generators.
void NextPerm()
Compute next permutation.
void srand(uintx_t &seed)
Seed the generator.
Declaration of the Cayley32 pseudo-random number generator.
int m_nTail
Index of last element in delay line.
The extensible unsigned integer class.
CPowerTable m_nPower[2]
Power tables for a pair of generators.
void Initialize(const CPerm &p)
Initialize.
static const int m_nDelay
Delay size.
uint64_t rand()
Generate 64 pseudo-random bits.
uint64_t m_nDelayLine[m_nDelay]
Delay line.