ildsgen::Halton class

Halton sequence generator.

*     Integer Halton([2,3], [2,2]):
*     pop() -> [1, 4]   (VdC_i(2,2,2), VdC_i(2,3,2))
*     pop() -> [2, 5]   (next in each sequence)
*     ...
* 

Constructors, destructors, conversion operators

Halton(const std::array<unsigned long, 2>& base, const std::array<unsigned int, 2>& scale) explicit
Construct a new Halton object.

Public functions

auto pop() -> array< unsigned long, 2 > -> auto
Generate the next point in the Halton sequence.
auto reseed(const unsigned long& seed) -> void -> auto
Reset the state of the Halton sequence generator.

Function documentation

ildsgen::Halton::Halton(const std::array<unsigned long, 2>& base, const std::array<unsigned int, 2>& scale) explicit

Construct a new Halton object.

Parameters
base in array of two unsigned long values representing the bases for the two Van der Corput generators
scale in array of two unsigned int values representing the number of digits for each generator

Constructs a Halton sequence generator with the specified bases and scale values.

auto ildsgen::Halton::pop() -> array< unsigned long, 2 >

Generate the next point in the Halton sequence.

Returns array<unsigned long, 2> the next point in the sequence

Returns the next point in the Halton sequence as an array of two unsigned long values.

auto ildsgen::Halton::reseed(const unsigned long& seed) -> void

Reset the state of the Halton sequence generator.

Parameters
seed in the seed value to reset the sequence generator to

Resets the state of the sequence generator to a specific seed value.