func1[i].real() = func1[i].imag() = func2[i].real() = func2[i].imag() = 0.0;
}
- double invsigma2 = 1.0 / sigma2;
+ double invsq2sigma2 = 1.0 / (sqrt(2.0) * sigma2);
for (int i = 0; i < sz; ++i) {
double x1 = 0.0 + h*i;
- double z = (x1 - mu2) * invsigma2;
- func1[i].real() = exp(-(z*z/2.0));
+ double z = (x1 - mu2) * invsq2sigma2;
+ func1[i].real() = exp(-z*z);
double x2 = -3000.0 + h*i;
func2[(i - sz/2 + sz*2)%(sz*2)].real() = prob_score_real(k, a, binomial_precompute, x2*winfac);
double r1 = i * h;
// iterate over r2
- double invsigma2 = 1.0 / sigma2;
+ double invsq2sigma2 = 1.0 / (sqrt(2.0) * sigma2);
for (unsigned j = 0; j < curve.size(); ++j) {
double r1plusr2 = curve[j].first;
double r2 = r1plusr2 - r1;
- double z = (r2 - mu2) * invsigma2;
- double gaussian = exp(-(z*z/2.0));
+ double z = (r2 - mu2) * invsq2sigma2;
+ double gaussian = exp(-z*z);
sum += curve[j].second * gaussian;
}