Skip to content
Snippets Groups Projects
Commit 3348cd78 authored by Matthieu Schaller's avatar Matthieu Schaller
Browse files

Save a sqrtf() call per particle in drift task

parent bbc67d7d
Branches
Tags
2 merge requests!136Master,!127Save a sqrtf() call per particle in drift task
......@@ -709,16 +709,18 @@ void runner_dodrift(struct runner *r, struct cell *c, int timer) {
/* Predict the values of the extra fields */
hydro_predict_extra(p, xp, ti_old, ti_current, timeBase);
/* Compute motion since last cell construction */
const float dx =
sqrtf((p->x[0] - xp->x_old[0]) * (p->x[0] - xp->x_old[0]) +
(p->x[1] - xp->x_old[1]) * (p->x[1] - xp->x_old[1]) +
(p->x[2] - xp->x_old[2]) * (p->x[2] - xp->x_old[2]));
/* Compute (square of) motion since last cell construction */
const float dx = (p->x[0] - xp->x_old[0]) * (p->x[0] - xp->x_old[0]) +
(p->x[1] - xp->x_old[1]) * (p->x[1] - xp->x_old[1]) +
(p->x[2] - xp->x_old[2]) * (p->x[2] - xp->x_old[2]);
dx_max = fmaxf(dx_max, dx);
/* Maximal smoothing length */
h_max = fmaxf(p->h, h_max);
}
/* Now, get the maximal particle motion from its square */
dx_max = sqrtf(dx_max);
}
/* Otherwise, aggregate data from children. */
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment