31#ifndef ROOT_Math_GSLMultiRootFunctionWrapper
32#define ROOT_Math_GSLMultiRootFunctionWrapper
34#include "gsl/gsl_multiroots.h"
65 fFunc.params =
nullptr;
70 template<
class FuncVector>
73 assert (p !=
nullptr);
76 fFunc.params =
const_cast<void *
>(p);
106 fFunc.params =
nullptr;
111 template<
class FuncVector>
114 assert (p !=
nullptr);
119 fFunc.params =
const_cast<void *
>(p);
GSLMultiRootDerivFunctionWrapper()
gsl_multiroot_function_fdf * GetFunctions()
gsl_multiroot_function_fdf fFunc
void SetFunctions(const FuncVector &f, unsigned int n)
Fill gsl function structure from a C++ function iterator and size and number of residuals.
static int FDf(const gsl_vector *x, void *p, gsl_vector *f, gsl_matrix *h)
evaluate derivative and function at the same time
static int F(const gsl_vector *x, void *p, gsl_vector *f)
static int Df(const gsl_vector *x, void *p, gsl_matrix *h)
gsl_multiroot_function fFunc
gsl_multiroot_function * GetFunctions()
GSLMultiRootFunctionWrapper()
void SetFunctions(const FuncVector &f, unsigned int n)
Fill gsl function structure from a C++ function iterator and size and number of residuals.
void(* GSLMultiRootFdfPointer)(const gsl_vector *, void *, gsl_vector *, gsl_matrix *)
void(* GSLMultiRootDfPointer)(const gsl_vector *, void *, gsl_matrix *)
double(* GSLMultiRootFPointer)(const gsl_vector *, void *, gsl_vector *)