2 DOUBLE PRECISION FUNCTION realu 57 CHARACTER(LEN=*) LIGNE
64 INTRINSIC log10,dble,int,char
66 INTEGER I,I1,I2,ILONG,IPOINT,IFDECI,ILDECI,JD1,JD2,I3
67 LOGICAL FORMAE,LUFIC,LISUIV,VUPOIN
68 CHARACTER(LEN=1) CODE,CDEB,CDEB2,TABUL
69 CHARACTER(LEN=3) LLONG,LLDECI
70 CHARACTER(LEN=72) FORMA,LIGNE2
71 DOUBLE PRECISION RSIGNE , RVAL
80 i1 = next( icol+1 , ligne )
89 IF ( ligne(i1:i1).EQ.
'-' )
THEN 91 i1 = next( i1+1 , ligne )
92 ELSE IF ( ligne(i1:i1).EQ.
'+' )
THEN 94 i1 = next( i1+1 , ligne )
100 i2 = preval( i1 , ligne ,
' ' ,
';' ,tabul)
106 READ(
nfic,end=900,err=998,fmt=
'(A)') ligne2
110 IF ((cdeb.EQ.
'0'.OR.cdeb.EQ.
'1'.OR.cdeb.EQ.
'2'.OR.
111 & cdeb.EQ.
'3'.OR.cdeb.EQ.
'4'.OR.cdeb.EQ.
'5'.OR.
112 & cdeb.EQ.
'6'.OR.cdeb.EQ.
'7'.OR.cdeb.EQ.
'8'.OR.
113 & cdeb.EQ.
'9'.OR.cdeb.EQ.
'.'.OR.cdeb.EQ.
'+'.OR.
114 & cdeb.EQ.
'-'.OR.cdeb.EQ.
',')
120 & ( (cdeb.EQ.
'E'.OR.cdeb.EQ.
'D')
122 & ( cdeb2.EQ.
'0'.OR.cdeb2.EQ.
'1'.OR.cdeb2.EQ.
'2'.OR.
123 & cdeb2.EQ.
'3'.OR.cdeb2.EQ.
'4'.OR.cdeb2.EQ.
'5'.OR.
124 & cdeb2.EQ.
'6'.OR.cdeb2.EQ.
'7'.OR.cdeb2.EQ.
'8'.OR.
125 & cdeb2.EQ.
'9'.OR.cdeb2.EQ.
'+'.OR.cdeb2.EQ.
'-' )))
131 i3=preval(i3,ligne2 ,
' ' ,
';' ,tabul)
133 ligne = ligne(i1:
longli)//ligne2(1:i3)
153 IF ( ligne(i:i).EQ.
'.' )
THEN 156 ELSEIF ( ligne(i:i).EQ.
',' )
THEN 160 ELSEIF (ligne(i:i).EQ.
'E')
THEN 164 ELSEIF (ligne(i:i).EQ.
'D')
THEN 174 ildeci = ifdeci - ipoint
182 IF ( formae ) code =
'E' 183 jd1 = 3 - int(log10(dble(ilong)))
184 WRITE (llong,
'(I3)') ilong
186 IF ( ildeci.GT.0 ) jd2 = 3-int(log10(dble(ildeci)))
187 WRITE (lldeci,
'(I3)') ildeci
189 WRITE ( forma , 1010 ) i1-1,code,llong(jd1:3),lldeci(jd2:3)
191 WRITE ( forma , 1020 ) code,llong(jd1:3),lldeci(jd2:3)
194 1010
FORMAT(
'(',i3,
'X,',a1,a,
'.',a,
')' )
195 1020
FORMAT(
'(',a1,a,
'.',a,
')' )
199 READ ( ligne , forma , err=995 ) rval
200 realu = rsigne * rval
225 1996
FORMAT(1x,
'ERREUR LINE ',1i6,
', REAL EXPECTED : ',/)
233 1999
FORMAT(1x,
'LOGICAL UNIT ',1i2,
' ERROR LINE ',1i6)
double precision function realu(ICOL, LIGNE)
logical erreur
Y. AUDOUIN (EDF LAB, LNHE) 09/05/2014 V7P0 First version.