f_sts_median Function

public impure function f_sts_median(x) result(median)

Impure wrapper function for f_sts_median_core.

Arguments

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

x vector (assumed size array)

Return Value real(kind=wp)

median


Calls

proc~~f_sts_median~~CallsGraph proc~f_sts_median f_sts_median proc~f_sts_median_core f_sts_median_core proc~f_sts_median->proc~f_sts_median_core proc~s_err_print s_err_print proc~f_sts_median->proc~s_err_print proc~s_utl_rank s_utl_rank proc~f_sts_median_core->proc~s_utl_rank proc~f_utl_r2c f_utl_r2c proc~s_err_print->proc~f_utl_r2c

Called by

proc~~f_sts_median~~CalledByGraph proc~f_sts_median f_sts_median interface~fsml_median fsml_median interface~fsml_median->proc~f_sts_median

Source Code

impure function f_sts_median(x) result(median)

! ==== Description
!! Impure wrapper function for `f_sts_median_core`.

! ==== Declarations
  real(wp), intent(in) :: x(:)   !! x vector (assumed size array)
  real(wp)             :: median !! median

! ==== Instructions

! ---- handle input

  ! check if size is valid
  if (size(x) .le. 1) then
     ! write error message and assign sentinel value if invalid
     call s_err_print(fsml_error(4))
     median = c_sentinel_r
     return
  endif

! ---- compute median

  ! call pure function
  median = f_sts_median_core(x)

end function f_sts_median