#include <qrandom.hpp>
Inheritance diagram for Random:
Public Member Functions | |
virtual | ~Random () |
Destructor. | |
virtual void | get_gaussian (double *x)=0 |
Get gaussian random numbers. | |
virtual void | get_part_gaussian (bool *gaussian, double *x)=0 |
Get uniform and gaussian random numbers. | |
virtual void | get (double *x)=0 |
Get uniform random numbers. | |
Protected Member Functions | |
Random (int n) | |
Constructor. | |
Random (const Random &rng) | |
Prevent copying. | |
double | transform_gaussian (double R) |
Returns number from gaussian distribution, transformed from uniformly distributed R, where 0 <= R <= 1. | |
Protected Attributes | |
int | _N |
Number of dimensions for RNG. |
This RNG can produce random numbers in N independent dimensions. RNG includes functions to return uniformly distributed numbers between 0 and 1 and numbers from a gaussian distribution.
Random::Random | ( | int | n | ) | [protected] |
Constructor.
Random::Random | ( | const Random & | rng | ) | [inline, protected] |
Prevent copying.
virtual Random::~Random | ( | ) | [virtual] |
Destructor.
virtual void Random::get | ( | double * | x | ) | [pure virtual] |
virtual void Random::get_gaussian | ( | double * | x | ) | [pure virtual] |
virtual void Random::get_part_gaussian | ( | bool * | gaussian, | |
double * | x | |||
) | [pure virtual] |
Get uniform and gaussian random numbers.
Get next sampling from quasi random number generator to x with dimensions marked (to true) in list gaussian mapped to gaussian distribution with standard deviation of 1. Rest of the dimensions are linear. Array x must have space for N numbers.
double Random::transform_gaussian | ( | double | R | ) | [protected] |
Returns number from gaussian distribution, transformed from uniformly distributed R, where 0 <= R <= 1.
int Random::_N [protected] |
Number of dimensions for RNG.