T back_inserter(T... args)
Represents a piecewise function.
ssize_t findKnot(double x) const
std::vector< double > m_knots
A vector where the knots are kept.
Piecewise(std::vector< double > knots, std::vector< std::shared_ptr< Function > > functions)
double integrate(const double x1, const double x2) const override
double operator()(const double) const override
std::vector< std::unique_ptr< Function > > m_functions
A vector where the sub-functions are kept.
const std::vector< std::unique_ptr< Function > > & getFunctions() const
Returns the functions in the ranges between the knots.
std::unique_ptr< Function > clone() const override
ELEMENTS_API double integrate(const Function &function, const double min, const double max, std::unique_ptr< NumericalIntegrationScheme > numericalIntegrationScheme=nullptr)
std::array< std::vector< double >, N > Coordinates
Used to pass the grid coordinates to interpn. Internally will make a copy of the required values.