XMM-Newton SAS Home Page
XMM-Newton Science Analysis System


ssclib (ssclib-4.33) [xmmsas_20190531_1155-18.0.0]

Simpler maxloc

The fortran routine maxloc(array) returns the indices at which the maximum value in array occurs. However the return must be a vector quantity of the same size as the array has dimensions. This can be slightly clunky if array is of dimension 1 - ie, a 1-dimensional vector. The function maxLoc1d allows one to obtain the index of the maximum value of the 1-D argument in a scalar return value. This can save some lines of code.

  interface maxLoc1d
    function maxLoc1dSingle(vector, mask)
      real(single),  intent(in)           :: vector(:)
      logical(bool), intent(in), optional :: mask(:)
      integer                             :: maxLoc1dSingle
    end function

    function maxLoc1dDouble(vector, mask)
      real(double),  intent(in)           :: vector(:)
      logical(bool), intent(in), optional :: mask(:)
      integer                             :: maxLoc1dSingle
    end function
  end interface



XMM-Newton SOC/SSC -- 2019-06-02