interpolate Interface

public interface interpolate

Public interface for various interpolation routines.


Module Procedures

public function interpolate_point_re(x, y, p) result(r)

Wrapper for interpolate_array_re that accepts scalar arguments.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(:) :: x

Variable x

real(kind=wp), intent(in), dimension(size(x)) :: y

Function y(x)

real(kind=wp), intent(in) :: p

Single point p

Return Value real(kind=wp)

Interpolation y(p)

public function interpolate_point_cx(x, y, p) result(r)

Complex version of interpolate_point_re.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(:) :: x

Variable x

complex(kind=wp), intent(in), dimension(size(x)) :: y

Function y(x)

real(kind=wp), intent(in) :: p

Single point p

Return Value complex(kind=wp)

Interpolation y(p)

public function interpolate_array_re(x, y, p) result(r)

Constructs a piecewise hermitian cubic interpolation of an array y(x) based on discrete numerical data and evaluates the interpolation at p. Note that the mesh spacing does not necessarily have to be uniform.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(:) :: x

Variable x

real(kind=wp), intent(in), dimension(size(x)) :: y

Function y(x)

real(kind=wp), intent(in), dimension(:) :: p

Point array p

Return Value real(kind=wp), dimension(size(p))

Interpolation y(p)

public function interpolate_array_cx(x, y, p) result(r)

Complex version of interpolate_array_re.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(:) :: x

Variable x

complex(kind=wp), intent(in), dimension(size(x)) :: y

Function y(x)

real(kind=wp), intent(in), dimension(:) :: p

Point array p

Return Value complex(kind=wp), dimension(size(p))

Interpolation y(p)

public pure function interpolate_point_matrix_re(x, y, p) result(r)

Interpolates a matrix function using Catmull-Rom splines.

Arguments

Type IntentOptional Attributes Name
real(kind=wp), intent(in), dimension(:) :: x

Variable x

real(kind=wp), intent(in), dimension(:, :, :) :: y

Function y(x)

real(kind=wp), intent(in) :: p

Single point p

Return Value real(kind=wp), dimension(size(y, 1), size(y, 2))

Interpolation y(p)