1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
#ifndef RNG_H
#define RNG_H
#include "../structures/types.h"
class RNG {
public:
static double Gaussian();
static double GaussianProduct();
static double GaussianPartialProduct();
static double GaussianComplex();
static double Rayleigh();
static double Uniform();
static double EvaluateRayleigh(double x, double sigmaSquared);
static long double EvaluateGaussian(long double x, long double sigmaSquared);
static double EvaluateUnnormalizedGaussian(double x, double sigmaSquared);
static double EvaluateGaussian(double x, double sigmaSquared);
static double EvaluateGaussian2D(long double x1, long double x2,
long double sigmaX1, long double sigmaX2);
static double IntegrateGaussian(long double upperLimit);
static void DoubleGaussian(long double& a, long double& b);
static void ComplexGaussianAmplitude(num_t& r, num_t& i);
private:
RNG();
};
#endif
|