47 <<
"requieres that you provide a NumericalIntegrationScheme";
76 return iter->second(
f1,
f2);
80 return iter->second(
f2,
f1);
void operator()(const std::vector< double > &xs, std::vector< double > &out) const override
std::unique_ptr< Function > clone() const override
double operator()(const double x) const override
std::unique_ptr< Function > m_f1
std::unique_ptr< Function > m_f2
DefaultMultiplication(const Function &f1, const Function &f2)
Interface representing an integrable function.
Interface class representing a function with an arbitrary number of parameters.
ELEMENTS_API std::map< std::pair< std::type_index, std::type_index >, MultiplyFunction > multiplySpecificSpecificMap
ELEMENTS_API std::map< std::type_index, MultiplyFunction > multiplySpecificGenericMap
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.
ELEMENTS_API std::unique_ptr< Function > multiply(const Function &f1, const Function &f2)