FORCES
FORtran lib for Comp. Env. Sys.
|
Merge-sort ranking, with removal of duplicate entries. More...
Public Member Functions | |
subroutine | d_unirnk (xvalt, irngt, nuni) |
subroutine | r_unirnk (xvalt, irngt, nuni) |
subroutine | i_unirnk (xvalt, irngt, nuni) |
Merge-sort ranking, with removal of duplicate entries.
Ranks an array, removing duplicate entries (uses merge sort). The routine is similar to pure merge-sort ranking, but on the last pass, it discards indices that correspond to duplicate entries. For performance reasons, the first 2 passes are taken out of the standard loop, and use dedicated coding.
[in] | integer(i4)/real(sp,dp), dimension(:) :: XVALT | Array to be ranked. |
[out] | integer(i4) :: NUNI | Rank of last number after duplicates removed. |
[out] | integer(i4), dimension(:) :: IRNGT | Index of rank. |
Definition at line 655 of file mo_orderpack.f90.
subroutine mo_orderpack::unirnk::d_unirnk | ( | real(kind = dp), dimension (:), intent(in) | xvalt, |
integer(kind = i4), dimension (:), intent(out) | irngt, | ||
integer(kind = i4), intent(out) | nuni | ||
) |
Definition at line 13527 of file mo_orderpack.f90.
subroutine mo_orderpack::unirnk::i_unirnk | ( | integer(kind = i4), dimension (:), intent(in) | xvalt, |
integer(kind = i4), dimension (:), intent(out) | irngt, | ||
integer(kind = i4), intent(out) | nuni | ||
) |
Definition at line 14023 of file mo_orderpack.f90.
subroutine mo_orderpack::unirnk::r_unirnk | ( | real(kind = sp), dimension (:), intent(in) | xvalt, |
integer(kind = i4), dimension (:), intent(out) | irngt, | ||
integer(kind = i4), intent(out) | nuni | ||
) |
Definition at line 13775 of file mo_orderpack.f90.