//! Uses cubic splines to create a piecewise polynomial (order 3) for the given data pairs vdSupportingPoints and vdDataPoints. vdSupportingPoints need to be sorted in ascending order
//! Uses cubic splines to create a piecewise polynomial (order 3) for the given supporting and data points. The supporting points need to be sorted in ascending order.
//! Uses cubic splines to create a piecewise polynomial (order 3) for the given data pairs vdSupportingPoints and vdDataPoints. vdSupportingPoints need to be sorted in ascending order
//! Uses cubic splines to create a piecewise polynomial (order 3) for the given data pairs vdSupportingPoints and vdDataPoints. vdSupportingPoints need to be sorted in ascending order
//! Uses cubic splines to create a piecewise polynomial (order 3) for the given data pairs vdSupportingPoints and vdDataPoints. vdSupportingPoints need to be sorted in ascending order
//! Uses cubic splines to create a piecewise polynomial (order 3) for the given supporting and data points. The supporting points need to be sorted in ascending order. BEWARE of the internal conversion to from float double!
//! Uses cubic splines to create a piecewise polynomial (order 3) for the given supporting and data points. The supporting points need to be sorted in ascending order. BEWARE of the internal conversion to from float double!
//! Uses cubic splines to create a piecewise polynomial (order 3) for the given supporting and data points. The supporting points need to be sorted in ascending order. BEWARE of the internal conversion to from float double!
//! Uses cubic splines to interpolate the function defined by the given supporting and data points to a vector of evaluation points. BEWARE of the internal conversion to from float double!
//! Uses cubic splines to interpolate the function defined by the given data pairs vdSupportingPoints and vdDataPoints to a single point. BEWARE of the internal conversion to type double!
//! Uses cubic splines to interpolate the function defined by the given supporting and data points to a single evaluation points. BEWARE of the internal conversion to from float double!
ITA_EXCEPT_INVALID_PARAMETER("Number of break points not sufficient for polynom order: Expected "+std::to_string(iMinimumNBreakPoints)+" but got "+std::to_string(vdBreakPoints.size())+".");
constintnCoeffs=NumIntervals()*(iOrder+1);
if(vdCoeffs.size()!=nCoeffs)
ITA_EXCEPT_INVALID_PARAMETER("Invalid number of coefficients: Expected "+std::to_string(nCoeffs)+" but got "+std::to_string(vdCoeffs.size())+".");
constintiNumCoeffs=NumIntervals()*(iOrder+1);
if(vdCoeffs.size()!=iNumCoeffs)
ITA_EXCEPT_INVALID_PARAMETER("Invalid number of coefficients: Expected "+std::to_string(iNumCoeffs)+" but got "+std::to_string(vdCoeffs.size())+".");
ITA_EXCEPT_INVALID_PARAMETER("Polynom order must be greater or equal zero.");
constintiMinimumNBreakPoints=2;// At least one interval
if(vdBreakPnts.size()<iMinimumNBreakPoints)
ITA_EXCEPT_INVALID_PARAMETER("Number of break points not sufficient for polynom order: Expected "+std::to_string(iMinimumNBreakPoints)+" but got "+std::to_string(vdBreakPoints.size())+".");
}
constintnCoeffs=NumIntervals()*(iOrder+1);
if(vdCoeffs.size()!=nCoeffs)
ITA_EXCEPT_INVALID_PARAMETER("Invalid number of coefficients: Expected "+std::to_string(nCoeffs)+" but got "+std::to_string(vdCoeffs.size())+".");