<HTML> <BODY BGCOLOR=#ccccdd LINK=#0000aa VLINK=#0000ff ALINK=#ff0000 ><BASE TARGET="bottom_target"><PRE>
<A NAME='MINMAX_FIND_UTILITY'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#MINMAX_FIND_UTILITY' TARGET='top_target'><IMG SRC="../../gif/bar_purple.gif" border=0></A>
MODULE MinMax_Find_Utility 3,21
USE Type_Kinds
, ONLY: fp
IMPLICIT NONE
PRIVATE
PUBLIC :: MinVal_Find
PUBLIC :: MaxVal_Find
PUBLIC :: MaxDiff_Find
! Public
<A NAME='MINVAL_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#MINVAL_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>
INTERFACE MinVal_Find
MODULE PROCEDURE
MODULE PROCEDURE
END INTERFACE MinVal_Find
<A NAME='MAXVAL_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#MAXVAL_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>
INTERFACE MaxVal_Find
MODULE PROCEDURE
MODULE PROCEDURE
END INTERFACE MaxVal_Find
<A NAME='MAXDIFF_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#MAXDIFF_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>
INTERFACE MaxDiff_Find 8
MODULE PROCEDURE
MODULE PROCEDURE
END INTERFACE MaxDiff_Find
! Private
<A NAME='MINLOC_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#MINLOC_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>
INTERFACE MinLoc_Find
MODULE PROCEDURE
MODULE PROCEDURE
END INTERFACE MinLoc_Find
<A NAME='MAXLOC_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#MAXLOC_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>
INTERFACE MaxLoc_Find
MODULE PROCEDURE
MODULE PROCEDURE
END INTERFACE MaxLoc_Find
CONTAINS
<A NAME='INTEGER_MINVAL_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#INTEGER_MINVAL_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_green.gif" border=0></A>
FUNCTION integer_MinVal_Find(array) RESULT(minimum_value) 1
INTEGER, INTENT(IN) :: array(:)
INTEGER :: minimum_value
INTEGER :: idx
idx = MinLoc_Find(array)
minimum_value = SIGN(array(idx),array(idx))
END FUNCTION integer_MinVal_Find
<A NAME='INTEGER_MAXVAL_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#INTEGER_MAXVAL_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_green.gif" border=0></A>
FUNCTION integer_MaxVal_Find(array) RESULT(maximum_value) 1
INTEGER, INTENT(IN) :: array(:)
INTEGER :: maximum_value
INTEGER :: idx
idx = MaxLoc_Find(array)
maximum_value = SIGN(array(idx),array(idx))
END FUNCTION integer_MaxVal_Find
<A NAME='INTEGER_MAXDIFF_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#INTEGER_MAXDIFF_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>
SUBROUTINE integer_MaxDiff_Find(x,y, xval,yval,diff) 1
INTEGER, INTENT(IN) :: x(:), y(:)
INTEGER :: xval, yval, diff
INTEGER :: idx
idx = MaxLoc_Find(x-y)
xval = x(idx)
yval = y(idx)
diff = xval - yval
END SUBROUTINE integer_MaxDiff_Find
<A NAME='REAL_MINVAL_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#REAL_MINVAL_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_green.gif" border=0></A>
FUNCTION real_MinVal_Find(array) RESULT(minimum_value) 1
REAL(fp), INTENT(IN) :: array(:)
REAL(fp) :: minimum_value
INTEGER :: idx
idx = MinLoc_Find(array)
minimum_value = SIGN(array(idx),array(idx))
END FUNCTION real_MinVal_Find
<A NAME='REAL_MAXVAL_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#REAL_MAXVAL_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_green.gif" border=0></A>
FUNCTION real_MaxVal_Find(array) RESULT(maximum_value) 1
REAL(fp), INTENT(IN) :: array(:)
REAL(fp) :: maximum_value
INTEGER :: idx
idx = MaxLoc_Find(array)
maximum_value = SIGN(array(idx),array(idx))
END FUNCTION real_MaxVal_Find
<A NAME='REAL_MAXDIFF_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#REAL_MAXDIFF_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_red.gif" border=0></A>
SUBROUTINE real_MaxDiff_Find(x,y, xval,yval,diff) 1
REAL(fp), INTENT(IN) :: x(:), y(:)
REAL(fp) :: xval, yval, diff
INTEGER :: idx
idx = MaxLoc_Find(x-y)
xval = x(idx)
yval = y(idx)
diff = xval - yval
END SUBROUTINE real_MaxDiff_Find
! PRIVATE PROCEDURES
<A NAME='INTEGER_MINLOC_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#INTEGER_MINLOC_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_green.gif" border=0></A>
FUNCTION integer_MinLoc_Find(array) RESULT(idx) 1
INTEGER, INTENT(IN) :: array(:)
INTEGER :: idx
idx = MINLOC(ABS(array),DIM=1)
END FUNCTION integer_MinLoc_Find
<A NAME='INTEGER_MAXLOC_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#INTEGER_MAXLOC_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_green.gif" border=0></A>
FUNCTION integer_MaxLoc_Find(array) RESULT(idx) 1
INTEGER, INTENT(IN) :: array(:)
INTEGER :: idx
idx = MAXLOC(ABS(array),DIM=1)
END FUNCTION integer_MaxLoc_Find
<A NAME='REAL_MINLOC_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#REAL_MINLOC_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_green.gif" border=0></A>
FUNCTION real_MinLoc_Find(array) RESULT(idx) 1
REAL(fp), INTENT(IN) :: array(:)
INTEGER :: idx
idx = MINLOC(ABS(array),DIM=1)
END FUNCTION real_MinLoc_Find
<A NAME='REAL_MAXLOC_FIND'><A href='../../html_code/crtm/MinMax_Find_Utility.f90.html#REAL_MAXLOC_FIND' TARGET='top_target'><IMG SRC="../../gif/bar_green.gif" border=0></A>
FUNCTION real_MaxLoc_Find(array) RESULT(idx) 1
REAL(fp), INTENT(IN) :: array(:)
INTEGER :: idx
idx = MAXLOC(ABS(array),DIM=1)
END FUNCTION real_MaxLoc_Find
END MODULE MinMax_Find_Utility