13#ifndef OPTIMIST_SCALAR_FUNCTION_HH
14#define OPTIMIST_SCALAR_FUNCTION_HH
29 template <
typename Real,
typename DerivedFunction>
44 std::string
name()
const {
return static_cast<const DerivedFunction *
>(
this)->name_impl();}
53 static_cast<const DerivedFunction *
>(
this)->evaluate_impl(x, out);
63 static_cast<const DerivedFunction *
>(
this)->first_derivative_impl(x, out);
73 static_cast<const DerivedFunction *
>(
this)->second_derivative_impl(x, out);
Function()
Definition Function.hh:59
ScalarFunction()
Definition ScalarFunction.hh:38
void second_derivative(Real x, Real &out) const
Definition ScalarFunction.hh:71
std::string name() const
Definition ScalarFunction.hh:44
void evaluate(Real x, Real &out) const
Definition ScalarFunction.hh:51
void first_derivative(Real x, Real &out) const
Definition ScalarFunction.hh:61
Namespace for the Optimist library.
Definition Optimist.hh:87