The TELEMAC-MASCARET system
trunk
sources
utils
damocles
precar.f
Go to the documentation of this file.
1
! ***********************
2
INTEGER
FUNCTION
precar
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 CHARACTER CAR
12
!+ IN THE LINE (EVEN IF IT FOLLOWS '/')
13
!+ RETURNS THE MAXIMUM LENGTH OF THE LINE IF THIS CHARACTER
14
!+ IS NOT FOUND.
15
!+
16
!+ THIS FUNCTION IS USED TO FIND THE END OF A STRING OF
17
!+ CHARACTERS. THIS STRING CAN CONTAIN THE CHARACTER '/',
18
!+ WHICH IS WHY PREVAL IS NOT USED IN THIS CASE (PREVAL
19
!+ SKIPS COMMENTED LINES).
20
!
21
!note PORTABILITY : IBM,CRAY,HP,SUN
22
!note OPTIMISED: SENDS CAR1, CAR2, CAR3 IN THE MOST PROBABLE ORDER
23
!
24
!history O. QUIQUEMPOIX (LNH)
25
!+ 15/12/1993
26
!+
27
!+
28
!
29
!history J.M. HERVOUET (LNH); A. YESSAYAN
30
!+ 16/08/1994
31
!+ V5P1
32
!+
33
!
34
!history N.DURAND (HRW), S.E.BOURBAN (HRW)
35
!+ 13/07/2010
36
!+ V6P0
37
!+ Translation of French comments within the FORTRAN sources into
38
!+ English comments
39
!
40
!history N.DURAND (HRW), S.E.BOURBAN (HRW)
41
!+ 21/08/2010
42
!+ V6P0
43
!+ Creation of DOXYGEN tags for automated documentation and
44
!+ cross-referencing of the FORTRAN sources
45
!
46
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
47
!| CAR1,CAR2,CAR3 |-->| CARACTERES RECHERCHES DANS LA LIGNE
48
!| ICOL |-->| POSITION COURANTE DU POINTEUR DANS LA LIGNE
49
!| LIGNE |-->| LIGNE EN COURS DE DECODAGE
50
!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
51
!
52
USE
declarations_damocles
53
IMPLICIT NONE
54
!
55
INTEGER
ICOL
56
CHARACTER(LEN=1)
CAR1,CAR2,CAR3
57
CHARACTER(LEN=*)
LIGNE
58
!
59
!-----------------------------------------------------------------------
60
!
61
INTEGER
K
62
!
63
!***********************************************************************
64
! RCS AND SCCS MARKING
65
!
66
!***********************************************************************
67
!
68
precar
=
longli
69
!
70
DO
k = icol,
longli
71
IF
(ligne(k:k).EQ.car1.OR.ligne(k:k).EQ.car2.OR.
72
& ligne(k:k).EQ.car3)
THEN
73
precar
= k
74
GO TO
1000
75
ENDIF
76
ENDDO
! K
77
!
78
precar
=
longli
+1
79
!
80
1000
CONTINUE
81
!
82
!-----------------------------------------------------------------------
83
!
84
RETURN
85
END
precar
integer function precar(ICOL, LIGNE, CAR1, CAR2, CAR3)
Definition:
precar.f:7
declarations_damocles::longli
integer longli
Definition:
declarations_damocles.f:31
declarations_damocles
Definition:
declarations_damocles.f:3