diff --git a/splinterpolator.h b/splinterpolator.h index 3936189607dc898ac6c3fd7ef1bdef089bcf567c..7978800045fe0069470aa1cf632b5089e5e45d80 100644 --- a/splinterpolator.h +++ b/splinterpolator.h @@ -812,18 +812,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);