6 #include "GeoGenericFunctions/ArrayFunction.h" 7 #include "GeoGenericFunctions/FixedConstant.h" 11 FUNCTION_OBJECT_IMP(ArrayFunction)
14 ArrayFunction::ArrayFunction(const
double *begin, const
double *end) :
18 ArrayFunction::ArrayFunction(std::initializer_list<double> values):
24 ArrayFunction::~ArrayFunction(){}
27 ArrayFunction::ArrayFunction(
const ArrayFunction &right):
28 AbsFunction(right), _values(right._values) {}
31 double ArrayFunction::operator ()(
double argument)
const {
32 int i = int (argument+0.5);
33 if (i<0 || i>=
int(_values.size()))
return 0;
34 else return _values[i];
36 Derivative ArrayFunction::partial(
unsigned int index)
const {
37 if (index!=0)
throw std::range_error(
"ArrayFunction: partial derivative index out of range");
38 FixedConstant fPrime(0.0);
39 return Derivative(&fPrime);