fstats_interp Module



Contents


Variables

Type Visibility Attributes Name Initial
integer(kind=int32), public, parameter :: SPLINE_CONTINUOUS_THIRD_DERIVATIVE = 1003

Indicates a continuous third derivative at either the beginning or ending point.

integer(kind=int32), public, parameter :: SPLINE_KNOWN_FIRST_DERIVATIVE = 1001

Indicates a known first derivative at either the beginning or ending point.

integer(kind=int32), public, parameter :: SPLINE_KNOWN_SECOND_DERIVATIVE = 1002

Indicates a known second derivative at either the beginning or ending point.

integer(kind=int32), public, parameter :: SPLINE_QUADRATIC_OVER_INTERVAL = 1000

Indicates that the spline is quadratic over the interval under consideration (beginning or ending interval).


Interfaces

interface

  • public function interp_routine(this, x) result(rst)

    Performs a single interpolation.

    Arguments

    Type IntentOptional Attributes Name
    class(base_interpolator), intent(inout) :: this

    The base_interpolator object.

    real(kind=real64), intent(in) :: x

    The value at which to compute the interpolation.

    Return Value real(kind=real64)

    The interpolated result.


Derived Types

type, public ::  base_interpolator

A base object for interpolation.

Type-Bound Procedures

procedure , public :: interpolate => bi_interp Subroutine
procedure (interp_routine) , public , pass :: interpolate_value

type, public, extends(base_interpolator) ::  hermite_interpolator

Defines a type meant for performing Hermite-type interpolation. The interpolating polynomial constructed by this object is a global polynomial, not a piecewise polynomial. Given N data points, the polynoial will be of degree 2 * N - 1. As N increases, the interpolating polynomial may be liable to oscillations that do not properly represent the data. For large data sets, a piecewise polynomial approach is recommended. See either the polynomial_interpolator or spline_interpolator types.

Read more…

Type-Bound Procedures

procedure , public :: initialize => hi_init Subroutine
procedure , public :: interpolate => hi_interp Subroutine
procedure , public :: interpolate_value => hi_raw_interp Function
procedure , public :: interpolate_with_derivative => hi_interp_all Subroutine

type, public, extends(base_interpolator) ::  linear_interpolator

Defines a type meant for performing piecewise linear interpolation.

Type-Bound Procedures

procedure , public :: initialize => li_init Subroutine
procedure , public :: interpolate => bi_interp Subroutine
procedure , public :: interpolate_value => li_raw_interp Function

type, public, extends(base_interpolator) ::  polynomial_interpolator

Defines a type meant for performing piecewise polynomial interpolation.

Type-Bound Procedures

procedure , public :: initialize => pi_init Subroutine
procedure , public :: interpolate => bi_interp Subroutine
procedure , public :: interpolate_value => pi_raw_interp Function

type, public, extends(base_interpolator) ::  spline_interpolator

Defines a type meant for performing cubic spline interpolation.

Type-Bound Procedures

procedure , public :: initialize => si_init Subroutine
procedure , public :: interpolate => bi_interp Subroutine
procedure , public :: interpolate_value => si_raw_interp Function