diff --git a/src/tallies/filter_energyfunc.cpp b/src/tallies/filter_energyfunc.cpp index 0abebf8852..170c052629 100644 --- a/src/tallies/filter_energyfunc.cpp +++ b/src/tallies/filter_energyfunc.cpp @@ -39,8 +39,12 @@ void EnergyFunctionFilter::from_xml(pugi::xml_node node) } else if (interpolation == "log-log") { interpolation_ = Interpolation::log_log; } else if (interpolation == "quadratic") { + if (energy.size() < 3) + fatal_error(fmt::format("Quadratic interpolation on EnergyFunctionFilter {} requires at least 3 data points.", id())); interpolation_ = Interpolation::quadratic; } else if (interpolation == "cubic") { + if (energy.size() < 4) + fatal_error(fmt::format("Cubic interpolation on EnergyFunctionFilter {} requires at least 4 data points.", id())); interpolation_ = Interpolation::cubic; } else { fatal_error(fmt::format(