|
ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
|
Stepping functions. More...
#include <odeiv2.hpp>

Public Types | |
| typedef gsl_odeiv2_step_type | type |
| Convenience typedef. More... | |
Public Member Functions | |
| step () | |
| The default constructor is only really useful for assigning to. More... | |
| step (step::type const *T, size_t dim) | |
| The standard constructor creates a new step of type T and dimensions dim. More... | |
| step (gsl_odeiv2_step *v) | |
| Could construct from a gsl_odeiv2_step. More... | |
| step (step const &v) | |
| The copy constructor. More... | |
| step & | operator= (step const &v) |
| The assignment operator. More... | |
| ~step () | |
| The destructor only deletes the pointers if count reaches zero. More... | |
| step (step &&v) | |
| Move constructor. More... | |
| step & | operator= (step &&v) |
| Move operator. More... | |
| bool | operator== (step const &v) const |
| Two step are identically equal if their elements are identical. More... | |
| bool | operator!= (step const &v) const |
| Two step are different if their elements are not identical. More... | |
| bool | operator< (step const &v) const |
| A container needs to define an ordering for sorting. More... | |
| bool | operator> (step const &v) const |
| A container needs to define an ordering for sorting. More... | |
| bool | operator<= (step const &v) const |
| A container needs to define an ordering for sorting. More... | |
| bool | operator>= (step const &v) const |
| A container needs to define an ordering for sorting. More... | |
| bool | empty () const |
| Find if the step is empty. More... | |
| void | swap (step &v) |
| Swap two step objects. More... | |
| gsl_odeiv2_step * | get () const |
| Get the gsl_odeiv2_step. More... | |
| bool | unique () const |
| Find if this is the only object sharing the gsl_odeiv2_step. More... | |
| size_t | use_count () const |
| Find how many step objects share this pointer. More... | |
| operator bool () const | |
| Allow conversion to bool. More... | |
| int | reset () |
| C++ version of gsl_odeiv2_step_reset(). More... | |
| char const * | name () const |
| C++ version of gsl_odeiv2_step_name(). More... | |
| unsigned int | order () |
| C++ version of gsl_odeiv2_step_order(). More... | |
| template<typename Y , typename YERR , typename DYDT_IN , typename DYDT_OUT > | |
| int | apply (double t, double h, Y &y, YERR &yerr, DYDT_IN const &dydt_in, DYDT_OUT dydt_out, system const &sys) |
| C++ version of gsl_odeiv2_step_apply(). More... | |
| int | set_driver (driver const &d) |
| C++ version of gsl_odeiv2_step_set_driver(). More... | |
Static Public Member Functions | |
| static type const * | rk2 () |
| Static type. More... | |
| static type const * | rk4 () |
| Static type. More... | |
| static type const * | rkf45 () |
| Static type. More... | |
| static type const * | rkck () |
| Static type. More... | |
| static type const * | rk8pd () |
| Static type. More... | |
| static type const * | rk2imp () |
| Static type. More... | |
| static type const * | rk4imp () |
| Static type. More... | |
| static type const * | bsimp () |
| Static type. More... | |
| static type const * | rk1imp () |
| Static type. More... | |
| static type const * | msadams () |
| Static type. More... | |
| static type const * | msbdf () |
| Static type. More... | |
Private Attributes | |
| gsl_odeiv2_step * | ccgsl_pointer |
| The shared pointer. More... | |
| size_t * | count |
| The shared reference count. More... | |
Stepping functions.
These advance a solution from time \(t\) to time \(t+h\) for a fixed step size \(h\). They also estimate the local error.
Definition at line 38 of file odeiv2.hpp.
| typedef gsl_odeiv2_step_type gsl::odeiv2::step::type |
Convenience typedef.
Definition at line 43 of file odeiv2.hpp.
|
inline |
The default constructor is only really useful for assigning to.
Definition at line 47 of file odeiv2.hpp.
References ccgsl_pointer, and count.
Referenced by operator=().
|
inline |
The standard constructor creates a new step of type T and dimensions dim.
| T | The type |
| dim | The number of dimensions |
Definition at line 58 of file odeiv2.hpp.
References ccgsl_pointer, and count.
|
inlineexplicit |
Could construct from a gsl_odeiv2_step.
This is not usually a good idea. In this case we should not use gsl_odeiv2_step_free() to deallocate the memory.
| v | The step |
Definition at line 74 of file odeiv2.hpp.
References ccgsl_pointer, and count.
|
inline |
The copy constructor.
This creates a new reference to the workspace.
| v | The step to copy. |
Definition at line 85 of file odeiv2.hpp.
References ccgsl_pointer, and count.
|
inline |
The destructor only deletes the pointers if count reaches zero.
Definition at line 104 of file odeiv2.hpp.
References ccgsl_pointer, and count.
|
inline |
Move constructor.
| v | The step to move. |
Definition at line 116 of file odeiv2.hpp.
References count.
|
inline |
C++ version of gsl_odeiv2_step_apply().
This version works with gsl::vector (or std::vector<double>) objects.
| t | Current time |
| h | Step size |
| y | Current state |
| yerr | Absolute error value (return value) |
| dydt_in | Array of derivatives at time t (not null) |
| dydt_out | Array of derivatives at time t+h (not null) |
| sys | The odeiv::system |
Definition at line 339 of file odeiv2.hpp.
References get().
|
inlinestatic |
|
inline |
Find if the step is empty.
true if has size zero; otherwise false Definition at line 193 of file odeiv2.hpp.
References ccgsl_pointer.
|
inline |
Get the gsl_odeiv2_step.
Definition at line 219 of file odeiv2.hpp.
References ccgsl_pointer.
Referenced by gsl::odeiv2::evolve::apply(), apply(), gsl::odeiv2::evolve::apply_fixed_step(), gsl::odeiv2::control::hadjust(), name(), order(), reset(), and set_driver().
|
inlinestatic |
|
inlinestatic |
|
inline |
C++ version of gsl_odeiv2_step_name().
Definition at line 251 of file odeiv2.hpp.
References get().
|
inlineexplicit |
Allow conversion to bool.
true or false according as this contains a pointer to a gsl_odeiv2_step. Definition at line 239 of file odeiv2.hpp.
References ccgsl_pointer.
|
inline |
Two step are different if their elements are not identical.
| v | The step to be compared with this |
false or true according as this and v have identical elements or not Definition at line 146 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 step is nonnegative.
| v | The step to be compared with this |
false or true according as this is less than v lexicographically Definition at line 158 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 step is nonnegative.
| v | The step to be compared with this |
false or true according as this is less than or equal to v lexicographically Definition at line 178 of file odeiv2.hpp.
References ccgsl_pointer.
Move operator.
| v | The step to move. |
Definition at line 125 of file odeiv2.hpp.
References step().
The assignment operator.
This copies elementwise.
| v | The step to copy |
Definition at line 92 of file odeiv2.hpp.
References ccgsl_pointer, and count.
|
inline |
Two step are identically equal if their elements are identical.
| v | The step to be compared with this |
true or false according as this and v have identical elements or not Definition at line 138 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 step is nonnegative.
| v | The step to be compared with this |
false or true according as this is greater than v lexicographically Definition at line 168 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 step is nonnegative.
| v | The step to be compared with this |
false or true according as this is no less than v lexicographically Definition at line 188 of file odeiv2.hpp.
References ccgsl_pointer.
|
inline |
C++ version of gsl_odeiv2_step_order().
Definition at line 256 of file odeiv2.hpp.
References get().
|
inline |
C++ version of gsl_odeiv2_step_reset().
Definition at line 246 of file odeiv2.hpp.
References get().
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inline |
C++ version of gsl_odeiv2_step_set_driver().
| d | The driver |
Definition at line 1406 of file odeiv2.hpp.
References get(), and gsl::odeiv2::driver::get().
|
inline |
Swap two step objects.
This works even if the step have different sizes because it swaps pointers.
| v | The step to swap with this. |
Definition at line 200 of file odeiv2.hpp.
References ccgsl_pointer, and count.
|
inline |
Find if this is the only object sharing the gsl_odeiv2_step.
true or falses according as this is the only workspace object sharing the gsl_odeiv2_step. Definition at line 225 of file odeiv2.hpp.
References count.
|
inline |
Find how many step objects share this pointer.
Definition at line 230 of file odeiv2.hpp.
References count.
|
private |
The shared pointer.
Definition at line 208 of file odeiv2.hpp.
Referenced by empty(), get(), operator bool(), operator<(), operator<=(), operator=(), operator==(), operator>(), operator>=(), step(), swap(), and ~step().
|
private |
The shared reference count.
Definition at line 212 of file odeiv2.hpp.
Referenced by operator=(), step(), swap(), unique(), use_count(), and ~step().