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.