|
ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
|
Higher level interface for interpolation. More...
#include <spline2d.hpp>

Public Types | |
| typedef gsl_interp2d_type | type |
| Convenience typedef. More... | |
Public Member Functions | |
| spline2d () | |
| The default constructor is only really useful for assigning to. More... | |
| spline2d (type const *T, size_t const xsize, size_t const ysize) | |
| The default constructor creates a new spline2d with n elements. More... | |
| spline2d (gsl_spline2d *v) | |
| Could construct from a gsl_spline2d. More... | |
| spline2d (spline2d const &v) | |
| The copy constructor. More... | |
| spline2d & | operator= (spline2d const &v) |
| The assignment operator. More... | |
| ~spline2d () | |
| The destructor only deletes the pointers if count reaches zero. More... | |
| spline2d (spline2d &&v) | |
| Move constructor. More... | |
| spline2d & | operator= (spline2d &&v) |
| Move operator. More... | |
| bool | operator== (spline2d const &v) const |
| Two spline2d are identically equal if their elements are identical. More... | |
| bool | operator!= (spline2d const &v) const |
| Two spline2d are different if their elements are not identical. More... | |
| bool | operator< (spline2d const &v) const |
| A container needs to define an ordering for sorting. More... | |
| bool | operator> (spline2d const &v) const |
| A container needs to define an ordering for sorting. More... | |
| bool | operator<= (spline2d const &v) const |
| A container needs to define an ordering for sorting. More... | |
| bool | operator>= (spline2d const &v) const |
| A container needs to define an ordering for sorting. More... | |
| bool | empty () const |
| Find if the spline2d is empty. More... | |
| void | swap (spline2d &v) |
| Swap two spline2d objects. More... | |
| gsl_spline2d * | get () const |
| Get the gsl_spline2d. More... | |
| bool | unique () const |
| Find if this is the only object sharing the gsl_spline2d. More... | |
| size_t | use_count () const |
| Find how many spline2d objects share this pointer. More... | |
| operator bool () const | |
| Allow conversion to bool. More... | |
| int | init (double const xa[], double const ya[], double const za[], size_t xsize, size_t ysize) |
| C++ version of gsl_spline2d_init(). More... | |
| template<typename XA , typename YA , typename ZA > | |
| int | init (XA const &xa, YA const &ya, ZA const &za) |
| C++ version of gsl_spline2d_init(). More... | |
| double | eval (double const x, double const y, interp::accel &xa, interp::accel &ya) const |
| C++ version of gsl_spline2d_eval(). More... | |
| int | eval_e (double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const |
| C++ version of gsl_spline2d_eval_e(). More... | |
| double | eval_extrap (double const x, double const y, interp::accel &xa, interp::accel &ya) const |
| C++ version of gsl_spline2d_eval_extrap(). More... | |
| int | eval_extrap_e (double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const |
| C++ version of gsl_spline2d_eval_extrap_e(). More... | |
| double | eval_deriv_x (double const x, double const y, interp::accel &xa, interp::accel &ya) const |
| C++ version of gsl_spline2d_eval_deriv_x(). More... | |
| int | eval_deriv_x_e (double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const |
| C++ version of gsl_spline2d_eval_deriv_x_e(). More... | |
| double | eval_deriv_y (double const x, double const y, interp::accel &xa, interp::accel &ya) const |
| C++ version of gsl_spline2d_eval_deriv_y(). More... | |
| int | eval_deriv_y_e (double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const |
| C++ version of gsl_spline2d_eval_deriv_y_e(). More... | |
| double | eval_deriv_xx (double const x, double const y, interp::accel &xa, interp::accel &ya) const |
| C++ version of gsl_spline2d_eval_deriv_xx(). More... | |
| int | eval_deriv_xx_e (double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const |
| C++ version of gsl_spline2d_eval_deriv_xx_e(). More... | |
| double | eval_deriv_yy (double const x, double const y, interp::accel &xa, interp::accel &ya) const |
| C++ version of gsl_spline2d_eval_deriv_yy(). More... | |
| int | eval_deriv_yy_e (double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const |
| C++ version of gsl_spline2d_eval_deriv_yy_e(). More... | |
| double | eval_deriv_xy (double const x, double const y, interp::accel &xa, interp::accel &ya) const |
| C++ version of gsl_spline2d_eval_deriv_xy(). More... | |
| int | eval_deriv_xy_e (double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const |
| C++ version of gsl_spline2d_eval_deriv_xy_e(). More... | |
| size_t | min_size () const |
| C++ version of gsl_spline2d_min_size(). More... | |
| char const * | name () const |
| C++ version of gsl_spline2d_name(). More... | |
| int | set (double zarr[], size_t const i, size_t const j, double const z) const |
| C++ version of gsl_spline2d_set(). More... | |
| template<typename ZARR > | |
| int | set (ZARR &zarr, size_t const i, size_t const j, double const z) const |
| C++ version of gsl_spline2d_set(). More... | |
| double | get (double const zarr[], size_t const i, size_t const j) const |
| C++ version of gsl_spline2d_get(). More... | |
| template<typename ZARR > | |
| double | get (ZARR const &zarr, size_t const i, size_t const j) const |
| C++ version of gsl_spline2d_get(). More... | |
Private Attributes | |
| gsl_spline2d * | ccgsl_pointer |
| The shared pointer. More... | |
| size_t * | count |
| The shared reference count. More... | |
Higher level interface for interpolation.
Definition at line 32 of file spline2d.hpp.
| typedef gsl_interp2d_type gsl::spline2d::type |
Convenience typedef.
Definition at line 37 of file spline2d.hpp.
|
inline |
The default constructor is only really useful for assigning to.
Definition at line 41 of file spline2d.hpp.
References ccgsl_pointer, and count.
Referenced by operator=().
|
inlineexplicit |
The default constructor creates a new spline2d with n elements.
| T | The interpolation type: use static functions from interp to choose a type |
| xsize | Number of grid points in first direction |
| ysize | Number of grid points in second direction |
Definition at line 54 of file spline2d.hpp.
References ccgsl_pointer, and count.
|
inlineexplicit |
Could construct from a gsl_spline2d.
This is not usually a good idea. In this case we should not use gsl_spline2d_free() to deallocate the memory.
| v | The spline2d |
Definition at line 70 of file spline2d.hpp.
References ccgsl_pointer, and count.
|
inline |
The copy constructor.
This creates a new reference to the workspace.
| v | The spline2d to copy. |
Definition at line 81 of file spline2d.hpp.
References ccgsl_pointer, and count.
|
inline |
The destructor only deletes the pointers if count reaches zero.
Definition at line 100 of file spline2d.hpp.
References ccgsl_pointer, and count.
|
inline |
Move constructor.
| v | The spline2d to move. |
Definition at line 112 of file spline2d.hpp.
References count.
|
inline |
Find if the spline2d is empty.
true if has size zero; otherwise false Definition at line 189 of file spline2d.hpp.
References ccgsl_pointer.
|
inline |
C++ version of gsl_spline2d_eval().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
Definition at line 268 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
C++ version of gsl_spline2d_eval_deriv_x().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
Definition at line 313 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
C++ version of gsl_spline2d_eval_deriv_x_e().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
| z | Interpolated derivative of z with respect to x |
Definition at line 325 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
C++ version of gsl_spline2d_eval_deriv_xx().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
Definition at line 359 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
C++ version of gsl_spline2d_eval_deriv_xx_e().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
| z | Second derivative with respect to x |
Definition at line 371 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
C++ version of gsl_spline2d_eval_deriv_xy().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
Definition at line 405 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
C++ version of gsl_spline2d_eval_deriv_xy_e().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
| z | Second derivative with respect to x and y |
Definition at line 417 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
C++ version of gsl_spline2d_eval_deriv_y().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
Definition at line 336 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
C++ version of gsl_spline2d_eval_deriv_y_e().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
| z | Interpolated derivative of z with respect to y |
Definition at line 348 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
C++ version of gsl_spline2d_eval_deriv_yy().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
Definition at line 382 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
C++ version of gsl_spline2d_eval_deriv_yy_e().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
| z | Second derivative with respect to y |
Definition at line 394 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
C++ version of gsl_spline2d_eval_e().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
| z | Interpolated or extrapolated z value |
Definition at line 279 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
C++ version of gsl_spline2d_eval_extrap().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
Definition at line 290 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
C++ version of gsl_spline2d_eval_extrap_e().
| x | x value |
| y | y value |
| xa | x accelerator |
| ya | y accelerator |
| z | Interpolated or extrapolated z value [return] |
Definition at line 302 of file spline2d.hpp.
References gsl::interp::accel::get(), and get().
|
inline |
Get the gsl_spline2d.
Definition at line 215 of file spline2d.hpp.
References ccgsl_pointer.
Referenced by eval(), eval_deriv_x(), eval_deriv_x_e(), eval_deriv_xx(), eval_deriv_xx_e(), eval_deriv_xy(), eval_deriv_xy_e(), eval_deriv_y(), eval_deriv_y_e(), eval_deriv_yy(), eval_deriv_yy_e(), eval_e(), eval_extrap(), eval_extrap_e(), get(), init(), min_size(), name(), and set().
|
inline |
C++ version of gsl_spline2d_get().
| zarr[] | An array of size xsize × ysize |
| i | x index in 0,…,xsize−1 |
| j | y index in 0,…,ysize−1 |
Definition at line 460 of file spline2d.hpp.
References get().
|
inline |
C++ version of gsl_spline2d_get().
This version handles std::vector and gsl::vector
| zarr | An array of size xsize × ysize |
| i | x index in 0,…,xsize−1 |
| j | y index in 0,…,ysize−1 |
Definition at line 471 of file spline2d.hpp.
References get().
|
inline |
C++ version of gsl_spline2d_init().
| xa[] | The array of x values |
| ya[] | The array of y values |
| za[] | The array of z values |
| xsize | The size of xa |
| ysize | The size of ya |
Definition at line 245 of file spline2d.hpp.
References get().
|
inline |
C++ version of gsl_spline2d_init().
this version handles std::vector and gsl::vector.
| xa | The array of x values |
| ya | The array of y values |
| za | The array of z values |
Definition at line 257 of file spline2d.hpp.
References get().
|
inline |
C++ version of gsl_spline2d_min_size().
this Definition at line 424 of file spline2d.hpp.
References get().
|
inline |
C++ version of gsl_spline2d_name().
Definition at line 430 of file spline2d.hpp.
References get().
|
inlineexplicit |
Allow conversion to bool.
true or false according as this contains a pointer to a gsl_spline2d. Definition at line 235 of file spline2d.hpp.
References ccgsl_pointer.
|
inline |
Two spline2d are different if their elements are not identical.
| v | The spline2d to be compared with this |
false or true according as this and v have identical elements or not Definition at line 142 of file spline2d.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 spline2d is nonnegative.
| v | The spline2d to be compared with this |
false or true according as this is less than v lexicographically Definition at line 154 of file spline2d.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 spline2d is nonnegative.
| v | The spline2d to be compared with this |
false or true according as this is less than or equal to v lexicographically Definition at line 174 of file spline2d.hpp.
References ccgsl_pointer.
Move operator.
| v | The spline2d to move. |
Definition at line 121 of file spline2d.hpp.
References spline2d().
The assignment operator.
This copies elementwise.
| v | The spline2d to copy |
Definition at line 88 of file spline2d.hpp.
References ccgsl_pointer, and count.
|
inline |
Two spline2d are identically equal if their elements are identical.
| v | The spline2d to be compared with this |
true or false according as this and v have identical elements or not Definition at line 134 of file spline2d.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 spline2d is nonnegative.
| v | The spline2d to be compared with this |
false or true according as this is greater than v lexicographically Definition at line 164 of file spline2d.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 spline2d is nonnegative.
| v | The spline2d to be compared with this |
false or true according as this is no less than v lexicographically Definition at line 184 of file spline2d.hpp.
References ccgsl_pointer.
|
inline |
C++ version of gsl_spline2d_set().
| zarr[] | An array of size xsize × ysize |
| i | x index in 0,…,xsize−1 |
| j | y index in 0,…,ysize−1 |
| z | The value to be set |
Definition at line 439 of file spline2d.hpp.
References get().
|
inline |
C++ version of gsl_spline2d_set().
This version handles std::vector and gsl::vector
| zarr | An array of size xsize × ysize |
| i | x index in 0,…,xsize−1 |
| j | y index in 0,…,ysize−1 |
| z | The value to be set |
Definition at line 451 of file spline2d.hpp.
References get().
|
inline |
Swap two spline2d objects.
This works even if the spline2d have different sizes because it swaps pointers.
| v | The spline2d to swap with this. |
Definition at line 196 of file spline2d.hpp.
References ccgsl_pointer, and count.
|
inline |
Find if this is the only object sharing the gsl_spline2d.
true or falses according as this is the only spline2d object sharing the gsl_spline2d. Definition at line 221 of file spline2d.hpp.
References count.
|
inline |
Find how many spline2d objects share this pointer.
Definition at line 226 of file spline2d.hpp.
References count.
|
private |
The shared pointer.
Definition at line 204 of file spline2d.hpp.
Referenced by empty(), get(), operator bool(), operator<(), operator<=(), operator=(), operator==(), operator>(), operator>=(), spline2d(), swap(), and ~spline2d().
|
private |
The shared reference count.
Definition at line 208 of file spline2d.hpp.
Referenced by operator=(), spline2d(), swap(), unique(), use_count(), and ~spline2d().