X-Git-Url: http://git.kpe.io/?p=ctsim.git;a=blobdiff_plain;f=libctsupport%2Finterpolator.cpp;h=b6def7a3c88137d462a48af776199508651c19f4;hp=ace70fdd70a0bbc9312f05fe2b91e6ecaa75cc3a;hb=f7ee98f7d964ed361068179f0e7ea4475ed1abdf;hpb=8a7697ce57b56cdc43698cd1241ad98d49f9b5ac diff --git a/libctsupport/interpolator.cpp b/libctsupport/interpolator.cpp index ace70fd..b6def7a 100644 --- a/libctsupport/interpolator.cpp +++ b/libctsupport/interpolator.cpp @@ -60,7 +60,7 @@ CubicPolyInterpolator::interpolate (double x) } // Lagrange formula for N=4 (cubic) - + double xd_0 = x - lo; double xd_1 = x - (lo + 1); double xd_2 = x - (lo + 2); @@ -84,7 +84,7 @@ CubicSplineInterpolator::CubicSplineInterpolator (const double* const y, const i // Precalculate 2nd derivative of y and put in m_pdY2 // Calculated by solving set of simultaneous CubicSpline spline equations // Only n-2 CubicSpline spline equations, but able to make two more - // equations by setting second derivative to 0 at ends + // equations by setting second derivative to 0 at ends m_pdY2 = new double [n]; m_pdY2[0] = 0; // second deriviative = 0 at beginning and end @@ -93,14 +93,14 @@ CubicSplineInterpolator::CubicSplineInterpolator (const double* const y, const i double* temp = new double [n - 1]; temp[0] = 0; int i; - for (i = 1; i < n - 1; i++) { + for (i = 1; i < n - 1; i++) { double t = 2 + (0.5 * m_pdY2[i-1]); temp[i] = y[i+1] + y[i-1] - y[i] - y[i]; temp[i] = (3 * temp[i] - 0.5 * temp[i-1]) / t; m_pdY2[i] = -0.5 / t; } - for (i = n - 2; i >= 0; i--) + for (i = n - 2; i >= 0; i--) m_pdY2[i] = temp[i] + m_pdY2[i] * m_pdY2[i + 1]; delete temp; @@ -130,10 +130,10 @@ CubicSplineInterpolator::interpolate (double x) double hiFr = 1 - loFr; double y = loFr * m_pdY[lo] + hiFr * m_pdY[hi]; y += oneSixth * ((loFr*loFr*loFr - loFr) * m_pdY2[lo] + (hiFr*hiFr*hiFr - hiFr) * m_pdY2[hi]); - + return y; } - +