LatNet Builder Manual  2.0.1-11
Software Package for Constructing Highly Uniform Point Sets
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. More...
 
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 [19], 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().


The documentation for this class was generated from the following file: