5 & (lfi, krang, ldapfe )
32 CHARACTER CLOPER*(lfi%jplspx)
34 INTEGER (KIND=JPLIKB) IIDATE, IIHEUR
35 INTEGER (KIND=JPLIKB) KRANG, INUMER, IREP, IMDESC
36 INTEGER (KIND=JPLIKB) IDATEM, IHEURM, IANNEE, IMOIS
37 INTEGER (KIND=JPLIKB) IJOUR, IHEURE, IMINUT, ISECON
38 INTEGER (KIND=JPLIKB) IDECAL, IDERNI, INLNOM, J
39 INTEGER (KIND=JPLIKB) IDEROP, IDERCO, IDERAP, INBPIR
40 INTEGER (KIND=JPLIKB) INBALO, IFACTM, ILARPH
41 INTEGER (KIND=JPLIKB) INALPP, ILONGF, ILDONN, INTRUA
42 INTEGER (KIND=JPLIKB) INALDO, INPPIU, INUTIL
43 INTEGER (KIND=JPLIKB) INTRUO, ILOMIN, ILOMAX, IREESP
44 INTEGER (KIND=JPLIKB) IREECO, IREELO, INALIP
45 INTEGER (KIND=JPLIKB) INAMAX, INMOUL, INMOUE, INMOUT
46 INTEGER (KIND=JPLIKB) INMOLL, INMOLE, INMOLT
47 INTEGER (KIND=JPLIKB) INLECT, INECRI, INRENO, INSUPP
48 INTEGER (KIND=JPLIKB) INIMES, INTPPI
52 CHARACTER(LEN=LFI%JPLSPX) CLNSPR
53 CHARACTER(LEN=LFI%JPLMES) CLMESS
54 CHARACTER(LEN=LFI%JPLFTX) CLACTI
61 REAL(KIND=JPRB) :: ZHOOK_HANDLE
64 IF (krang.LE.0.OR.krang.GT.lfi%JPNXFI)
THEN 67 inumer=lfi%NUMERO(krang)
71 IF (inumer.EQ.lfi%JPNIL)
THEN 80 & (lfi, iidate,iiheur)
84 ijour =mod(idatem,100_jplikb )
85 imois =idatem/100-100*iannee
87 isecon=mod(iheurm,100_jplikb )
88 iminut=iheurm/100-100*iheure
91 WRITE (unit=lfi%NULOUT,fmt=9010)inumer,iannee,imois, &
92 & ijour,iheure,iminut,isecon
95 WRITE (unit=lfi%NULOUT,fmt=9020)
96 ELSEIF (lfi%LNOUFI(krang))
THEN 97 WRITE (unit=lfi%NULOUT,fmt=9025)
101 WRITE (unit=lfi%NULOUT,fmt=9011)inumer,iannee,imois, &
102 & ijour,iheure,iminut,isecon
105 WRITE (unit=lfi%NULOUT,fmt=9021)
106 ELSEIF (lfi%LNOUFI(krang))
THEN 107 WRITE (unit=lfi%NULOUT,fmt=9026)
112 IF (.NOT.ldapfe.OR.ixnims(krang).EQ.0)
THEN 115 clmess=
' X NOM du Fichier=''' 117 clmess=
' X File NAME=''' 122 inlnom=min(lfi%NLNOMF(krang),lfi%JPLFIX,iderni-2-idecal)
123 clmess(idecal+1:idecal+inlnom+1)= &
124 & lfi%CNOMFI(krang)(1:inlnom)//
'''' 125 clmess(iderni:iderni)=
'X' 126 WRITE (unit=lfi%NULOUT,fmt=9015)
trim(clmess)
128 IF (lfi%CNOMSY(krang).NE.lfi%CNOMFI(krang))
THEN 131 clmess=
' X NOM *SYSTEME*: ''' 133 clmess=
' X SYSTEM NAME: ''' 138 inlnom=min(lfi%NLNOMS(krang),lfi%JPLFIX,iderni-2-idecal)
139 clmess(idecal+1:idecal+inlnom+1)= &
140 & lfi%CNOMSY(krang)(1:inlnom)//
'''' 141 clmess(iderni:iderni)=
'X' 142 WRITE (unit=lfi%NULOUT,fmt=9015)
trim(clmess)
147 iderop=lfi%NDEROP(krang)
149 IF (iderop.EQ.0)
THEN 151 ELSEIF (iderop.EQ.1)
THEN 153 ELSEIF (iderop.EQ.2)
THEN 155 ELSEIF (iderop.EQ.3)
THEN 157 ELSEIF (iderop.EQ.4)
THEN 159 ELSEIF (iderop.EQ.5)
THEN 161 ELSEIF (iderop.EQ.6)
THEN 163 ELSEIF (iderop.EQ.7)
THEN 165 ELSEIF (iderop.EQ.8)
THEN 167 ELSEIF (iderop.EQ.9)
THEN 169 ELSEIF (iderop.EQ.10)
THEN 171 ELSEIF (iderop.EQ.11)
THEN 173 ELSEIF (iderop.EQ.12)
THEN 175 ELSEIF (iderop.EQ.13)
THEN 177 ELSEIF (iderop.EQ.14)
THEN 179 ELSEIF (iderop.EQ.15)
THEN 181 ELSEIF (iderop.EQ.16)
THEN 183 ELSEIF (iderop.EQ.17)
THEN 185 ELSEIF (iderop.EQ.18)
THEN 187 ELSEIF (iderop.EQ.19)
THEN 189 ELSEIF (iderop.EQ.20)
THEN 191 ELSEIF (iderop.EQ.21)
THEN 193 ELSEIF (iderop.EQ.22)
THEN 196 cloper=lfi%CHINCO(:lfi%JPLSPX)
199 iderco=lfi%NDERCO(krang)
200 iderap=lfi%MDES1D(ixm(lfi%JPNAPH,krang))
201 inbpir=lfi%MDES1D(ixm(lfi%JPNPIR,krang))
202 inbalo=lfi%MDES1D(ixm(lfi%JPNALO,krang))
203 ifactm=lfi%MFACTM(krang)
204 ilarph=lfi%JPLARD*ifactm
205 inalpp=lfi%JPNAPP*ifactm
207 IF (lfi%LMODIF(krang).AND..NOT.ldapfe)
THEN 214 iderap=max(iderap,lfi%NUMAPD(j,krang))
217 intppi=(inbalo-1+inalpp)/inalpp
219 IF (intppi.GT.inbpir)
THEN 220 imdesc=lfi%MDES1D(ixm(ilarph+1-intppi+inbpir,krang))
221 iderap=max(iderap,imdesc+1)
227 ildonn=lfi%MDES1D(ixm(lfi%JPLTAL,krang))
230 intrua=lfi%MDES1D(ixm(lfi%JPNTRU,krang))
232 intrua=lfi%MDES1D(ixm(lfi%JPNTRU,krang))+lfi%NBTROU(krang)
239 inppiu=(inaldo-1+inalpp)/inalpp
240 inutil=ilongf-ildonn-ilarph*(1+2*inppiu)
241 intruo=lfi%NBTROU(krang)
242 ilomin=lfi%MDES1D(ixm(lfi%JPLNAL,krang))
243 ilomax=lfi%MDES1D(ixm(lfi%JPLXAL,krang))
246 WRITE (unit=lfi%NULOUT,fmt=9030)cloper,iderco
247 WRITE (unit=lfi%NULOUT,fmt=9040)ilongf,ildonn,ilarph,inutil
248 WRITE (unit=lfi%NULOUT,fmt=9050)intrua,intruo
250 IF (ldapfe.OR..NOT.lfi%LMIMAL(krang))
THEN 251 WRITE (unit=lfi%NULOUT,fmt=9060)inaldo,ilomin,ilomax
253 WRITE (unit=lfi%NULOUT,fmt=9070)inaldo,ilomin,ilomax
257 WRITE (unit=lfi%NULOUT,fmt=9031)cloper,iderco
258 WRITE (unit=lfi%NULOUT,fmt=9041)ilongf,ildonn,ilarph,inutil
259 WRITE (unit=lfi%NULOUT,fmt=9051)intrua,intruo
261 IF (ldapfe.OR..NOT.lfi%LMIMAL(krang))
THEN 262 WRITE (unit=lfi%NULOUT,fmt=9061)inaldo,ilomin,ilomax
264 WRITE (unit=lfi%NULOUT,fmt=9071)inaldo,ilomin,ilomax
270 ireesp=lfi%MDES1D(ixm(lfi%JPNRES,krang))-lfi%NREESP(krang)
271 ireeco=lfi%MDES1D(ixm(lfi%JPNREC,krang))-lfi%NREECO(krang)
272 ireelo=lfi%MDES1D(ixm(lfi%JPNREL,krang))-lfi%NREELO(krang)
274 ireesp=lfi%MDES1D(ixm(lfi%JPNRES,krang))
275 ireeco=lfi%MDES1D(ixm(lfi%JPNREC,krang))
276 ireelo=lfi%MDES1D(ixm(lfi%JPNREC,krang))
279 idatem=lfi%MDES1D(ixm(lfi%JPDCRE,krang))
280 iheurm=lfi%MDES1D(ixm(lfi%JPHCRE,krang))
282 ijour =mod(idatem,100_jplikb )
283 imois =idatem/100-100*iannee
285 isecon=mod(iheurm,100_jplikb )
286 iminut=iheurm/100-100*iheure
289 IF (.NOT.lfi%LNOUFI(krang)) &
290 &
WRITE (unit=lfi%NULOUT,fmt=9080)
' AVANT',ireesp,ireeco,ireelo
291 WRITE (unit=lfi%NULOUT,fmt=9080)
'DEPUIS',lfi%NREESP(krang), &
292 & lfi%NREECO(krang),lfi%NREELO(krang)
293 WRITE (unit=lfi%NULOUT,fmt=9090) &
294 &
'CREATION du FICHIER (Premiere Ouverture)', &
295 & iannee,imois,ijour,iheure,iminut,isecon
297 IF (.NOT.lfi%LNOUFI(krang)) &
298 &
WRITE (unit=lfi%NULOUT,fmt=9081)
'BEFORE',ireesp,ireeco,ireelo
299 WRITE (unit=lfi%NULOUT,fmt=9081)
' SINCE',lfi%NREESP(krang), &
300 & lfi%NREECO(krang), lfi%NREELO(krang)
301 WRITE (unit=lfi%NULOUT,fmt=9091) &
302 &
'FILE CREATION (Very First Opening) ', &
303 & iannee,imois,ijour,iheure,iminut,isecon
306 IF (.NOT.lfi%LNOUFI(krang).OR.lfi%LMODIF(krang))
THEN 307 idatem=lfi%MDES1D(ixm(lfi%JPDMNG,krang))
308 iheurm=lfi%MDES1D(ixm(lfi%JPHMNG,krang))
310 ijour =mod(idatem,100_jplikb )
311 imois =idatem/100-100*iannee
313 isecon=mod(iheurm,100_jplikb )
314 iminut=iheurm/100-100*iheure
317 WRITE (unit=lfi%NULOUT,fmt=9090) &
318 &
'Premiere Modification "NON GARANTIE" ', &
319 & iannee,imois,ijour,iheure,iminut,isecon
321 WRITE (unit=lfi%NULOUT,fmt=9091) &
322 &
'First "not guaranteed" Modification ', &
323 & iannee,imois,ijour,iheure,iminut,isecon
328 IF (ldapfe.OR..NOT.lfi%LNOUFI(krang))
THEN 329 idatem=lfi%MDES1D(ixm(lfi%JPDDMG,krang))
330 iheurm=lfi%MDES1D(ixm(lfi%JPHDMG,krang))
332 ijour =mod(idatem,100_jplikb )
333 imois =idatem/100-100*iannee
335 isecon=mod(iheurm,100_jplikb )
336 iminut=iheurm/100-100*iheure
339 WRITE (unit=lfi%NULOUT,fmt=9090) &
340 &
'Derniere FERMETURE apres Modification ', &
341 & iannee,imois,ijour,iheure,iminut,isecon
343 WRITE (unit=lfi%NULOUT,fmt=9091) &
344 &
'Last CLOSE made after a Modification', &
345 & iannee,imois,ijour,iheure,iminut,isecon
351 inamax=inalip+inalpp*(ilarph-lfi%JPLDOC)
352 inmoul=lfi%NBMOLU(krang)
353 inmoue=lfi%NBMOEC(krang)
355 inmoll=ilarph*lfi%NBREAD(krang)
356 inmole=ilarph*lfi%NBWRIT(krang)
358 inlect=lfi%NBLECT(krang)
359 inecri=lfi%NBNECR(krang)+lfi%NREESP(krang)+ &
360 & lfi%NREECO(krang)+lfi%NREELO(krang)
361 inreno=lfi%NBRENO(krang)
362 insupp=lfi%NBSUPP(krang)
365 WRITE (unit=lfi%NULOUT,fmt=9100)inalip,inamax
366 WRITE (unit=lfi%NULOUT,fmt=9110) &
367 &
'UTILISATEUR',
'EN LECTURE',
'EN ECRITURE', &
368 & inmoul,inmoue,inmout
369 WRITE (unit=lfi%NULOUT,fmt=9110) &
370 &
' LOGICIEL ',
'PAR "READ"',
'PAR "WRITE"', &
371 & inmoll,inmole,inmolt
372 WRITE (unit=lfi%NULOUT,fmt=9120)inlect,inecri,inreno,insupp
374 WRITE (unit=lfi%NULOUT,fmt=9101)inalip,inamax
375 WRITE (unit=lfi%NULOUT,fmt=9111) &
376 &
' USER ',
' For INPUT ',
' For OUTPUT ', &
377 & inmoul,inmoue,inmout
378 WRITE (unit=lfi%NULOUT,fmt=9111) &
379 &
'SOFTWARE',
'Through READ',
'Through WRITE', &
380 & inmoll,inmole,inmolt
381 WRITE (unit=lfi%NULOUT,fmt=9121)inlect,inecri,inreno,insupp
389 llfata=llmoer(irep,krang)
391 IF (lfi%LMISOP.OR.llfata)
THEN 394 WRITE (unit=clmess,fmt=
'(''IREP='',I4,'', KRANG='',I3, & 395 & '', LDAPFE= '',L1)') irep,krang,ldapfe
397 & (lfi, inumer,inimes,irep,llfata, &
398 & clmess,clnspr,clacti)
404 9010
FORMAT (/,/,t2,110(
'X'),/,
' X',t111,
'X',/,
' X',t15, &
405 &
'Statistiques d''Utilisation de l''Unite Logique Indexee',i4, &
406 &
' (le',i5.2,2(
'/',i2.2),
' a',i3.2,2(
':',i2.2),
')',t111,
'X', &
407 & /,
' X',t15,42(
'- '),
'-',t111,
'X',/,
' X',t111,
'X')
409 9011
FORMAT (/,/,t2,110(
'X'),/,
' X',t111,
'X',/,
' X',t15, &
410 &
'Statistics of Use for LFI Indexed Logical Unit Number',i4, &
411 &
' (on',i5.2,2(
'/',i2.2),
' at',i3.2,2(
':',i2.2),
')',t111,
'X', &
412 & /,
' X',t15,42(
'- '),
'-',t111,
'X',/,
' X',t111,
'X')
414 9015
FORMAT (
a,/,
' X',t111,
'X')
416 9020
FORMAT (
' X',t29, &
417 &
'----- Cette Unite Logique est en cours de FERMETURE -----', &
418 & t111,
'X',/,
' X',t111,
'X')
420 9021
FORMAT (
' X',t30, &
421 &
'----- This Logical Unit is currently being CLOSED -----', &
422 & t111,
'X',/,
' X',t111,
'X')
424 9025
FORMAT (
' X',t30, &
425 &
'----- Cette Unite Logique est en mode "CREATION" -----', &
426 & t111,
'X',/,
' X',t111,
'X')
428 9026
FORMAT (
' X',t31, &
429 &
'----- This Logical Unit is in "CREATION" Mode -----', &
430 & t111,
'X',/,
' X',t111,
'X')
432 9030
FORMAT (
' X Dernier Sous-Programme utilise: "',a6, &
433 &
'", Code-Reponse correspondant a cet appel:',i4, &
434 & t111,
'X',/,
' X',t111,
'X')
436 9031
FORMAT (
' X Name of Last Used SUBROUTINE: "',a6, &
437 &
'", Response Code corresponding to this call:',i4, &
438 & t111,
'X',/,
' X',t111,
'X')
440 9040
FORMAT (
' X LONGUEUR TOTALE en mots: du FICHIER=',i9, &
441 &
', des DONNEES=',i9,
', d''un Article "PHYSIQUE"=',i6,t111,
'X', &
442 & /,
' X',t111,
'X',/,
' X Mots "PERDUS" par l''Utili', &
443 &
'sation (Articles d''Index inutiles, Trous, Fin du fichier) =', &
444 & i8,t111,
'X',/,
' X',t111,
'X')
446 9041
FORMAT (
' X TOTAL LENGTH in words: of FILE=',i9, &
447 &
', of DATA=',i9,
', of a "PHYSICAL" Record=',i6,t111,
'X', &
448 & /,
' X',t111,
'X',/,
' X Words currently "LOST" by previous ', &
449 &
'Usage (Unnecessary Index Records, Holes, End of file)=', &
450 & i8,t111,
'X',/,
' X',t111,
'X')
452 9050
FORMAT (
' X Nombre de TROUS REPERTORIES: Actuellement',i6, &
453 &
', dont',i6,
' CREE(S) et NON RECYCLE(S) depuis OUVERTURE', &
454 & t111,
'X',/,
' X',t111,
'X')
456 9051
FORMAT (
' X Number of HOLES within INDEX: Currently',i6, &
457 &
', among which',i6,
' CREATED and NOT RE-USED since OPENING', &
458 & t111,
'X',/,
' X',t111,
'X')
460 9060
FORMAT (
' X Nombre d''ARTICLES LOGIQUES de DONNEES=',i6, &
461 &
', Longueur Mini/Maxi=',i7,
' /',i7,t111,
'X',/,
' X',t111,
'X')
463 9061
FORMAT (
' X Number of LOGICAL RECORDS of DATA=',i6, &
464 &
', Minimum/maximum length=',i7,
' /',i7,t111,
'X',/,
' X',t111,
'X')
466 9070
FORMAT (
' X Nombre d''ARTICLES LOGIQUES de DONNEES=',i6, &
467 &
', Longueur Mini/Maxi (A PRIORI)=',i7,
' /',i7, &
468 & t111,
'X',/,
' X',t111,
'X')
470 9071
FORMAT (
' X Number of LOGICAL RECORDS of DATA=',i6, &
471 &
', Minimum/Maximum Length (A PRIORI)=',i7,
' /',i7, &
472 & t111,
'X',/,
' X',t111,
'X')
474 9080
FORMAT (
' X ',a6,
' Ouverture, Nombre de REECRITURES Sur PLACE/', &
475 &
'Plus COURTES/Plus LONGUES=',i6,2(
' /',i6), &
476 & t111,
'X',/,
' X',t111,
'X')
478 9081
FORMAT (
' X ',a6,
' Opening, Number of RE-WRITE(s): In PLACE/', &
479 &
'SHORTER/LONGER=',i6,2(
' /',i6), &
480 & t111,
'X',/,
' X',t111,
'X')
482 9090
FORMAT (
' X ',a40,
' le',i5.2,2(
'/',i2.2),
' a',i3.2,2(
':',i2.2), &
483 & t111,
'X',/,
' X',t111,
'X')
485 9091
FORMAT (
' X ',a36,
' on',i5.2,2(
'/',i2.2),
' at',i3.2,2(
':',i2.2), &
486 & t111,
'X',/,
' X',t111,
'X')
488 9100
FORMAT(
' X Nombre d''ARTICLES LOGIQUES gerables (TROUS compris)', &
489 &
' SANS/AVEC DEBORDEMENT =',i7,
' /',i7, &
490 & t111,
'X',/,
' X',t111,
'X')
492 9101
FORMAT(
' X Number of LOGICAL RECORDS STORE-able (HOLES included)' &
493 & ,
' WITHOUT/WITH OVERFLOW=',i7,
' /',i7, &
494 & t111,
'X',/,
' X',t111,
'X')
496 9110
FORMAT (
' X Nombre de Mots ',a11,
' demandes ',a10,
'/',a11, &
497 &
'/AU TOTAL=',i9,2(
' /',i9),t111,
'X',/,
' X',t111,
'X')
499 9111
FORMAT (
' X Number of ',a8,
' Words requested ',a12,
'/',a13, &
500 &
'/TOTAL=',i9,2(
' /',i9),t111,
'X',/,
' X',t111,
'X')
502 9120
FORMAT (
' X Nombre d''ARTICLES LOGIQUES LUS/ECRITS/RENOMMES/', &
503 &
'SUPPRIMES depuis Ouverture=',i6,3(
' /',i6), &
504 & t111,
'X',/,
' X',t111,
'X',/,t2,110(
'X'),/)
506 9121
FORMAT (
' X Number of LOGICAL RECORDS: READ/WRITTEN/RENAMED/', &
507 &
'SUPPRESSED since Opening = ',i6,3(
' /',i6), &
508 & t111,
'X',/,
' X',t111,
'X',/,t2,110(
'X'),/)
513 #include "lficom2.ixm.h" 514 #include "lficom2.ixnims.h" 515 #include "lficom2.llmoer.h" 530 INTEGER (KIND=JPLIKB) KRANG
536 & (lfi, krang, ldapfe)
548 INTEGER (KIND=JPLIKM) KRANG
554 & (lfi, krang, ldapfe)
559 & (lfi, krang, ldapfe)
565 INTEGER (KIND=JPLIKM) KRANG
568 INTEGER (KIND=JPLIKB) IRANG
571 irang = int( krang,
jplikb)
574 & (lfi, irang, ldapfe)
static const char * trim(const char *name, int *n)
integer, parameter jplikb
subroutine lfiist_mt(LFI, KRANG, LDAPFE)
subroutine new_lfi_default()
logical, save lficom_default_init
subroutine lfiist_fort(LFI, KRANG, LDAPFE)
subroutine lfidah_fort(LFI, KDATE, KHEURE)
type(lficom), target, save lficom_default
subroutine lfiems_fort(LFI, KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI)
subroutine lfiist64(KRANG, LDAPFE)
subroutine lfiist(KRANG, LDAPFE)