Description
1D cubic spline interpolator with irregular monotonic X spacing
Generics
  • Init
    Procedures:
    • TCubicSpline_Init
    • TCubicSpline_InitInt
Subroutines
  • Clear(this)
  • FindNext(this, x, llo, xlo, xhi)
    No error checking, assumes x>= x at point point llo, updating llo
    • TCubicSpline   :: this
    • real(sp_acc) intent(in) :: x
    • integer intent(inout) :: llo
    • real(sp_acc) intent(out) :: xlo
    • real(sp_acc) intent(out) :: xhi
  • FindValue(this, x, llo, xlo, xhi, error)
    • TCubicSpline   :: this
    • real(sp_acc) intent(in) :: x
    • integer intent(out) :: llo
    • real(sp_acc) intent(out) :: xlo
    • real(sp_acc) intent(out) :: xhi
    • integer intent(inout), optional :: error initialize to zero outside, changed if bad
  • InitForSize(this, n)
  • InitFromFile(this, Filename, xcol, ycol)
    • TCubicSpline   :: this
    • character(LEN=*) intent(in) :: Filename
    • integer intent(in), optional :: xcol
    • integer intent(in), optional :: ycol
  • InitInterp(this, End1, End2)
    • TCubicSpline   :: this
    • real(sp_acc) intent(in), optional :: End1
    • real(sp_acc) intent(in), optional :: End2
  • IntegralArray(this, yint, first_index, last_index)
    Array of values of integral at the original sampled points
    • TCubicSpline   :: this
    • real(sp_acc) intent(out) :: yint(*)
    • integer intent(in), optional :: first_index
    • integer intent(in), optional :: last_index
  • LoadState(this, F)
  • SaveState(this, F)
  • spline(n, x, y, d11, d1n, d2)
    • integer intent(in) :: n
    • real(sp_acc) intent(in) :: x(n)
    • real(sp_acc) intent(in) :: y(n)
    • real(sp_acc) intent(in) :: d11
    • real(sp_acc) intent(in) :: d1n
    • real(sp_acc) intent(out) :: d2(n)
  • TCubicSpline_Init(this, Xarr, values, n, End1)
    • TCubicSpline   :: this
    • real(sp_acc) intent(in) :: Xarr(1:)
    • real(sp_acc) intent(in) :: values(1:)
    • integer intent(in), optional :: n
    • real(sp_acc) intent(in), optional :: End1
  • TCubicSpline_InitInt(this, values, n, End1)
    • TCubicSpline   :: this
    • real(sp_acc) intent(in) :: values(:)
    • integer intent(in), optional :: n
    • real(sp_acc) intent(in), optional :: End1
Properties
  • real(sp_acc) :: X(:) allocatable