54 INTEGER,
INTENT(INOUT) :: ICOL
55 CHARACTER(LEN=*),
INTENT(INOUT) :: LIGNE
62 INTRINSIC log10,dble,int,char
64 INTEGER I1,I2,ILONG,ISIGNE,IVAL,JD1,I3
66 CHARACTER(LEN=1) CDEB,TABUL
67 CHARACTER(LEN=3) LLONG
68 CHARACTER(LEN=72) LIGNE2,FORMA
76 i1 = next( icol+1 , ligne )
80 IF ( ligne(i1:i1).EQ.
'-' )
THEN 82 i1 = next( i1+1 , ligne )
83 ELSE IF ( ligne(i1:i1).EQ.
'+' )
THEN 85 i1 = next( i1+1 , ligne )
93 i2 = preval( i1 , ligne ,
' ' ,
';' , tabul)
99 READ(
nfic,end=900,err=998,fmt=
'(A)') ligne2
101 IF (cdeb.EQ.
'0'.OR.cdeb.EQ.
'1'.OR.cdeb.EQ.
'2'.OR.
102 & cdeb.EQ.
'3'.OR.cdeb.EQ.
'4'.OR.cdeb.EQ.
'5'.OR.
103 & cdeb.EQ.
'6'.OR.cdeb.EQ.
'7'.OR.cdeb.EQ.
'8'.OR.
104 & cdeb.EQ.
'9'.OR.cdeb.EQ.
'.')
THEN 107 i3=preval(i3,ligne2 ,
' ' ,
';', tabul)
109 ligne = ligne(i1:
longli)//ligne2(1:i3)
124 IF(ligne(i2-1:i2-1).EQ.
'.')
THEN 134 jd1 = 3 - int(log10(dble(ilong)))
135 WRITE ( llong ,
'(I3)' ) ilong
138 WRITE (forma , 1101 ) llong(jd1:3)
140 WRITE (forma , 1100 ) i1-1 , llong(jd1:3)
145 READ ( ligne , forma , err=995 ) ival
146 intlu = isigne * ival
162 1100
FORMAT(
'(',i3,
'X,I',a,
')')
163 1101
FORMAT(
'(I',a,
')')
174 1996
FORMAT(1x,
'ERROR LINE ',1i6,
', INTEGER EXPECTED : ',/)
182 1999
FORMAT(1x,
'LOGICAL UNIT ',1i2,
' ERROR LINE ',1i6)
integer function intlu(ICOL, LIGNE)
logical erreur
Y. AUDOUIN (EDF LAB, LNHE) 09/05/2014 V7P0 First version.