C+ C NAME: C ArrR4GetMinMax C PURPOSE: C Get min and max of real*4 array C CALLING SEQUENCE: subroutine ArrR4GetMinMax(N,A,AMin,AMax) C CALLS: C BadR4 C SEE ALSO: C Array_Info C- integer N real A(*) real AMin real AMax bad = BadR4() if (N .gt. 0) then ! Check all elements AMin = A(1) ! Pick up initial values AMax = A(1) do I=2,N ! Loop over rest of array AMin = min(AMin,A(I)) AMax = max(AMax,A(I)) end do else if (N .lt. 0) then ! Exclude bad values AMin = bad ! Initialize to 'bad' value AMax = bad I = 1 ! Find first non-bad value do while (I .le. -N .and. A(I) .eq. bad) I = I+1 end do if (I .le. -N) then ! Non-bad value found AMin = A(I) ! Initialize AMax = A(I) J = I+1 do I=J,-N ! Loop over rest of array if (A(I) .ne. bad) then AMin = min(AMin,A(I)) AMax = max(AMax,A(I)) end if end do end if else AMin = bad ! Initialize to 'bad' value AMax = bad end if return end