|
ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
|
ODE driver. More...
#include <odeiv2.hpp>

Public Member Functions | |
| driver () | |
| The default constructor is only really useful for assigning to. More... | |
| driver (gsl_odeiv2_driver *v) | |
| Could construct from a gsl_odeiv2_driver. More... | |
| driver (driver const &v) | |
| The copy constructor. More... | |
| driver & | operator= (driver const &v) |
| The assignment operator. More... | |
| ~driver () | |
| The destructor only deletes the pointers if count reaches zero. More... | |
| driver (driver &&v) | |
| Move constructor. More... | |
| driver & | operator= (driver &&v) |
| Move operator. More... | |
| bool | operator== (driver const &v) const |
| Two driver are identically equal if their elements are identical. More... | |
| bool | operator!= (driver const &v) const |
| Two driver are different if their elements are not identical. More... | |
| bool | operator< (driver const &v) const |
| A container needs to define an ordering for sorting. More... | |
| bool | operator> (driver const &v) const |
| A container needs to define an ordering for sorting. More... | |
| bool | operator<= (driver const &v) const |
| A container needs to define an ordering for sorting. More... | |
| bool | operator>= (driver const &v) const |
| A container needs to define an ordering for sorting. More... | |
| bool | empty () const |
| Find if the driver is empty. More... | |
| void | swap (driver &v) |
| Swap two driver objects. More... | |
| gsl_odeiv2_driver * | get () const |
| Get the gsl_odeiv2_driver. More... | |
| bool | unique () const |
| Find if this is the only object sharing the gsl_odeiv2_driver. More... | |
| size_t | use_count () const |
| Find how many driver objects share this pointer. More... | |
| operator bool () const | |
| Allow conversion to bool. More... | |
| int | set_hmin (double const hmin) |
| C++ version of gsl_odeiv2_driver_set_hmin(). More... | |
| int | set_hmax (double const hmax) |
| C++ version of gsl_odeiv2_driver_set_hmax(). More... | |
| int | set_nmax (unsigned long int const nmax) |
| C++ version of gsl_odeiv2_driver_set_nmax(). More... | |
| template<typename Y > | |
| int | apply (double &t, double const t1, Y &y) |
| C++ version of gsl_odeiv2_driver_apply(). More... | |
| template<typename Y > | |
| int | apply_fixed_step (double &t, double const h, unsigned long int const n, Y &y) |
| C++ version of gsl_odeiv2_driver_apply_fixed_step(). More... | |
| int | reset () |
| C++ version of gsl_odeiv2_driver_reset(). More... | |
Static Public Member Functions | |
| static driver | y_new (system const *sys, step::type const *T, double const hstart, double const epsabs, double const epsrel) |
| C++ version of gsl_odeiv2_driver_alloc_y_new(). More... | |
| static driver | yp_new (system const *sys, step::type const *T, double const hstart, double const epsabs, double const epsrel) |
| C++ version of gsl_odeiv2_driver_alloc_yp_new(). More... | |
| template<typename SCALE_ABS > | |
| static driver | scaled_new (system const &sys, step::type const *T, double const hstart, double const epsabs, double const epsrel, double const a_y, double const a_dydt, SCALE_ABS const &scale_abs) |
| C++ version of gsl_odeiv2_driver_alloc_scaled_new(). More... | |
| static driver | standard_new (system const &sys, step::type const *T, double const hstart, double const epsabs, double const epsrel, double const a_y, double const a_dydt) |
| C++ version of gsl_odeiv2_driver_alloc_standard_new(). More... | |
Private Attributes | |
| gsl_odeiv2_driver * | ccgsl_pointer |
| The shared pointer. More... | |
| size_t * | count |
| The shared reference count. More... | |
ODE driver.
Definition at line 1051 of file odeiv2.hpp.
|
inline |
The default constructor is only really useful for assigning to.
Definition at line 1056 of file odeiv2.hpp.
References ccgsl_pointer, and count.
Referenced by operator=(), scaled_new(), standard_new(), y_new(), and yp_new().
|
inlineexplicit |
Could construct from a gsl_odeiv2_driver.
This is not usually a good idea. In this case we should not use gsl_odeiv2_driver_free() to deallocate the memory.
| v | The driver |
Definition at line 1068 of file odeiv2.hpp.
References ccgsl_pointer, and count.
|
inline |
The copy constructor.
This creates a new reference to the workspace.
| v | The driver to copy. |
Definition at line 1079 of file odeiv2.hpp.
References ccgsl_pointer, and count.
|
inline |
The destructor only deletes the pointers if count reaches zero.
Definition at line 1098 of file odeiv2.hpp.
References ccgsl_pointer, and count.
|
inline |
Move constructor.
| v | The driver to move. |
Definition at line 1110 of file odeiv2.hpp.
References count.
|
inline |
C++ version of gsl_odeiv2_driver_apply().
This version allows y to be gsl::vector (or object for which data() returns an array of doubles)
| t | Initial value of time t |
| t1 | Maximum value of time t |
| y | Initial value of y |
Definition at line 1369 of file odeiv2.hpp.
References get().
|
inline |
C++ version of gsl_odeiv2_driver_apply_fixed_step().
This version allows y to be gsl::vector (or object for which data() returns an array of doubles)
| t | Initial value of time t |
| h | Fixed step size |
| n | Number of steps |
| y | Initial value of y |
Definition at line 1395 of file odeiv2.hpp.
References get(), and gsl::rstat::n().
|
inline |
Find if the driver is empty.
true if has size zero; otherwise false Definition at line 1187 of file odeiv2.hpp.
References ccgsl_pointer.
|
inline |
Get the gsl_odeiv2_driver.
Definition at line 1213 of file odeiv2.hpp.
References ccgsl_pointer.
Referenced by apply(), apply_fixed_step(), reset(), gsl::odeiv2::step::set_driver(), gsl::odeiv2::control::set_driver(), gsl::odeiv2::evolve::set_driver(), set_hmax(), set_hmin(), and set_nmax().
|
inlineexplicit |
Allow conversion to bool.
true or false according as this contains a pointer to a gsl_odeiv2_driver. Definition at line 1233 of file odeiv2.hpp.
References ccgsl_pointer.
|
inline |
Two driver are different if their elements are not identical.
| v | The driver to be compared with this |
false or true according as this and v have identical elements or not Definition at line 1140 of file odeiv2.hpp.
References operator==().
|
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 driver is nonnegative.
| v | The driver to be compared with this |
false or true according as this is less than v lexicographically Definition at line 1152 of file odeiv2.hpp.
References ccgsl_pointer.
|
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 driver is nonnegative.
| v | The driver to be compared with this |
false or true according as this is less than or equal to v lexicographically Definition at line 1172 of file odeiv2.hpp.
References ccgsl_pointer.
Move operator.
| v | The driver to move. |
Definition at line 1119 of file odeiv2.hpp.
References driver().
The assignment operator.
This copies elementwise.
| v | The driver to copy |
Definition at line 1086 of file odeiv2.hpp.
References ccgsl_pointer, and count.
|
inline |
Two driver are identically equal if their elements are identical.
| v | The driver to be compared with this |
true or false according as this and v have identical elements or not Definition at line 1132 of file odeiv2.hpp.
References ccgsl_pointer.
Referenced by operator!=().
|
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 driver is nonnegative.
| v | The driver to be compared with this |
false or true according as this is greater than v lexicographically Definition at line 1162 of file odeiv2.hpp.
References ccgsl_pointer.
|
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 driver is nonnegative.
| v | The driver to be compared with this |
false or true according as this is no less than v lexicographically Definition at line 1182 of file odeiv2.hpp.
References ccgsl_pointer.
|
inline |
C++ version of gsl_odeiv2_driver_reset().
Definition at line 1402 of file odeiv2.hpp.
References get().
|
inlinestatic |
C++ version of gsl_odeiv2_driver_alloc_scaled_new().
This version allows scale_abs to be gsl::vector (or object for which data() returns an array of dpoubles)
| sys | The system |
| T | The step t |
| hstart | The initial value of h |
| epsabs | The absolute error |
| epsrel | The relative error |
| a_y | Scaling factor for y |
| a_dydt | Scaling factor for dydt |
| scale_abs | An array of scales for absolute error |
Definition at line 1301 of file odeiv2.hpp.
References driver().
|
inline |
C++ version of gsl_odeiv2_driver_set_hmax().
| hmax | Maximum allowed step size |
Definition at line 1338 of file odeiv2.hpp.
References get().
|
inline |
C++ version of gsl_odeiv2_driver_set_hmin().
| hmin | Minimum allowed step size |
Definition at line 1331 of file odeiv2.hpp.
References get().
|
inline |
C++ version of gsl_odeiv2_driver_set_nmax().
| nmax | Maximum number of steps |
Definition at line 1345 of file odeiv2.hpp.
References get().
|
inlinestatic |
C++ version of gsl_odeiv2_driver_alloc_standard_new().
| sys | The system |
| T | The step t |
| hstart | The initial value of h |
| epsabs | The absolute error |
| epsrel | The relative error |
| a_y | Scaling factor for y |
| a_dydt | Scaling factor for dydt |
Definition at line 1320 of file odeiv2.hpp.
References driver().
|
inline |
Swap two driver objects.
This works even if the driver have different sizes because it swaps pointers.
| v | The driver to swap with this. |
Definition at line 1194 of file odeiv2.hpp.
References ccgsl_pointer, and count.
|
inline |
Find if this is the only object sharing the gsl_odeiv2_driver.
true or falses according as this is the only driver object sharing the gsl_odeiv2_driver. Definition at line 1219 of file odeiv2.hpp.
References count.
|
inline |
Find how many driver objects share this pointer.
Definition at line 1224 of file odeiv2.hpp.
References count.
|
inlinestatic |
C++ version of gsl_odeiv2_driver_alloc_y_new().
| sys | The system |
| T | The step type |
| hstart | The initial value of h |
| epsabs | The absolute error |
| epsrel | The relative error |
Definition at line 1246 of file odeiv2.hpp.
References driver().
|
inlinestatic |
C++ version of gsl_odeiv2_driver_alloc_yp_new().
| sys | The system |
| T | The step t |
| hstart | The initial value of h |
| epsabs | The absolute error |
| epsrel | The relative error |
Definition at line 1260 of file odeiv2.hpp.
References driver().
|
private |
The shared pointer.
Definition at line 1202 of file odeiv2.hpp.
Referenced by driver(), empty(), get(), operator bool(), operator<(), operator<=(), operator=(), operator==(), operator>(), operator>=(), swap(), and ~driver().
|
private |
The shared reference count.
Definition at line 1206 of file odeiv2.hpp.
Referenced by driver(), operator=(), swap(), unique(), use_count(), and ~driver().