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