diff --git a/src/blackmisc/simulation/interpolatorspline.cpp b/src/blackmisc/simulation/interpolatorspline.cpp index 7dda655a0..d95002c2f 100644 --- a/src/blackmisc/simulation/interpolatorspline.cpp +++ b/src/blackmisc/simulation/interpolatorspline.cpp @@ -32,9 +32,9 @@ namespace BlackMisc std::array solveTridiagonal(std::array, N> &matrix, std::array &d) { // *INDENT-OFF* - const auto a = [&matrix](auto i) -> double& { return matrix[i][i-1]; }; // subdiagonal - const auto b = [&matrix](auto i) -> double& { return matrix[i][i ]; }; // main diagonal - const auto c = [&matrix](auto i) -> double& { return matrix[i][i+1]; }; // superdiagonal + const auto a = [&matrix](size_t i) -> double& { return matrix[i][i-1]; }; // subdiagonal + const auto b = [&matrix](size_t i) -> double& { return matrix[i][i ]; }; // main diagonal + const auto c = [&matrix](size_t i) -> double& { return matrix[i][i+1]; }; // superdiagonal // forward sweep c(0) /= b(0); @@ -49,7 +49,8 @@ namespace BlackMisc // back substitution for (int i = N - 2; i >= 0; --i) { - d[i] -= c(i) * d[i+1]; + const size_t it = static_cast(i); + d[it] -= c(it) * d[it+1]; } return d; // *INDENT-ON* @@ -331,7 +332,7 @@ namespace BlackMisc void CInterpolatorSpline::PosArray::initToZero() { - for (int i = 0; i < 3; i++) + for (uint i = 0; i < 3; i++) { x[i] = 0; y[i] = 0; z[i] = 0; a[i] = 0; t[i] = 0;