LatNet Builder Manual 2.1.3-6
Software Package for Constructing Highly Uniform Point Sets
Loading...
Searching...
No Matches
LatBuilder::LFSR258 Class Reference

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.

Detailed Description

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}\).

Constructor & Destructor Documentation

◆ LFSR258()

LatBuilder::LFSR258::LFSR258 ( seed_type s = default_seed)
inline

Constructor.

Template Parameters
sOptional seed.

References seed().

Referenced by operator!=, and operator==.


The documentation for this class was generated from the following file:
  • include/latbuilder/LFSR258.h