/*--------------------------------------------------------------------------
Author: Thomas Nowotny
Institute: Institute for Nonlinear Dynamics
University of California San Diego
La Jolla, CA 92093-0402
email to: tnowotny@ucsd.edu
initial version: 2002-00-08
--------------------------------------------------------------------------*/
/*--------------------------------------------------------------------------
Random number generator for Gaussian RV with mean 0 and standard
deviation 1. Based on the ratio of uniforms method by A.J. Kinderman
and J.F. Monahan and improved with quadratic boundind curves by
J.L. Leva. Taken from Algorithm 712 ACM Trans. Math. Softw. 18 p. 454.
(the necessary uniform RV are obtained from the ISAAC random number
generator; C++ Implementation by Quinn Tyler Jackson of the RG invented
by Bob Jenkins Jr.)
--------------------------------------------------------------------------*/
#ifndef GAUSS_H
#define GAUSS_H
#include <cmath>
#include "randomGen.h"
class randomGauss
{
private:
QTIsaac<8, ulong> UniGen;
double s, t, a, b, r1, r2;
double u, v;
double x, y, q;
int done;
public:
explicit randomGauss();
randomGauss(ulong, ulong, ulong);
~randomGauss() { }
double n();
};
#include "randomGen.cc"
#include "gauss.cc"
#endif