From 7c0716d930adf6bb5eed375951fd9e10c2bb57cd Mon Sep 17 00:00:00 2001 From: Matthieu Schaller <matthieu.schaller@durham.ac.uk> Date: Mon, 17 Apr 2017 17:11:07 +0100 Subject: [PATCH] Simpler periodicity switch in M2L --- src/multipole.h | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/multipole.h b/src/multipole.h index e7864c97de..df3ecfc906 100644 --- a/src/multipole.h +++ b/src/multipole.h @@ -1494,16 +1494,14 @@ INLINE static void gravity_M2L(struct grav_tensor *l_b, int periodic) { /* Compute distance vector */ - double dx, dy, dz; - if (periodic) { - dx = box_wrap(pos_b[0] - pos_a[0], 0., 1.); - dy = box_wrap(pos_b[1] - pos_a[1], 0., 1.); - dz = box_wrap(pos_b[2] - pos_a[2], 0., 1.); - } else { - dx = pos_b[0] - pos_a[0]; - dy = pos_b[1] - pos_a[1]; - dz = pos_b[2] - pos_a[2]; - } + const double dx = + periodic ? box_wrap(pos_b[0] - pos_a[0], 0., 1.) : pos_b[0] - pos_a[0]; + const double dy = + periodic ? box_wrap(pos_b[1] - pos_a[1], 0., 1.) : pos_b[1] - pos_a[1]; + const double dz = + periodic ? box_wrap(pos_b[2] - pos_a[2], 0., 1.) : pos_b[2] - pos_a[2]; + + /* Compute distance */ const double r2 = dx * dx + dy * dy + dz * dz; const double r_inv = 1. / sqrt(r2); -- GitLab