ccgsl 2.7.2
C++wrappersforGnuScientificLibrary
gsl::interp2d Class Reference

Interpolation. More...

#include <interp2d.hpp>

Collaboration diagram for gsl::interp2d:
Collaboration graph

Public Types

typedef gsl_interp2d_type type
 Convenient typedef. More...
 

Public Member Functions

 interp2d ()
 The default constructor is only really useful for assigning to. More...
 
 interp2d (type const *T, size_t const xsize, size_t const ysize)
 The default constructor creates a new interp with n elements. More...
 
 interp2d (gsl_interp2d *v)
 Could construct from a gsl_interp2d. More...
 
 interp2d (interp2d const &v)
 The copy constructor. More...
 
interp2doperator= (interp2d const &v)
 The assignment operator. More...
 
 ~interp2d ()
 The destructor only deletes the pointers if count reaches zero. More...
 
 interp2d (interp2d &&v)
 Move constructor. More...
 
interp2doperator= (interp2d &&v)
 Move operator. More...
 
bool operator== (interp2d const &v) const
 Two interp2d are identically equal if their elements are identical. More...
 
bool operator!= (interp2d const &v) const
 Two interp2d are different if their elements are not identical. More...
 
bool operator< (interp2d const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator> (interp2d const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator<= (interp2d const &v) const
 A container needs to define an ordering for sorting. More...
 
bool operator>= (interp2d const &v) const
 A container needs to define an ordering for sorting. More...
 
bool empty () const
 Find if the interp2d is empty. More...
 
void swap (interp2d &v)
 Swap two interp2d objects. More...
 
gsl_interp2d * get () const
 Get the gsl_interp2d. More...
 
bool unique () const
 Find if this is the only object sharing the gsl_interp2d. More...
 
size_t use_count () const
 Find how many interp2d objects share this pointer. More...
 
 operator bool () const
 Allow conversion to bool. More...
 
char const * name () const
 C++ version of gsl_interp2d_name(). More...
 
size_t min_size () const
 C++ version of gsl_interp2d_min_size(). More...
 
int set (double zarr[], size_t const i, size_t const j, double const z) const
 C++ version of gsl_interp2d_set(). More...
 
template<typename ARRAY >
int set (ARRAY &zarr, size_t const i, size_t const j, double const z) const
 C++ version of gsl_interp2d_set(). More...
 
double get (double const zarr[], size_t const i, size_t const j) const
 C++ version of gsl_interp2d_get(). More...
 
template<typename ARRAY >
double get (ARRAY const &zarr, size_t const i, size_t const j) const
 C++ version of gsl_interp2d_get(). More...
 
size_t idx (size_t const i, size_t const j) const
 C++ version of gsl_interp2d_idx(). More...
 
int init (double const xa[], double const ya[], double const za[], size_t const xsize, size_t const ysize)
 C++ version of gsl_interp2d_init(). More...
 
template<typename VECTOR >
int init (VECTOR const &xa, VECTOR const &ya, VECTOR const &za)
 C++ version of gsl_interp2d_init(). More...
 
double eval (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval(). More...
 
template<typename VECTOR >
double eval (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval(). More...
 
double eval_extrap (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval_extrap(). More...
 
template<typename VECTOR >
double eval_extrap (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval_extrap(). More...
 
int eval_e (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_e(). More...
 
template<typename VECTOR >
int eval_e (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_e(). More...
 
int eval_e_extrap (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_e_extrap(). More...
 
template<typename VECTOR >
int eval_e_extrap (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_e_extrap(). More...
 
double eval_deriv_x (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval_deriv_x(). More...
 
template<typename VECTOR >
double eval_deriv_x (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval_deriv_x(). More...
 
int eval_deriv_x_e (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_deriv_x_e(). More...
 
template<typename VECTOR >
int eval_deriv_x_e (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_deriv_x_e(). More...
 
double eval_deriv_y (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval_deriv_y(). More...
 
template<typename VECTOR >
double eval_deriv_y (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval_deriv_y(). More...
 
int eval_deriv_y_e (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_deriv_y_e(). More...
 
template<typename VECTOR >
int eval_deriv_y_e (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_deriv_y_e(). More...
 
double eval_deriv_xx (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval_deriv_xx(). More...
 
template<typename VECTOR >
double eval_deriv_xx (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval_deriv_xx(). More...
 
int eval_deriv_xx_e (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_deriv_xx_e(). More...
 
template<typename VECTOR >
int eval_deriv_xx_e (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_deriv_xx_e(). More...
 
double eval_deriv_yy (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval_deriv_yy(). More...
 
template<typename VECTOR >
double eval_deriv_yy (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval_deriv_yy(). More...
 
int eval_deriv_yy_e (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_deriv_yy_e(). More...
 
template<typename VECTOR >
int eval_deriv_yy_e (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_deriv_yy_e(). More...
 
double eval_deriv_xy (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval_deriv_xy(). More...
 
template<typename VECTOR >
double eval_deriv_xy (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya) const
 C++ version of gsl_interp2d_eval_deriv_xy(). More...
 
int eval_deriv_xy_e (double const xarr[], double const yarr[], double const zarr[], double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_deriv_xy_e(). More...
 
template<typename VECTOR >
int eval_deriv_xy_e (VECTOR const &xarr, VECTOR const &yarr, VECTOR const &zarr, double const x, double const y, interp::accel &xa, interp::accel &ya, double &z) const
 C++ version of gsl_interp2d_eval_deriv_xy_e(). More...
 

Static Public Member Functions

static size_t type_min_size (type const *T)
 C++ version of gsl_interp2d_type_min_size(). More...
 
static type const * bilinear ()
 2D interpolation static type. More...
 
static type const * bicubic ()
 2D interpolation static type. More...
 

Private Attributes

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

Detailed Description

Interpolation.

Definition at line 31 of file interp2d.hpp.

Member Typedef Documentation

◆ type

typedef gsl_interp2d_type gsl::interp2d::type

Convenient typedef.

Definition at line 36 of file interp2d.hpp.

Constructor & Destructor Documentation

◆ interp2d() [1/5]

gsl::interp2d::interp2d ( )
inline

The default constructor is only really useful for assigning to.

Definition at line 40 of file interp2d.hpp.

References ccgsl_pointer, and count.

Referenced by operator=().

◆ interp2d() [2/5]

gsl::interp2d::interp2d ( type const *  T,
size_t const  xsize,
size_t const  ysize 
)
inlineexplicit

The default constructor creates a new interp with n elements.

Parameters
TThe interpolation type
xsizeNumber of grid points in first direction
ysizeNumber of grid points in second direction

Definition at line 52 of file interp2d.hpp.

References ccgsl_pointer, and count.

◆ interp2d() [3/5]

gsl::interp2d::interp2d ( gsl_interp2d *  v)
inlineexplicit

Could construct from a gsl_interp2d.

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

Parameters
vThe interp2d

Definition at line 68 of file interp2d.hpp.

References ccgsl_pointer, and count.

◆ interp2d() [4/5]

gsl::interp2d::interp2d ( interp2d const &  v)
inline

The copy constructor.

This creates a new reference to the workspace.

Parameters
vThe interp2d to copy.

Definition at line 79 of file interp2d.hpp.

References ccgsl_pointer, and count.

◆ ~interp2d()

gsl::interp2d::~interp2d ( )
inline

The destructor only deletes the pointers if count reaches zero.

Definition at line 98 of file interp2d.hpp.

References ccgsl_pointer, and count.

◆ interp2d() [5/5]

gsl::interp2d::interp2d ( interp2d &&  v)
inline

Move constructor.

Parameters
vThe interp2d to move.

Definition at line 110 of file interp2d.hpp.

References count.

Member Function Documentation

◆ bicubic()

static type const * gsl::interp2d::bicubic ( )
inlinestatic

2D interpolation static type.

Returns
the named type

Definition at line 891 of file interp2d.hpp.

◆ bilinear()

static type const * gsl::interp2d::bilinear ( )
inlinestatic

2D interpolation static type.

Returns
the named type

Definition at line 886 of file interp2d.hpp.

◆ empty()

bool gsl::interp2d::empty ( ) const
inline

Find if the interp2d is empty.

Returns
true if has size zero; otherwise false

Definition at line 187 of file interp2d.hpp.

References ccgsl_pointer.

◆ eval() [1/2]

double gsl::interp2d::eval ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval().

Parameters
xarr[]The array of x values
yarr[]The array of y values
zarr[]The array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
interpolated z value

Definition at line 339 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval() [2/2]

template<typename VECTOR >
double gsl::interp2d::eval ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrThe array of x values
yarrThe array of y values
zarrThe array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
interpolated z value

Definition at line 355 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_x() [1/2]

double gsl::interp2d::eval_deriv_x ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval_deriv_x().

Parameters
xarr[]The array of x values
yarr[]The array of y values
zarr[]The array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
Interpolated derivative of z with respect to x

Definition at line 523 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_x() [2/2]

template<typename VECTOR >
double gsl::interp2d::eval_deriv_x ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval_deriv_x().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrThe array of x values
yarrThe array of y values
zarrThe array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
Interpolated derivative of z with respect to x

Definition at line 541 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_x_e() [1/2]

int gsl::interp2d::eval_deriv_x_e ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_deriv_x_e().

Parameters
xarr[]The array of x values
yarr[]The array of y values
zarr[]The array of z values
xx value
yy value
xax accelerator
yay accelerator
zInterpolated derivative of z with respect to x
Returns
Error code on failure

Definition at line 560 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_x_e() [2/2]

template<typename VECTOR >
int gsl::interp2d::eval_deriv_x_e ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_deriv_x_e().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrThe array of x values
yarrThe array of y values
zarrThe array of z values
xx value
yy value
xax accelerator
yay accelerator
zInterpolated derivative of z with respect to x
Returns
Error code on failure

Definition at line 579 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_xx() [1/2]

double gsl::interp2d::eval_deriv_xx ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval_deriv_xx().

Parameters
xarr[]The array of x values
yarr[]The array of y values
zarr[]The array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
Second derivative with respect to x

Definition at line 671 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_xx() [2/2]

template<typename VECTOR >
double gsl::interp2d::eval_deriv_xx ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval_deriv_xx().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrThe array of x values
yarrThe array of y values
zarrThe array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
Second derivative with respect to x

Definition at line 689 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_xx_e() [1/2]

int gsl::interp2d::eval_deriv_xx_e ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_deriv_xx_e().

Parameters
xarr[]The array of x values
yarr[]The array of y values
zarr[]The array of z values
xx value
yy value
xax accelerator
yay accelerator
zSecond derivative with respect to x
Returns
Error code on failure

Definition at line 708 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_xx_e() [2/2]

template<typename VECTOR >
int gsl::interp2d::eval_deriv_xx_e ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_deriv_xx_e().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrThe array of x values
yarrThe array of y values
zarrThe array of z values
xx value
yy value
xax accelerator
yay accelerator
zSecond derivative with respect to x
Returns
Error code on failure

Definition at line 727 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_xy() [1/2]

double gsl::interp2d::eval_deriv_xy ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval_deriv_xy().

Parameters
xarr[]The array of x values
yarr[]The array of y values
zarr[]The array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
Second derivative with respect to x and y

Definition at line 819 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_xy() [2/2]

template<typename VECTOR >
double gsl::interp2d::eval_deriv_xy ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval_deriv_xy().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrThe array of x values
yarrThe array of y values
zarrThe array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
Second derivative with respect to x and y

Definition at line 837 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_xy_e() [1/2]

int gsl::interp2d::eval_deriv_xy_e ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_deriv_xy_e().

Parameters
xarr[]The array of x values
yarr[]The array of y values
zarr[]The array of z values
xx value
yy value
xax accelerator
yay accelerator
zSecond derivative with respect to x and y
Returns
Error code on failure

Definition at line 856 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_xy_e() [2/2]

template<typename VECTOR >
int gsl::interp2d::eval_deriv_xy_e ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_deriv_xy_e().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrThe array of x values
yarrThe array of y values
zarrThe array of z values
xx value
yy value
xax accelerator
yay accelerator
zSecond derivative with respect to x and y
Returns
Error code on failure

Definition at line 875 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_y() [1/2]

double gsl::interp2d::eval_deriv_y ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval_deriv_y().

Parameters
xarr[]The array of x values
yarr[]The array of y values
zarr[]The array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
Interpolated derivative of z with respect to y

Definition at line 597 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_y() [2/2]

template<typename VECTOR >
double gsl::interp2d::eval_deriv_y ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval_deriv_y().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrThe array of x values
yarrThe array of y values
zarrThe array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
Interpolated derivative of z with respect to y

Definition at line 615 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_y_e() [1/2]

int gsl::interp2d::eval_deriv_y_e ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_deriv_y_e().

Parameters
xarr[]The array of x values
yarr[]The array of y values
zarr[]The array of z values
xx value
yy value
xax accelerator
yay accelerator
zInterpolated derivative of z with respect to y
Returns
Error code on failure

Definition at line 634 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_y_e() [2/2]

template<typename VECTOR >
int gsl::interp2d::eval_deriv_y_e ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_deriv_y_e().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrThe array of x values
yarrThe array of y values
zarrThe array of z values
xx value
yy value
xax accelerator
yay accelerator
zInterpolated derivative of z with respect to y
Returns
Error code on failure

Definition at line 653 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_yy() [1/2]

double gsl::interp2d::eval_deriv_yy ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval_deriv_yy().

Parameters
xarr[]The array of x values
yarr[]The array of y values
zarr[]The array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
Second derivative with respect to y

Definition at line 745 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_yy() [2/2]

template<typename VECTOR >
double gsl::interp2d::eval_deriv_yy ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval_deriv_yy().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrThe array of x values
yarrThe array of y values
zarrThe array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
Second derivative with respect to y

Definition at line 763 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_yy_e() [1/2]

int gsl::interp2d::eval_deriv_yy_e ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_deriv_yy_e().

Parameters
xarr[]The array of x values
yarr[]The array of y values
zarr[]The array of z values
xx value
yy value
xax accelerator
yay accelerator
zSecond derivative with respect to y
Returns
Error code on failure

Definition at line 782 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_deriv_yy_e() [2/2]

template<typename VECTOR >
int gsl::interp2d::eval_deriv_yy_e ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_deriv_yy_e().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrThe array of x values
yarrThe array of y values
zarrThe array of z values
xx value
yy value
xax accelerator
yay accelerator
zSecond derivative with respect to y
Returns
Error code on failure

Definition at line 801 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_e() [1/2]

int gsl::interp2d::eval_e ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_e().

Parameters
xarr[]The array of x values
yarr[]The array of y values
zarr[]The array of z values
xx value
yy value
xax accelerator
yay accelerator
zInterpolated z value
Returns
Error code on failure

Definition at line 409 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_e() [2/2]

template<typename VECTOR >
int gsl::interp2d::eval_e ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_e().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrThe array of x values
yarrThe array of y values
zarrThe array of z values
xx value
yy value
xax accelerator
yay accelerator
zInterpolated z value
Returns
Error code on failure

Definition at line 428 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_e_extrap() [1/2]

int gsl::interp2d::eval_e_extrap ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_e_extrap().

Parameters
xarr[]UNDOCUMENTED
yarr[]UNDOCUMENTED
zarr[]UNDOCUMENTED
xUNDOCUMENTED
yUNDOCUMENTED
xaUNDOCUMENTED
yaUNDOCUMENTED
zUNDOCUMENTED
Returns
UNDOCUMENTED

Definition at line 448 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_e_extrap() [2/2]

template<typename VECTOR >
int gsl::interp2d::eval_e_extrap ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya,
double &  z 
) const
inline

C++ version of gsl_interp2d_eval_e_extrap().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrUNDOCUMENTED
yarrUNDOCUMENTED
zarrUNDOCUMENTED
xUNDOCUMENTED
yUNDOCUMENTED
xaUNDOCUMENTED
yaUNDOCUMENTED
zUNDOCUMENTED
Returns
UNDOCUMENTED

Definition at line 467 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_extrap() [1/2]

double gsl::interp2d::eval_extrap ( double const  xarr[],
double const  yarr[],
double const  zarr[],
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval_extrap().

Parameters
xarr[]The array of x values
yarr[]The array of y values
zarr[]The array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
interpolated or extrapolated z value

Definition at line 372 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ eval_extrap() [2/2]

template<typename VECTOR >
double gsl::interp2d::eval_extrap ( VECTOR const &  xarr,
VECTOR const &  yarr,
VECTOR const &  zarr,
double const  x,
double const  y,
interp::accel xa,
interp::accel ya 
) const
inline

C++ version of gsl_interp2d_eval_extrap().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xarrThe array of x values
yarrThe array of y values
zarrThe array of z values
xx value
yy value
xax accelerator
yay accelerator
Returns
interpolated or extrapolated z value

Definition at line 390 of file interp2d.hpp.

References gsl::interp::accel::get(), and get().

◆ get() [1/3]

gsl_interp2d * gsl::interp2d::get ( ) const
inline

◆ get() [2/3]

template<typename ARRAY >
double gsl::interp2d::get ( ARRAY const &  zarr,
size_t const  i,
size_t const  j 
) const
inline

C++ version of gsl_interp2d_get().

Parameters
zarrAn array of size xsize × ysize
ix index in 0,…,xsize−1
jy index in 0,…,ysize−1
Returns
The value in zarr indexed by i and j

Definition at line 290 of file interp2d.hpp.

References get().

◆ get() [3/3]

double gsl::interp2d::get ( double const  zarr[],
size_t const  i,
size_t const  j 
) const
inline

C++ version of gsl_interp2d_get().

Parameters
zarr[]An array of size xsize × ysize
ix index in 0,…,xsize−1
jy index in 0,…,ysize−1
Returns
The value in zarr indexed by i and j

Definition at line 280 of file interp2d.hpp.

References get().

◆ idx()

size_t gsl::interp2d::idx ( size_t const  i,
size_t const  j 
) const
inline

C++ version of gsl_interp2d_idx().

Parameters
iFirst index
jSecond index
Returns
Index in array of doubles

Definition at line 300 of file interp2d.hpp.

References get().

◆ init() [1/2]

int gsl::interp2d::init ( double const  xa[],
double const  ya[],
double const  za[],
size_t const  xsize,
size_t const  ysize 
)
inline

C++ version of gsl_interp2d_init().

Parameters
xa[]The array of x values
ya[]The array of y values
za[]The array of z values
xsizeThe size of xa
ysizeThe size of ya
Returns
Error code on failure

Definition at line 311 of file interp2d.hpp.

References get().

◆ init() [2/2]

template<typename VECTOR >
int gsl::interp2d::init ( VECTOR const &  xa,
VECTOR const &  ya,
VECTOR const &  za 
)
inline

C++ version of gsl_interp2d_init().

This version allows us to use std::vector or gsl::vector objects.

Parameters
xaThe array of x values
yaThe array of y values
zaThe array of z values
Returns
Error code on failure

Definition at line 323 of file interp2d.hpp.

References get().

◆ min_size()

size_t gsl::interp2d::min_size ( ) const
inline

C++ version of gsl_interp2d_min_size().

Returns
minimum number of points required by this

Definition at line 243 of file interp2d.hpp.

References get().

◆ name()

char const * gsl::interp2d::name ( ) const
inline

C++ version of gsl_interp2d_name().

Returns
The name of the interpolation type

Definition at line 238 of file interp2d.hpp.

References get().

◆ operator bool()

gsl::interp2d::operator bool ( ) const
inlineexplicit

Allow conversion to bool.

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

Definition at line 233 of file interp2d.hpp.

References ccgsl_pointer.

◆ operator!=()

bool gsl::interp2d::operator!= ( interp2d const &  v) const
inline

Two interp2d are different if their elements are not identical.

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

Definition at line 140 of file interp2d.hpp.

References operator==().

◆ operator<()

bool gsl::interp2d::operator< ( interp2d 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 interp2d is nonnegative.

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

Definition at line 152 of file interp2d.hpp.

References ccgsl_pointer.

◆ operator<=()

bool gsl::interp2d::operator<= ( interp2d 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 interp2d is nonnegative.

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

Definition at line 172 of file interp2d.hpp.

References ccgsl_pointer.

◆ operator=() [1/2]

interp2d & gsl::interp2d::operator= ( interp2d &&  v)
inline

Move operator.

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

Definition at line 119 of file interp2d.hpp.

References interp2d().

◆ operator=() [2/2]

interp2d & gsl::interp2d::operator= ( interp2d const &  v)
inline

The assignment operator.

This copies elementwise.

Parameters
vThe interp2d to copy

Definition at line 86 of file interp2d.hpp.

References ccgsl_pointer, and count.

◆ operator==()

bool gsl::interp2d::operator== ( interp2d const &  v) const
inline

Two interp2d are identically equal if their elements are identical.

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

Definition at line 132 of file interp2d.hpp.

References ccgsl_pointer.

Referenced by operator!=().

◆ operator>()

bool gsl::interp2d::operator> ( interp2d 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 interp2d is nonnegative.

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

Definition at line 162 of file interp2d.hpp.

References ccgsl_pointer.

◆ operator>=()

bool gsl::interp2d::operator>= ( interp2d 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 interp2d is nonnegative.

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

Definition at line 182 of file interp2d.hpp.

References ccgsl_pointer.

◆ set() [1/2]

template<typename ARRAY >
int gsl::interp2d::set ( ARRAY &  zarr,
size_t const  i,
size_t const  j,
double const  z 
) const
inline

C++ version of gsl_interp2d_set().

Parameters
zarrAn array of size xsize × ysize
ix index in 0,…,xsize−1
jy index in 0,…,ysize−1
zThe value to be set
Returns
Error code on failure

Definition at line 269 of file interp2d.hpp.

References get().

◆ set() [2/2]

int gsl::interp2d::set ( double  zarr[],
size_t const  i,
size_t const  j,
double const  z 
) const
inline

C++ version of gsl_interp2d_set().

Parameters
zarr[]An array of size xsize × ysize
ix index in 0,…,xsize−1
jy index in 0,…,ysize−1
zThe value to be set
Returns
Error code on failure

Definition at line 258 of file interp2d.hpp.

References get().

◆ swap()

void gsl::interp2d::swap ( interp2d v)
inline

Swap two interp2d objects.

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

Parameters
vThe interp2d to swap with this.

Definition at line 194 of file interp2d.hpp.

References ccgsl_pointer, and count.

◆ type_min_size()

static size_t gsl::interp2d::type_min_size ( type const *  T)
inlinestatic

C++ version of gsl_interp2d_type_min_size().

Parameters
TAn interpolation type
Returns
minimum number of points required by T

Definition at line 249 of file interp2d.hpp.

◆ unique()

bool gsl::interp2d::unique ( ) const
inline

Find if this is the only object sharing the gsl_interp2d.

Returns
true or falses according as this is the only interp2d object sharing the gsl_interp2d.

Definition at line 219 of file interp2d.hpp.

References count.

◆ use_count()

size_t gsl::interp2d::use_count ( ) const
inline

Find how many interp2d objects share this pointer.

Returns
the number of interp2d objects that share this pointer.

Definition at line 224 of file interp2d.hpp.

References count.

Member Data Documentation

◆ ccgsl_pointer

gsl_interp2d* gsl::interp2d::ccgsl_pointer
private

The shared pointer.

Definition at line 202 of file interp2d.hpp.

Referenced by empty(), get(), interp2d(), operator bool(), operator<(), operator<=(), operator=(), operator==(), operator>(), operator>=(), swap(), and ~interp2d().

◆ count

size_t* gsl::interp2d::count
private

The shared reference count.

Definition at line 206 of file interp2d.hpp.

Referenced by interp2d(), operator=(), swap(), unique(), use_count(), and ~interp2d().


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