17 std::vector<double> sortedAbscissas, std::vector<double> ordinates) {
18 if (sortedAbscissas.empty())
19 throw std::invalid_argument(
"At least one interpolation point must be provided");
21 if (sortedAbscissas.size() != ordinates.size())
22 throw std::invalid_argument(
"The number of abscissas must be the same as that of ordinates");
33 const std::vector<double> &ordinates,
35 if (sortedAbscissas.size() == 1) {