The TELEMAC-MASCARET system
trunk
sources
utils
damocles
preval.f
Go to the documentation of this file.
1
! ***********************
2
INTEGER
FUNCTION
preval
3
! ***********************
4
!
5
&( icol , ligne , car1 , car2 , car3 )
6
!
7
!***********************************************************************
8
! DAMOCLES V6P0 21/08/2010
9
!***********************************************************************
10
!
11
!brief RETURNS THE COLUMN INDEX OF THE 1ST VALID CHARACTER CAR
12
!+ IN THE LINE (I.E. NON-WHITE, NON-TABULATION AND NON-COMMENTED
13
!+ STRING)
14
!+ IF CANNOT FIND IT, RETURNS LONGLI + 1
15
!
16
!note PORTABILITY : IBM,CRAY,HP,SUN
17
!
18
!history O. QUIQUEMPOIX (LNH)
19
!+ 15/12/1993
20
!+
21
!+
22
!
23
!history J.M. HERVOUET (LNH); A. YESSAYAN
24
!+ 16/08/1994
25
!+ V5P1
26
!+
27
!
28
!history N.DURAND (HRW), S.E.BOURBAN (HRW)
29
!+ 13/07/2010
30
!+ V6P0
31
!+ Translation of French comments within the FORTRAN sources into
32
!+ English comments
33
!
34
!history N.DURAND (HRW), S.E.BOURBAN (HRW)
35
!+ 21/08/2010
36
!+ V6P0
37
!+ Creation of DOXYGEN tags for automated documentation and
38
!+ cross-referencing of the FORTRAN sources
39
!
40
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
41
!| CAR1,CAR2,CAR3 |-->| CARACTERES RECHERCHES DANS LA LIGNE
42
!| ICOL |-->| POSITION COURANTE DU POINTEUR DANS LA LIGNE
43
!| LIGNE |-->| LIGNE EN COURS DE DECODAGE
44
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
45
!
46
USE
declarations_damocles
47
IMPLICIT NONE
48
!
49
INTEGER
ICOL
50
CHARACTER(LEN=1)
CAR1,CAR2,CAR3
51
CHARACTER(LEN=*)
LIGNE
52
!
53
!-----------------------------------------------------------------------
54
!
55
INTEGER
I,J
56
!
57
!***********************************************************************
58
! RCS AND SCCS MARKING
59
!
60
!***********************************************************************
61
!
62
preval
=
longli
+ 1
63
i = icol -1
64
!
65
100
CONTINUE
66
i = i + 1
67
IF
(ligne(i:i).NE.car1.AND.ligne(i:i).NE.car2.AND.
68
& ligne(i:i).NE.car3)
THEN
69
!-----------------------------------------------------------------------
70
! DOES NOT CONSIDER THE COMMENTED LINES:
71
!
72
IF
( i.GE.
longli
)
GO TO
1000
73
IF
( ligne(i:i).EQ.
'/'
)
THEN
74
DO
j = i+1 ,
longli
75
IF
( ligne(j:j).EQ.
'/'
)
THEN
76
i = j
77
GO TO
100
78
ENDIF
79
ENDDO
! J
80
GO TO
1000
81
!--------------------------------------------------------------------
82
ELSE
83
GO TO
100
84
ENDIF
85
ELSE
86
preval
= i
87
ENDIF
88
!
89
1000
CONTINUE
90
!
91
RETURN
92
END
preval
integer function preval(ICOL, LIGNE, CAR1, CAR2, CAR3)
Definition:
preval.f:7
declarations_damocles::longli
integer longli
Definition:
declarations_damocles.f:31
declarations_damocles
Definition:
declarations_damocles.f:3