|
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==.