tk::RNGStack class

Random number generator stack.

Constructors, destructors, conversion operators

RNGStack(const ctr::RNGMKLParameters& mklparam, const ctr::RNGSSEParameters& rngsseparam, const ctr::RNGRandom123Parameters& r123param) explicit
Constructor: register random number generators into factory.

Public functions

auto selected(const std::vector<ctr::RNGType>& sel) const -> std::map<std::underlying_type_t<tk::ctr::RNGType>, tk::RNG>
Instantiate selected RNGs.
auto create(tk::ctr::RNGType r) const -> tk::RNG
Instantiate a RNG.

Function documentation

tk::RNGStack::RNGStack(const ctr::RNGMKLParameters& mklparam, const ctr::RNGSSEParameters& rngsseparam, const ctr::RNGRandom123Parameters& r123param) explicit

Constructor: register random number generators into factory.

Parameters
mklparam in MKL RNG parameters to use to configure MKL RNGs
rngsseparam in RNGSSE RNG parameters to use to configure RNGSSE RNGs
r123param in Random123 RNG parameters to use to configure Random123 RNGs

std::map<std::underlying_type_t<tk::ctr::RNGType>, tk::RNG> tk::RNGStack::selected(const std::vector<ctr::RNGType>& sel) const

Instantiate selected RNGs.

Parameters
sel in Vector of selected RNGs to instantiate (selected by the user)
Returns A std::map of keys and their associated instantiated RNG objects