aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libcrystfel/src/predict-refine.c6
-rw-r--r--libcrystfel/src/utils.h5
2 files changed, 8 insertions, 3 deletions
diff --git a/libcrystfel/src/predict-refine.c b/libcrystfel/src/predict-refine.c
index ae638025..6ef59d44 100644
--- a/libcrystfel/src/predict-refine.c
+++ b/libcrystfel/src/predict-refine.c
@@ -770,9 +770,9 @@ static double pred_residual(struct reflpeak *rps, int n, struct detgeom *det,
res_fs = 0.0;
res_ss = 0.0;
for ( i=0; i<n; i++ ) {
- res_r += pow(r_dev(&rps[i]), 2.0);
- res_fs += pow(fs_dev(&rps[i], det), 2.0);
- res_ss += pow(ss_dev(&rps[i], det), 2.0);
+ res_r += sq(r_dev(&rps[i]));
+ res_fs += sq(fs_dev(&rps[i], det));
+ res_ss += sq(ss_dev(&rps[i], det));
}
if ( pres_r != NULL ) *pres_r = res_r;
diff --git a/libcrystfel/src/utils.h b/libcrystfel/src/utils.h
index 67940ad4..3a228b22 100644
--- a/libcrystfel/src/utils.h
+++ b/libcrystfel/src/utils.h
@@ -105,6 +105,11 @@ extern double flat_noise(gsl_rng *rng, double expected, double width);
extern double gaussian_noise(gsl_rng *rng, double expected, double stddev);
extern int poisson_noise(gsl_rng *rng, double expected);
+static inline double sq(double a)
+{
+ return a*a;
+}
+
static inline double distance(double x1, double y1, double x2, double y2)
{
return sqrt((x2-x1)*(x2-x1) + (y2-y1)*(y2-y1));