Go to the documentation of this file.
69 pdf->
cd.
v[0] = sqrt(cd.
m[0][0]);
70 pdf->
cd.
v[1] = sqrt(cd.
m[1][1]);
71 pdf->
cd.
v[2] = sqrt(cd.
m[2][2]);
121 for (i = 0; i < 3; i++)
127 for (i = 0; i < 3; i++)
129 x.
v[i] = pdf->
x.
v[i];
130 for (j = 0; j < 3; j++)
131 x.
v[i] += pdf->
cr.
m[i][j] * r.
v[j];
147 do { r =
drand48(); }
while (r==0.0);
149 do { r =
drand48(); }
while (r==0.0);
152 }
while(w > 1.0 || w==0.0);
154 return(sigma * x2 * sqrt(-2.0*log(w)/w));
void pf_pdf_gaussian_free(pf_pdf_gaussian_t *pdf)
double pf_ran_gaussian(double sigma)
pf_vector_t pf_pdf_gaussian_sample(pf_pdf_gaussian_t *pdf)
pf_pdf_gaussian_t * pf_pdf_gaussian_alloc(pf_vector_t x, pf_matrix_t cx)
static double drand48(void)
static void srand48(long int seedval)
static unsigned int pf_pdf_seed
void pf_matrix_unitary(pf_matrix_t *r, pf_matrix_t *d, pf_matrix_t a)
gmcl
Author(s): Mhd Ali Alshikh Khalil, adler1994@gmail.com
autogenerated on Wed Mar 2 2022 00:20:14