![]() |
Cayley
Pseudo-Random Bits from Finite Groups
|
Main. More...
Go to the source code of this file.
Enumerations | |
| enum | Task { Time, Generate, GenerateEx, GenerateMT, None } |
| Task type. | |
Functions | |
| uint64_t | CPUTimeInNanoseconds () |
| CPU time in nanoseconds. More... | |
| void | PrintHelp () |
| Print help. More... | |
| void | GetParams (int argc, char *argv[], uintx_t &seed, Task &t) |
| Get generator parameters from argv. More... | |
| template<typename t > | |
| void | Generate (const t &rnd, uint64_t nBufSize) |
| Write an infinite number of pseudorandom bits to stdout. More... | |
| template<typename t > | |
| double | Time (const t &rand, uint64_t n) |
| Time a PRNG. More... | |
| void | Time (Cayley32 *pCayley, uint64_t n) |
| Time Cayley and the Mersenne Twister. More... | |
| int | main (int argc, char *argv[]) |
| Main. More... | |
| uint64_t CPUTimeInNanoseconds | ( | ) |
Get CPU time in nanoseconds.
Definition at line 48 of file CPUtime.cpp.
| void Generate | ( | const t & | rnd, |
| uint64_t | nBufSize | ||
| ) |
The bitstream is intended to be piped into Dieharder, which requires an arbitrary length bitstream. Dieharder will break the pipe when it has enough data. The output of the PNRG is accumulated in a buffer before being written to stdout.
| rnd | A PRNG. |
| nBufSize | Buffer size in 8-byte blocks. |
| int main | ( | int | argc, |
| char * | argv[] | ||
| ) |
| double Time | ( | const t & | rand, |
| uint64_t | n | ||
| ) |
1.8.15