![]() |
SG++-Doxygen-Documentation
|
Singleton class for generating pseudo-random numbers (wrapper around std::mt19937 from <random>). More...
#include <RandomNumberGenerator.hpp>
Public Types | |
typedef std::mt19937::result_type | SeedType |
type of the seed | |
Public Member Functions | |
double | getGaussianRN (double mean=0.0, double stdDev=1.0) |
Generate a Gaussian pseudo-random number. | |
void | getGaussianRV (DataVector &vector, double mean=0.0, double stdDev=1.0) |
Fills vector with Gaussian pseudo-random numbers. | |
SeedType | getSeed () const |
size_t | getUniformIndexRN (size_t size) |
Generate a uniform pseudo-random array index. | |
double | getUniformRN (double a=0.0, double b=1.0) |
Generate a uniform pseudo-random number. | |
void | getUniformRV (DataVector &vector, double a=0.0, double b=1.0) |
Fills vector with uniform pseudo-random numbers. | |
void | setSeed () |
Reseeds with time-dependent seed. | |
void | setSeed (SeedType seed) |
Reseeds. | |
Static Public Member Functions | |
static RandomNumberGenerator & | getInstance () |
Protected Attributes | |
std::mt19937 | generator |
random number generator | |
SeedType | seed |
seed | |
Singleton class for generating pseudo-random numbers (wrapper around std::mt19937 from <random>).
typedef std::mt19937::result_type sgpp::base::RandomNumberGenerator::SeedType |
type of the seed
double sgpp::base::RandomNumberGenerator::getGaussianRN | ( | double | mean = 0.0 , |
double | stdDev = 1.0 |
||
) |
Generate a Gaussian pseudo-random number.
mean | mean of the Gaussian distribution |
stdDev | standard deviation of the Gaussian distribution |
References generator.
Referenced by sgpp::optimization::test_problems::ConstrainedTestProblem::generateDisplacement(), sgpp::optimization::test_problems::UnconstrainedTestProblem::generateDisplacement(), getGaussianRV(), and sgpp::optimization::optimizer::CMAES::optimize().
void sgpp::base::RandomNumberGenerator::getGaussianRV | ( | DataVector & | vector, |
double | mean = 0.0 , |
||
double | stdDev = 1.0 |
||
) |
Fills vector with Gaussian pseudo-random numbers.
[out] | vector | vector to be filled, has to have desired size beforehand |
mean | mean of the Gaussian distribution | |
stdDev | standard deviation of the Gaussian distribution |
References getGaussianRN(), and sgpp::base::DataVector::getSize().
|
static |
Referenced by sgpp::optimization::ResponseSurfaceVector::averageL2Error(), sgpp::optimization::ResponseSurfaceVector::averageNRMSE(), sgpp::optimization::test_problems::ConstrainedTestProblem::generateDisplacement(), sgpp::optimization::test_problems::UnconstrainedTestProblem::generateDisplacement(), sgpp::optimization::ResponseSurface::l2Error(), sgpp::optimization::ResponseSurface::nrmsError(), sgpp::optimization::optimizer::CMAES::optimize(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), and sgpp::optimization::ResponseSurface::precalculateErrorTestData().
RandomNumberGenerator::SeedType sgpp::base::RandomNumberGenerator::getSeed | ( | ) | const |
References seed.
size_t sgpp::base::RandomNumberGenerator::getUniformIndexRN | ( | size_t | size | ) |
Generate a uniform pseudo-random array index.
size | size of the array |
References generator.
Referenced by sgpp::optimization::optimizer::DifferentialEvolution::optimize().
double sgpp::base::RandomNumberGenerator::getUniformRN | ( | double | a = 0.0 , |
double | b = 1.0 |
||
) |
Generate a uniform pseudo-random number.
a | lower bound |
b | upper bound |
References generator.
Referenced by sgpp::optimization::ResponseSurfaceVector::averageL2Error(), sgpp::optimization::ResponseSurfaceVector::averageNRMSE(), getUniformRV(), sgpp::optimization::ResponseSurface::l2Error(), sgpp::optimization::ResponseSurface::nrmsError(), sgpp::optimization::optimizer::DifferentialEvolution::optimize(), sgpp::optimization::optimizer::MultiStart::optimize(), and sgpp::optimization::ResponseSurface::precalculateErrorTestData().
void sgpp::base::RandomNumberGenerator::getUniformRV | ( | DataVector & | vector, |
double | a = 0.0 , |
||
double | b = 1.0 |
||
) |
Fills vector with uniform pseudo-random numbers.
[out] | vector | vector to be filled, has to have desired size beforehand |
a | lower bound | |
b | upper bound |
References sgpp::base::DataVector::getSize(), and getUniformRN().
void sgpp::base::RandomNumberGenerator::setSeed | ( | ) |
void sgpp::base::RandomNumberGenerator::setSeed | ( | RandomNumberGenerator::SeedType | seed | ) |
|
protected |
random number generator
Referenced by getGaussianRN(), getUniformIndexRN(), getUniformRN(), and setSeed().
|
protected |
seed
Referenced by getSeed(), setSeed(), and python.uq.learner.builder.RegressorSpecificationDescriptor.FoldingDescriptor::withSeed().