ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
gsl::multiroot::function_fdf Class Reference

Class that extends gsl_multiroot_function_fdf so that it can be constructed from arbitrary function objects. More...

#include <multiroot_function_fdf.hpp>

Inheritance diagram for gsl::multiroot::function_fdf:
Inheritance graph
Collaboration diagram for gsl::multiroot::function_fdf:
Collaboration graph

Classes

struct  Concept
 This is an empty abstract base class. More...
 

Public Member Functions

 function_fdf ()
 The default constructor is only really useful for assigning to. More...
 
 function_fdf (gsl_multiroot_function_fdf &v)
 Could construct from a gsl_multiroot_function_fdf. More...
 
template<typename T >
 function_fdf (T &t)
 Construct from an object that implements gsl::multiroot::function_fdf::Concept. More...
 
 function_fdf (int(*const f)(gsl::vector const &, gsl::vector &), int(*const df)(gsl::vector const &, gsl::matrix &), int(*const fdf)(gsl::vector const &, gsl::vector &, gsl::matrix &), size_t n)
 Construct from a function with no parameters (but with n function values and arguments). More...
 
 function_fdf (function_fdf const &v)
 The copy constructor. More...
 
function_fdfoperator= (function_fdf const &v)
 The assignment operator. More...
 
 function_fdf (function_fdf &&v)
 Move constructor. More...
 
function_fdfoperator= (function_fdf &&v)
 Move operator. More...
 
 ~function_fdf ()
 The destructor unshares any shared resource. More...
 

Public Attributes

base_F * func
 This gives something for params to point to. More...
 
size_t * count
 The shared reference count: used for copying this. More...
 

Friends

template<typename T >
void function_constructor (function_fdf &, T &)
 

Detailed Description

Class that extends gsl_multiroot_function_fdf so that it can be constructed from arbitrary function objects.

Since gsl::multiroot::function_fdf is a subclass of gsl_multiroot_function_fdf, a pointer to an object of this class can be used whenever a pointer to a gsl_multiroot_function_fdf object is required. Thus, pointers to objects of this class can be used directly with the GNU Scientific Library.

A multiroot::function_fdf with argument a vector of length n should compute and return n function values. In C++ it is straightforward to set up a class with a member function that implements multiroot::function_fdf::Concept to get a suitable function object. The multiroot::function_fdf can then be constructed from a function object of this class.

Definition at line 49 of file multiroot_function_fdf.hpp.

Constructor & Destructor Documentation

◆ function_fdf() [1/6]

gsl::multiroot::function_fdf::function_fdf ( )
inline

The default constructor is only really useful for assigning to.

Definition at line 425 of file multiroot_function_fdf.hpp.

References count, gsl::multifit::nlinear::df(), func, and gsl::rstat::n().

◆ function_fdf() [2/6]

gsl::multiroot::function_fdf::function_fdf ( gsl_multiroot_function_fdf &  v)
inlineexplicit

Could construct from a gsl_multiroot_function_fdf.

This constructor is not actually visible, but gsl::multiroot::function_fdf<T>() will construct the object correctly.

Parameters
vThe gsl_multiroot_function_fdf.

Definition at line 442 of file multiroot_function_fdf.hpp.

References count, gsl::multifit::nlinear::df(), func, and gsl::rstat::n().

◆ function_fdf() [3/6]

template<typename T >
gsl::multiroot::function_fdf::function_fdf ( T &  t)
inline

Construct from an object that implements gsl::multiroot::function_fdf::Concept.

Parameters
tAn object that implements gsl::multiroot::function_fdf::Concept.

Definition at line 460 of file multiroot_function_fdf.hpp.

◆ function_fdf() [4/6]

gsl::multiroot::function_fdf::function_fdf ( int(*)(gsl::vector const &, gsl::vector &)  f,
int(*)(gsl::vector const &, gsl::matrix &)  df,
int(*)(gsl::vector const &, gsl::vector &, gsl::matrix &)  fdf,
size_t  n 
)
inline

Construct from a function with no parameters (but with n function values and arguments).

Parameters
fThe function to construct from.
dfThe derivatives to construct from.
fdfThe function and derivatives to construct from.
nThe number of functions and number of arguments of each.

Definition at line 468 of file multiroot_function_fdf.hpp.

References count, gsl::multifit::nlinear::df(), func, and gsl::rstat::n().

◆ function_fdf() [5/6]

gsl::multiroot::function_fdf::function_fdf ( function_fdf const &  v)
inline

The copy constructor.

This shares f. This constructor is not actually visible, but gsl::multiroot::function_fdf::multiroot::function_fdf<T>() will construct the object correctly.

Parameters
vThe function to copy.

Definition at line 493 of file multiroot_function_fdf.hpp.

References count, gsl::multifit::nlinear::df(), and gsl::rstat::n().

◆ function_fdf() [6/6]

gsl::multiroot::function_fdf::function_fdf ( function_fdf &&  v)
inline

Move constructor.

Parameters
vThe function to move.

Definition at line 528 of file multiroot_function_fdf.hpp.

References count, gsl::multifit::nlinear::df(), and gsl::rstat::n().

◆ ~function_fdf()

gsl::multiroot::function_fdf::~function_fdf ( )
inline

The destructor unshares any shared resource.

Definition at line 556 of file multiroot_function_fdf.hpp.

References count, and func.

Member Function Documentation

◆ operator=() [1/2]

function_fdf & gsl::multiroot::function_fdf::operator= ( function_fdf &&  v)
inline

Move operator.

Parameters
vThe function to move.
Returns
A reference to f in this.

Definition at line 542 of file multiroot_function_fdf.hpp.

References count, gsl::multifit::nlinear::df(), func, and gsl::rstat::n().

◆ operator=() [2/2]

function_fdf & gsl::multiroot::function_fdf::operator= ( function_fdf const &  v)
inline

The assignment operator.

This makes a shared copy.

Parameters
vThe function to copy

Definition at line 506 of file multiroot_function_fdf.hpp.

References count, gsl::multifit::nlinear::df(), func, and gsl::rstat::n().

Friends And Related Function Documentation

◆ function_constructor

template<typename T >
void function_constructor ( function_fdf ,
T &   
)
friend

Member Data Documentation

◆ count

size_t* gsl::multiroot::function_fdf::count

The shared reference count: used for copying this.

Definition at line 420 of file multiroot_function_fdf.hpp.

Referenced by function_fdf(), operator=(), and ~function_fdf().

◆ func

base_F* gsl::multiroot::function_fdf::func

This gives something for params to point to.

Definition at line 416 of file multiroot_function_fdf.hpp.

Referenced by function_fdf(), operator=(), and ~function_fdf().


The documentation for this class was generated from the following file: