typedef double (*Function)(double); typedef double (*FunctionWithState)(double, void*);
Function represents a single variable function which returns a single value.
FunctionWithState represents a single variable function with user defined parameters which returns a single value.