File: rng.h

package info (click to toggle)
aoflagger 3.5.1-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 6,000 kB
  • sloc: cpp: 67,891; python: 497; sh: 242; makefile: 22
file content (28 lines) | stat: -rw-r--r-- 923 bytes parent folder | download | duplicates (2)
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