13 #define AbsFunction_h 1 14 #include "GeoGenericFunctions/Argument.h" 25 class FunctionProduct;
27 class FunctionDifference;
28 class FunctionQuotient;
29 class FunctionNegation;
30 class FunctionDirectProduct;
31 class FunctionComposition;
32 class ConstPlusFunction;
33 class ConstTimesFunction;
34 class ConstMinusFunction;
35 class ConstOverFunction;
36 class FunctionPlusParameter;
37 class FunctionTimesParameter;
38 class FunctionNumDeriv;
41 class ParameterComposition;
43 typedef FunctionNoop Derivative;
59 virtual unsigned int dimensionality()
const ;
62 virtual double operator() (
double argument)
const=0;
63 virtual double operator() (
const Argument &argument)
const=0;
75 Derivative partial(
const Variable &v)
const;
78 Derivative prime()
const;
81 virtual bool hasAnalyticDerivative()
const {
return false;}
84 virtual Derivative partial(
unsigned int)
const;
126 #define FUNCTION_OBJECT_DEF(classname) \ 128 using AbsFunction::operator(); \ 129 virtual classname *clone() const override; \ 137 #define FUNCTION_OBJECT_IMP(classname) \ 138 classname *classname::clone() const \ 140 return new classname(*this); \ 144 #define FUNCTION_OBJECT_IMP_INLINE(classname) \ 145 inline classname *classname::clone() const \ 147 return new classname(*this); \ 154 #include "GeoGenericFunctions/FunctionProduct.h" 155 #include "GeoGenericFunctions/FunctionSum.h" 156 #include "GeoGenericFunctions/FunctionDifference.h" 157 #include "GeoGenericFunctions/FunctionQuotient.h" 158 #include "GeoGenericFunctions/FunctionNegation.h" 159 #include "GeoGenericFunctions/FunctionDirectProduct.h" 160 #include "GeoGenericFunctions/FunctionComposition.h" 161 #include "GeoGenericFunctions/ConstPlusFunction.h" 162 #include "GeoGenericFunctions/ConstTimesFunction.h" 163 #include "GeoGenericFunctions/ConstMinusFunction.h" 164 #include "GeoGenericFunctions/ConstOverFunction.h" 165 #include "GeoGenericFunctions/FunctionPlusParameter.h" 166 #include "GeoGenericFunctions/FunctionTimesParameter.h" 167 #include "GeoGenericFunctions/FunctionNoop.h" 168 #include "GeoGenericFunctions/ParameterComposition.h"