Crate rsl_interpolation

Crate rsl_interpolation 

Source
Expand description

A re-write of GSL's Interpolation in Rust.

§1D Interpolation Types

§2D Interpolation Types

§Higher level Interface

§Implemented GSL features

  • 1D Interpolation
    • Instantiation [gsl_interp_alloc(), gsl_interp_init(), gsl_interp_free()]
    • 1D Interpolation types [gsl_interp_type]
      • Linear [gsl_interp_linear]
      • Polynomial [gsl_interp_polynomial] 1
      • Cubic [gsl_interp_cspline]
      • Cubic Periodic [gsl_interp_cspline_periodic] only works for 3 points at the moment; the general case is missing a cyclically tridiagonal matrix solver, which is currently not implemented by ndarray_linalg.
      • Akima [gsl_interp_akima], could use some better testing
      • Akima Periodic [gsl_interp_akima_periodic]
      • Steffen [gsl_interp_steffen]
    • Evaluation 2
      • f(x) evaluation [gsl_interp_eval()]
      • f’(x) evaluation [gsl_interp_eval_deriv()]
      • f’’(x) evaluation [gsl_interp_eval_deriv2()]
      • Numerical Integral [gsl_interp_integ()]
    • Utility functions
      • Name [gsl_interp_name()]
      • Minimum number of points [gsl_interp_min_size() and gsl_interp_type_min_size()]
    • Higher level Interface (Splines)

  • 2D Interpolation
    • Instantiation [gsl_interp2d_alloc(), gsl_interp2d_init(), gsl_interp2d_free()]
    • 2D Interpolation Grids [gsl_interp2d_set, gsl_interp2d_get(), gsl_interp2d_idx]
    • 2D Interpolation types [gsl_interp2d_type]
      • Bilinear [gsl_interp2d_bilinear]
      • Bicubic [gsl_interp2d_bicubic]
    • Utility functions
      • Name [gsl_interp2d_name()]
      • Minimum number of points [gsl_interp2d_min_size() and gsl_interp2d_type_min_size()]
    • Evaluation 2
      • f(x, y) evaluation [gsl_interp2d_eval()]
      • f(x, y) extrapolated evaluation [gsl_interp2d_eval_extrap()]
      • fx(x, y) evaluation [gsl_interp2d_eval_deriv_x()]
      • fy(x, y) evaluation [gsl_interp2d_eval_deriv_y()]
      • fxx(x, y) evaluation [gsl_interp2d_eval_deriv_xx()]
      • fyy(x, y) evaluation [gsl_interp2d_eval_deriv_yy()]
      • fxy(x, y) evaluation [gsl_interp2d_eval_deriv_xy()]
    • Higher level Interface (Splines)

  • Acceleration
    • Instantiation [gsl_interp_accel_alloc(), gsl_interp_accel_reset(), gsl_interp_accel_free()]
    • Lookup [gsl_interp_bsearch(), gsl_interp_accel_find()]

  1. Polynomial Interpolation is probably not going to be implemented, since it relies on divided differences and after all, it is a terrible interpolation method. 

  2. _e() evaluation functions are probably not gonna be implemented. ↩ 1 2

Structs§

Accelerator
Index Look-up Acceration
Akima
Akima Interpolation type.
AkimaInterp
Akima Interpolator.
AkimaPeriodic
Akima Periodic Interpolation type.
AkimaPeriodicInterp
Akima Interpolator.
Bicubic
Bicubic Interpolation
BicubicInterp
Bicubic Interpolator.
Bilinear
Bilinear Interpolation type.
BilinearInterp
Bilinear Interpolator.
Cubic
Cubic Interpolation type.
CubicInterp
Cubic Interpolator.
CubicPeriodic
Cubic Periodic Interpolation type.
CubicPeriodicInterp
Cubic Periodic interpolator.
DomainError
Returned when the supplied value is outside the range of the supplied xdata or ydata.
Linear
Linear Interpolation type.
LinearInterp
Linear Interpolator.
Spline
1D Higher level interface.
Spline2d
2D Higher level interface.
Steffen
Steffen Interpolation type.
SteffenInterp
Steffen Interpolator.

Enums§

InterpolationError
The error type for Interpolator creation and data checking.

Traits§

Interp2dType
Representation of a 2D Interpolation Type.
InterpType
Representation of an Interpolation Type.
Interpolation
Defines the required evaluation methods.
Interpolation2d
Defines the required evaulation methods.
Num
Trait for supported data types.

Functions§

z_get
Returns the value z of grid point (i, j) of the array za to z.
z_idx
Returns the index corresponding to the grid point (i, j). The index is given by j*len(x) + i
z_set
Sets the value z of grid point (i, j) of the array za to z.