25AbsFunction *ParamToArgAdaptor<F>::_clone ()
const {
34 _scaleFactor(
"Sigma", 1.0, 0, 10),
35 _function(function.clone()),
36 _parameterFetchMethod(parameterFetchMethod)
38 _parameterFetchMethod(*_function).setLowerLimit(-DBL_MAX);
39 _parameterFetchMethod(*_function).setUpperLimit(+DBL_MAX);
49 _scaleFactor(
right._scaleFactor),
50 _parameterFetchMethod(
right._parameterFetchMethod),
51 _function(
right._function->clone())
53 _parameterFetchMethod(*_function).setLowerLimit(-
DBL_MAX);
54 _parameterFetchMethod(*_function).setUpperLimit(+
DBL_MAX);
62 <<
"Warning. ParamToArgAdaptor called with scalar argument"
87 <<
"Warning: ParamToArgAdaptor function/argument dimension mismatch"
95 (_parameterFetchMethod(*_function)).setValue(_scaleFactor.getValue()*a[
dMinus]);
96 return (*_function)(a);
virtual AbsFunction * clone() const =0
virtual double operator()(double argument) const =0
unsigned int dimension() const
DoubleParamToArgAdaptor(const F &function, ScopedMethodPtr parameterFetchMethod0, ScopedMethodPtr paraemterFetchMethod1)
virtual unsigned int dimensionality() const override
virtual double operator()(double argument) const override
virtual unsigned int dimensionality() const override
ParamToArgAdaptor(const F &function, ScopedMethodPtr parameterFetchMethod)
Parameter & scaleFactor()
Parameter &(F::* ScopedMethodPtr)()