LatNet Builder Manual 2.1.3-6
Software Package for Constructing Highly Uniform Point Sets
|
LFSR258 pseudo-random generator by L'Ecuyer. More...
#include <LFSR258.h>
Public Types | |
typedef uint64_t | result_type |
typedef std::array< result_type, 5 > | seed_type |
Public Member Functions | |
LFSR258 (seed_type s=default_seed) | |
Constructor. | |
const seed_type & | seed () |
Returns the current seed. | |
void | seed (seed_type s) |
Sets the seed for the generator. | |
void | jump () |
Jumps 2^100 iterations past the current state. | |
result_type | operator() () |
Returns the next random number in the sequence. |
Static Public Member Functions | |
static constexpr result_type | min () |
Returns the smallest value in the output range. | |
static constexpr result_type | max () |
Returns the largest value in the output range. |
Static Public Attributes | |
static const seed_type | default_seed |
Friends | |
bool | operator== (const LFSR258 &e1, const LFSR258 &e2) |
Returns true if the generators e1 and e2 are in the same state, or else false . | |
bool | operator!= (const LFSR258 &e1, const LFSR258 &e2) |
Returns true if the generators e1 and e2 are not in the same state, or else false . |
LFSR258 pseudo-random generator by L'Ecuyer.
This class generates 64-bit pseudo-random numbers using the LFSR258 generator by L'Ecuyer [18], with a period length near \(2^{258}\).
|
inline |
Constructor.
s | Optional seed. |
References seed().
Referenced by operator!=, and operator==.