From 37d81a529818f6ea0b3e3362b68cd21f0bd12c16 Mon Sep 17 00:00:00 2001 From: Paul McCarthy <pauldmccarthy@gmail.com> Date: Fri, 6 Sep 2024 15:20:50 +0100 Subject: [PATCH] BF: Fix bug in code controlling which adjacent spline coefficients to use when interpolating --- splinterpolator.h | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/splinterpolator.h b/splinterpolator.h index 5cb2cd4..9c367c3 100644 --- a/splinterpolator.h +++ b/splinterpolator.h @@ -759,18 +759,10 @@ unsigned int Splinterpolator<T>::get_start_indicies(const double *coord, int *si { unsigned int ni = _order+1; - if (odd(ni)) { - for (unsigned int i=0; i<_ndim; i++) { - sinds[i] = static_cast<int>(coord[i]+0.5) - ni/2; - } - } - else { - for (unsigned int i=0; i<_ndim; i++) { - int ix = static_cast<int>(coord[i]+0.5); - if (ix < coord[i]) sinds[i] = ix - (ni-1)/2; - else sinds[i] = ix -ni/2; - } + for (unsigned int i=0; i<_ndim; i++) { + sinds[i] = std::ceil(coord[i]) - ni/2; } + for (unsigned int i=_ndim; i<5; i++) sinds[i] = 0; return(ni); -- GitLab