diff --git a/src/arima.cpp b/src/arima.cpp index b687dd6f5..85347318e 100644 --- a/src/arima.cpp +++ b/src/arima.cpp @@ -4,6 +4,7 @@ #include #include #include +#include #include #include @@ -136,7 +137,14 @@ arima_css(const py::array_t yv, const py::array_t armav, py::array_t residv(n); const auto resid = make_span(residv); + if (static_cast(ncond) > resid.size()) { + throw std::logic_error( + "Internal error: resid length (" + std::to_string(resid.size()) + + ") must be >= ncond (" + std::to_string(ncond) + ")" + ); + } std::fill_n(resid.begin(), ncond, 0.0); + std::vector w(y.begin(), y.end()); for (size_t _ = 0; _ < d; ++_) {