This function returns the structure aryStatInfo???T (See Section 2.2), which contains the statistical information of the array. This function offers an interface for five (numerical) types of input Array and the type of the returned value (aryStatInfo???T) varies accordingly.
At the time of writing (ssclib-4.6), it accepts the 1- and 2-dimensional arrays. In the future it is planned to accept 3-dimensional arrays as well.
The following is an example interface for the Double-type one. In other types, only the difference is the type of the input Array, arin (and the returned type, accordingly – see Section 2.2 for detail).
interface getAryStatInfo
function getAryStatInfoDouble1d(arin, arMaskIn &
, minAreaIndices, maxAreaIndices, valLower, valUpper, flagInfo) result(retInfo)
integer, parameter :: rankArin = 1
type(aryStatInfoDoubleT) :: retInfo
real(double), intent(in) :: arin(:)
logical, intent(in), optional :: arMaskIn(:)
integer(int32), intent(in), optional :: minAreaIndices(rankArin), maxAreaIndices(rankArin)
real(double), intent(in), optional :: valLower, valUpper
type(aryStatInfoFlagT), intent(in), optional :: flagInfo
end function getAryStatInfoDouble1d
function getAryStatInfoDouble2d(arin, arMaskIn &
, minAreaIndices, maxAreaIndices, valLower, valUpper, flagInfo) result(retInfo)
integer, parameter :: rankArin = 2
type(aryStatInfoDoubleT) :: retInfo
real(double), intent(in) :: arin(:,:) ! Input data Array
logical, intent(in), optional :: arMaskIn(:,:)
integer(int32), intent(in), optional :: minAreaIndices(rankArin), maxAreaIndices(rankArin)
real(double), intent(in), optional :: valLower, valUpper
type(aryStatInfoFlagT), intent(in), optional :: flagInfo
end function getAryStatInfoDouble2d
end interface
Note that the ranks of arin and arMaskIn (if specified) have to be identical.