The TELEMAC-MASCARET system  trunk
maxi.f
Go to the documentation of this file.
1 ! ***************
2  SUBROUTINE maxi
3 ! ***************
4 !
5  &( xmax , imax , x , npoin )
6 !
7 !***********************************************************************
8 ! BIEF V6P1 21/08/2010
9 !***********************************************************************
10 !
11 !brief LOOKS FOR THE GREATEST VALUE IN ARRAY X
12 !+ OF DIMENSION NPOIN.
13 !
14 !history E. PELTIER (LNH)
15 !+ 17/08/94
16 !+ V5P1
17 !+
18 !
19 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
20 !+ 13/07/2010
21 !+ V6P0
22 !+ Translation of French comments within the FORTRAN sources into
23 !+ English comments
24 !
25 !history N.DURAND (HRW), S.E.BOURBAN (HRW)
26 !+ 21/08/2010
27 !+ V6P0
28 !+ Creation of DOXYGEN tags for automated documentation and
29 !+ cross-referencing of the FORTRAN sources
30 !
31 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
32 !| IMAX |<--| INDEX OF MAXIMUM
33 !| NPOIN |-->| DIMENSION OF ARRAY X
34 !| X |-->| ARRAY WITH VALUES TO LOOK AT
35 !| XMAX |<--| THE MAXIMUM
36 !~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
37 !
39  IMPLICIT NONE
40 !
41 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
42 !
43  INTEGER, INTENT(IN) :: NPOIN
44  INTEGER, INTENT(INOUT) :: IMAX
45  DOUBLE PRECISION, INTENT(INOUT) :: XMAX
46  DOUBLE PRECISION, INTENT(IN) :: X(npoin)
47 !
48 !+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
49 !
50  INTEGER I
51 !
52 !-----------------------------------------------------------------------
53 !
54  xmax = x(1)
55  imax = 1
56 !
57  DO i = 2 , npoin
58 !
59  IF(x(i).GT.xmax) THEN
60  imax = i
61  xmax = x(i)
62  ENDIF
63 !
64  ENDDO ! I
65 !
66 !-----------------------------------------------------------------------
67 !
68  RETURN
69  END
subroutine maxi(XMAX, IMAX, X, NPOIN)
Definition: maxi.f:7