gmean Interface

public interface gmean

Calculates the geometric mean of a set of values given in a vector of any size with one dimension applying the following equation:

Where:

  • is a vector with real numbers.
  • is how many numbers are included in .

Syntax

y = gmean(x)

Where:

  • x = vector of rank 1 with real numbers. See this example to use an array of rank larger than 1.
  • y = real number of the same kind as x with the geometric mean of x.

Example

The following program calculates the geometric mean value of a vector:

 PROGRAM gmeanExample
    USE FU_Statistics, ONLY: gmean
    IMPLICIT NONE
    REAL, DIMENSION(5) :: x = [1., 2., 3., 4., 5.]
    WRITE(*,*) gmean(x)
 END PROGRAM gmeanExample

Contents


Module Procedures

private pure function gmean_sp(x) result(res)

Arguments

Type IntentOptional Attributes Name
real(kind=sp), intent(in), DIMENSION(:) :: x

Vector of real numbers to calculate the geometric mean. It can have any size and it must have one dimension.

Return Value real(kind=sp)

Real number with the geometric mean of the x.

private pure function gmean_dp(x) result(res)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in), DIMENSION(:) :: x

Vector of real numbers to calculate the geometric mean. It can have any size and it must have one dimension.

Return Value real(kind=dp)

Real number with the geometric mean of the x.

private pure function gmean_qp(x) result(res)

Arguments

Type IntentOptional Attributes Name
real(kind=qp), intent(in), DIMENSION(:) :: x

Vector of real numbers to calculate the geometric mean. It can have any size and it must have one dimension.

Return Value real(kind=qp)

Real number with the geometric mean of the x.