Lattice Builder Manual Software Package for Constructing Rank-1 Lattices

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files
- Examples

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Friends Modules Pages
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
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 [14], with a period length near \(2^{258}\).

## Constructor & Destructor Documentation

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

Constructor.

Template Parameters

  s | Optional seed.

References seed().

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

- latbuilder/include/latbuilder/LFSR258.h