ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
gsl::multilarge::nlinear::workspace Class Reference

Workspace for solving systems. More...

#include <multilarge_nlinear.hpp>

Collaboration diagram for gsl::multilarge::nlinear::workspace:
Collaboration graph

Public Member Functions

 workspace ()
 The default constructor is only really useful for assigning to. More...
 
 workspace (type const *T, parameters const *params, size_t const n, size_t const p)
 The default constructor creates a new workspace with window length K. More...
 
 workspace (gsl_multilarge_nlinear_workspace *v)
 Could construct from a gsl_multilarge_nlinear_workspace*. More...
 
 workspace (workspace const &v)
 The copy constructor. More...
 
workspaceoperator= (workspace const &v)
 The assignment operator. More...
 
 ~workspace ()
 The destructor only deletes the pointers if count reaches zero. More...
 
 workspace (workspace &&v)
 Move constructor. More...
 
workspaceoperator= (workspace &&v)
 Move operator. More...
 
void wrap_gsl_multilarge_nlinear_workspace_without_ownership (gsl_multilarge_nlinear_workspace *w)
 This function is intended mainly for internal use. More...
 
bool operator== (workspace const &v) const
 Two workspace are identically equal if their elements are identical. More...
 
bool operator!= (workspace const &v) const
 Two workspace are different if their elements are not identical. More...
 
bool operator< (workspace const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator> (workspace const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator<= (workspace const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator>= (workspace const &v) const
 A container needs to define an ordering for sorting. More...
 
bool empty () const
 Find if the workspace is empty. More...
 
void swap (workspace &v)
 Swap two workspace objects. More...
 
gsl_multilarge_nlinear_workspace * get () const
 Get the gsl_multilarge_nlinear_workspace. More...
 
bool unique () const
 Find if this is the only object sharing the gsl_multilarge_nlinear_workspace. More...
 
size_t use_count () const
 Find how many workspace objects share this pointer. More...
 
 operator bool () const
 Allow conversion to bool. More...
 
int init (vector const &x, gsl::multilarge::nlinear::function_fdf &fdf)
 C++ version of gsl_multilarge_nlinear_init(). More...
 
int winit (vector const &x, vector const &wts, gsl::multilarge::nlinear::function_fdf &fdf)
 C++ version of gsl_multilarge_nlinear_winit(). More...
 
int iterate ()
 C++ version of gsl_multilarge_nlinear_iterate(). More...
 
double avratio () const
 C++ version of gsl_multilarge_nlinear_avratio(). More...
 
int rcond (double &rcond)
 C++ version of gsl_multilarge_nlinear_rcond(). More...
 
int covar (matrix &covar)
 C++ version of gsl_multilarge_nlinear_covar(). More...
 

Private Attributes

gsl_multilarge_nlinear_workspace * ccgsl_pointer
 The shared pointer. More...
 
size_t * count
 The shared reference count. More...
 

Detailed Description

Workspace for solving systems.

Definition at line 122 of file multilarge_nlinear.hpp.

Constructor & Destructor Documentation

◆ workspace() [1/5]

gsl::multilarge::nlinear::workspace::workspace ( )
inline

The default constructor is only really useful for assigning to.

Definition at line 127 of file multilarge_nlinear.hpp.

References ccgsl_pointer, and count.

Referenced by operator=().

◆ workspace() [2/5]

gsl::multilarge::nlinear::workspace::workspace ( type const *  T,
parameters const *  params,
size_t const  n,
size_t const  p 
)
inlineexplicit

The default constructor creates a new workspace with window length K.

Parameters
TThe type FIXME
paramsThe parameters
nNumber of observations
pNumber of parameters

Definition at line 138 of file multilarge_nlinear.hpp.

References ccgsl_pointer, count, and gsl::rstat::n().

◆ workspace() [3/5]

gsl::multilarge::nlinear::workspace::workspace ( gsl_multilarge_nlinear_workspace *  v)
inlineexplicit

Could construct from a gsl_multilarge_nlinear_workspace*.

This is not usually a good idea. In this case we should not use gsl_multilarge_nlinear_free() to deallocate the memory.

Parameters
vThe workspace

Definition at line 155 of file multilarge_nlinear.hpp.

References ccgsl_pointer, and count.

◆ workspace() [4/5]

gsl::multilarge::nlinear::workspace::workspace ( workspace const &  v)
inline

The copy constructor.

This creates a new reference to the workspace.

Parameters
vThe workspace to copy.

Definition at line 166 of file multilarge_nlinear.hpp.

References ccgsl_pointer, and count.

◆ ~workspace()

gsl::multilarge::nlinear::workspace::~workspace ( )
inline

The destructor only deletes the pointers if count reaches zero.

Definition at line 186 of file multilarge_nlinear.hpp.

References ccgsl_pointer, and count.

◆ workspace() [5/5]

gsl::multilarge::nlinear::workspace::workspace ( workspace &&  v)
inline

Move constructor.

Parameters
vThe workspace to move.

Definition at line 198 of file multilarge_nlinear.hpp.

References count.

Member Function Documentation

◆ avratio()

double gsl::multilarge::nlinear::workspace::avratio ( ) const
inline

C++ version of gsl_multilarge_nlinear_avratio().

Returns
Current ration of acceleration correction term to velocity step term

Definition at line 369 of file multilarge_nlinear.hpp.

References get().

◆ covar()

int gsl::multilarge::nlinear::workspace::covar ( matrix covar)
inline

C++ version of gsl_multilarge_nlinear_covar().

Parameters
covarCovariance matrix of best-fit parameters
Returns
Error code on failure

Definition at line 381 of file multilarge_nlinear.hpp.

References covar(), and get().

Referenced by covar().

◆ empty()

bool gsl::multilarge::nlinear::workspace::empty ( ) const
inline

Find if the workspace is empty.

Returns
true if has size zero; otherwise false

Definition at line 295 of file multilarge_nlinear.hpp.

References ccgsl_pointer.

◆ get()

◆ init()

int gsl::multilarge::nlinear::workspace::init ( vector const &  x,
gsl::multilarge::nlinear::function_fdf fdf 
)
inline

C++ version of gsl_multilarge_nlinear_init().

Parameters
xA vector
fdfThe system
Returns
Error code on failure

Definition at line 348 of file multilarge_nlinear.hpp.

References gsl::vector::get(), and get().

◆ iterate()

int gsl::multilarge::nlinear::workspace::iterate ( )
inline

C++ version of gsl_multilarge_nlinear_iterate().

Returns
Error code on failure

Definition at line 364 of file multilarge_nlinear.hpp.

References get().

◆ operator bool()

gsl::multilarge::nlinear::workspace::operator bool ( ) const
inlineexplicit

Allow conversion to bool.

Returns
true or false according as this contains a pointer to a gsl_multilarge_nlinear_workspace.

Definition at line 341 of file multilarge_nlinear.hpp.

References ccgsl_pointer.

◆ operator!=()

bool gsl::multilarge::nlinear::workspace::operator!= ( workspace const &  v) const
inline

Two workspace are different if their elements are not identical.

Parameters
vThe workspace to be compared with this
Returns
false or true according as this and v have identical elements or not

Definition at line 248 of file multilarge_nlinear.hpp.

References operator==().

◆ operator<()

bool gsl::multilarge::nlinear::workspace::operator< ( workspace const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a workspace is nonnegative.

Parameters
vThe workspace to be compared with this
Returns
false or true according as this is less than v lexicographically

Definition at line 260 of file multilarge_nlinear.hpp.

References ccgsl_pointer.

◆ operator<=()

bool gsl::multilarge::nlinear::workspace::operator<= ( workspace const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a workspace is nonnegative.

Parameters
vThe workspace to be compared with this
Returns
false or true according as this is less than or equal to v lexicographically

Definition at line 280 of file multilarge_nlinear.hpp.

References ccgsl_pointer.

◆ operator=() [1/2]

workspace & gsl::multilarge::nlinear::workspace::operator= ( workspace &&  v)
inline

Move operator.

Parameters
vThe workspace to move.
Returns
A reference to this.

Definition at line 207 of file multilarge_nlinear.hpp.

References workspace().

◆ operator=() [2/2]

workspace & gsl::multilarge::nlinear::workspace::operator= ( workspace const &  v)
inline

The assignment operator.

This copies elementwise.

Parameters
vThe workspace to copy

Definition at line 173 of file multilarge_nlinear.hpp.

References ccgsl_pointer, and count.

◆ operator==()

bool gsl::multilarge::nlinear::workspace::operator== ( workspace const &  v) const
inline

Two workspace are identically equal if their elements are identical.

Parameters
vThe workspace to be compared with this
Returns
true or false according as this and v have identical elements or not

Definition at line 240 of file multilarge_nlinear.hpp.

References ccgsl_pointer.

Referenced by operator!=().

◆ operator>()

bool gsl::multilarge::nlinear::workspace::operator> ( workspace const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a workspace is nonnegative.

Parameters
vThe workspace to be compared with this
Returns
false or true according as this is greater than v lexicographically

Definition at line 270 of file multilarge_nlinear.hpp.

References ccgsl_pointer.

◆ operator>=()

bool gsl::multilarge::nlinear::workspace::operator>= ( workspace const &  v) const
inline

A container needs to define an ordering for sorting.

This uses standard lexicographical ordering and so is not useful, for example, for checking, that a workspace is nonnegative.

Parameters
vThe workspace to be compared with this
Returns
false or true according as this is no less than v lexicographically

Definition at line 290 of file multilarge_nlinear.hpp.

References ccgsl_pointer.

◆ rcond()

int gsl::multilarge::nlinear::workspace::rcond ( double &  rcond)
inline

C++ version of gsl_multilarge_nlinear_rcond().

Parameters
rcondreciprocal condition number [return]
Returns
Error code on failure

Definition at line 375 of file multilarge_nlinear.hpp.

References get(), and rcond().

Referenced by rcond().

◆ swap()

void gsl::multilarge::nlinear::workspace::swap ( workspace v)
inline

Swap two workspace objects.

This works even if the workspace have different sizes because it swaps pointers.

Parameters
vThe workspace to swap with this.

Definition at line 302 of file multilarge_nlinear.hpp.

References ccgsl_pointer, and count.

◆ unique()

bool gsl::multilarge::nlinear::workspace::unique ( ) const
inline

Find if this is the only object sharing the gsl_multilarge_nlinear_workspace.

Returns
true or falses according as this is the only workspace object sharing the gsl_multilarge_nlinear_workspace.

Definition at line 327 of file multilarge_nlinear.hpp.

References count.

◆ use_count()

size_t gsl::multilarge::nlinear::workspace::use_count ( ) const
inline

Find how many workspace objects share this pointer.

Returns
the number of workspace objects that share this pointer.

Definition at line 332 of file multilarge_nlinear.hpp.

References count.

◆ winit()

int gsl::multilarge::nlinear::workspace::winit ( vector const &  x,
vector const &  wts,
gsl::multilarge::nlinear::function_fdf fdf 
)
inline

C++ version of gsl_multilarge_nlinear_winit().

Parameters
xA vector
wtsA vector
fdfThe system
Returns
Error code on failure

Definition at line 357 of file multilarge_nlinear.hpp.

References gsl::vector::get(), and get().

◆ wrap_gsl_multilarge_nlinear_workspace_without_ownership()

void gsl::multilarge::nlinear::workspace::wrap_gsl_multilarge_nlinear_workspace_without_ownership ( gsl_multilarge_nlinear_workspace *  w)
inline

This function is intended mainly for internal use.

It allows this to point to a gsl_multilarge_nlinear_workspace without the possibility deleting it when this is no longer in scope. It is the responsibility of the programmer to delete v. The function is used internally for converting a function that takes a gsl::vector* argument to one that takes a gsl_vector* argument.

Parameters
wThe gsl_multilarge_nlinear_workspace

Definition at line 222 of file multilarge_nlinear.hpp.

References ccgsl_pointer, and count.

Member Data Documentation

◆ ccgsl_pointer

gsl_multilarge_nlinear_workspace* gsl::multilarge::nlinear::workspace::ccgsl_pointer
private

◆ count

size_t* gsl::multilarge::nlinear::workspace::count
private

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