## Interfaces

### public interface gauss_legendre

Computes Gauss-Legendre quadrature nodes and weights.

• ### public pure subroutine gauss_legendre_fp64(x, w, interval)

#### Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(out) :: x(:)
real(kind=dp), intent(out) :: w(:)
real(kind=dp), intent(in), optional :: interval(2)

### public interface gauss_legendre_lobatto

Computes Gauss-Legendre-Lobatto quadrature nodes and weights.

• ### public pure subroutine gauss_legendre_lobatto_fp64(x, w, interval)

#### Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(out) :: x(:)
real(kind=dp), intent(out) :: w(:)
real(kind=dp), intent(in), optional :: interval(2)

### public interface simps

Integrates sampled values using Simpson's rule (Specification)

• ### public pure recursive function simps_dx_dp(y, dx, even) result(integral)

#### Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in), dimension(:):: y
real(kind=dp), intent(in) :: dx
integer, intent(in), optional :: even

• ### public pure recursive function simps_dx_sp(y, dx, even) result(integral)

#### Arguments

Type IntentOptional AttributesName
real(kind=sp), intent(in), dimension(:):: y
real(kind=sp), intent(in) :: dx
integer, intent(in), optional :: even

• ### public recursive function simps_x_dp(y, x, even) result(integral)

#### Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in), dimension(:):: y
real(kind=dp), intent(in), dimension(:):: x
integer, intent(in), optional :: even

• ### public recursive function simps_x_sp(y, x, even) result(integral)

#### Arguments

Type IntentOptional AttributesName
real(kind=sp), intent(in), dimension(:):: y
real(kind=sp), intent(in), dimension(:):: x
integer, intent(in), optional :: even

### public interface simps_weights

Integrates sampled values using trapezoidal rule weights for given abscissas (Specification)

• ### public pure recursive function simps_weights_dp(x, even) result(w)

#### Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in), dimension(:):: x
integer, intent(in), optional :: even

• ### public pure recursive function simps_weights_sp(x, even) result(w)

#### Arguments

Type IntentOptional AttributesName
real(kind=sp), intent(in), dimension(:):: x
integer, intent(in), optional :: even

### public interface trapz

Integrates sampled values using trapezoidal rule (Specification)

• ### public pure function trapz_dx_dp(y, dx) result(integral)

#### Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in), dimension(:):: y
real(kind=dp), intent(in) :: dx

• ### public pure function trapz_dx_sp(y, dx) result(integral)

#### Arguments

Type IntentOptional AttributesName
real(kind=sp), intent(in), dimension(:):: y
real(kind=sp), intent(in) :: dx

• ### public function trapz_x_dp(y, x) result(integral)

#### Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in), dimension(:):: y
real(kind=dp), intent(in), dimension(:):: x

• ### public function trapz_x_sp(y, x) result(integral)

#### Arguments

Type IntentOptional AttributesName
real(kind=sp), intent(in), dimension(:):: y
real(kind=sp), intent(in), dimension(:):: x

### public interface trapz_weights

Integrates sampled values using trapezoidal rule weights for given abscissas (Specification)

• ### public pure function trapz_weights_dp(x) result(w)

#### Arguments

Type IntentOptional AttributesName
real(kind=dp), intent(in), dimension(:):: x

• ### public pure function trapz_weights_sp(x) result(w)

#### Arguments

Type IntentOptional AttributesName
real(kind=sp), intent(in), dimension(:):: x