15 #ifndef MYGSL_MULTI_EVAL_H 16 #define MYGSL_MULTI_EVAL_H 1 48 bool is_valid (
const double * x_)
const;
50 virtual bool is_valid (
int i_,
double x_)
const;
54 double evaluate (
double x_,
double y_)
const;
56 double evaluate (
double x_,
double y_,
double z_)
const;
58 double evaluate (
const std::vector<double> & v_)
const;
60 double evaluate (
const double * x_)
const;
65 static double g_function (
const double * x_,
void * functor_);
69 virtual double _eval(
const double * x_)
const = 0;
73 void _check_dimension_ (
size_t dim_)
const;
88 const double &
param (
int i_)
const;
90 double &
param (
int i_);
94 const std::vector<double> & params_);
100 const std::vector<double> & params_);
104 const double * params_);
110 double _eval(
double x_)
const;
116 std::vector<double> _params_;
122 #endif // MYGSL_MULTI_EVAL_H Definition: multi_eval.h:81
Abstract functor from a R^n space to R.
Definition: multi_eval.h:28
static double g_function(const double *x_, void *functor_)
std::vector< interval > multi_domain
Definition: multi_eval.h:32
double operator()(const double *x_) const
interval & get_domain(int i_)
bool is_valid(const double *x_) const
const double & param(int i_) const
Abstract interface for unary functions : R -> R.
Definition: i_unary_function.h:44
virtual double _eval(const double *x_) const =0
size_t get_dimension() const
Top-level namespace of the Bayeux/mygsl module library.
Definition: base_decay_driver.h:47
void init(const multi_eval &multi_eval_, int i_, const std::vector< double > ¶ms_)
virtual ~unary_eval_from_multi()
multi_eval(size_t dimension_)
unary_eval_from_multi(const multi_eval &multi_eval_, int i_, const std::vector< double > ¶ms_)
double _eval(double x_) const
The function evaluation abstract method.
bool is_valid(double x_) const
An interval with real bounds.
Definition: interval.h:42
double evaluate(double x_) const