5 & (lfi, krep, knumer, ldtout )
29 INTEGER (KIND=JPLIKB) KREP, KNUMER, IMDESC, IREP, IRANG
30 INTEGER (KIND=JPLIKB) INTROU, INBPIR, INBALO
31 INTEGER (KIND=JPLIKB) INALDO, IFACTM, ILARPH, INALPP
32 INTEGER (KIND=JPLIKB) INTPPI, INPPIM, INIMES, J
33 INTEGER (KIND=JPLIKB) INAGES, IRESER, INUTIL, IPERTE
34 INTEGER (KIND=JPLIKB) IPOSFI, IPOSDE, INEXCE
35 INTEGER (KIND=JPLIKB) INABAL, INALDI, INTROI, INPIMD
36 INTEGER (KIND=JPLIKB) INPIMF, INPILE, JRGPIF
37 INTEGER (KIND=JPLIKB) IRGPFS, IRGPIM, IRANGM, IRPIMS
38 INTEGER (KIND=JPLIKB) INALPI, ILONGA, IRECPI
39 INTEGER (KIND=JPLIKB) IDERPU, IREC, IRETIN
43 CHARACTER(LEN=LFI%JPLSPX) CLNSPR
44 CHARACTER(LEN=LFI%JPLMES) CLMESS
45 CHARACTER(LEN=LFI%JPLFTX) CLACTI
52 REAL(KIND=JPRB) :: ZHOOK_HANDLE
67 & (lfi, lfi%VERRUE(irang),
'ON')
68 introu=lfi%MDES1D(ixm(lfi%JPNTRU,irang))+lfi%NBTROU(irang)
69 inbpir=lfi%MDES1D(ixm(lfi%JPNPIR,irang))
70 inbalo=lfi%MDES1D(ixm(lfi%JPNALO,irang))
72 ifactm=lfi%MFACTM(irang)
73 ilarph=lfi%JPLARD*ifactm
74 inalpp=lfi%JPNAPP*ifactm
75 intppi=(inbalo-1+inalpp)/inalpp
76 inppim=lfi%NPPIMM(irang)
80 WRITE (unit=lfi%NULOUT,fmt=
'(///)')
84 & fmt=
'(''Catalogue de l''''Unite Logique LFI'' & 85 & ,I3,'' dans l''''ordre *PHYSIQUE* (sequentiel) des articles'')') &
88 WRITE (unit=clmess,fmt=
'(''Catalog of LFI Logical Unit'',I3, & 89 & '' in *PHYSICAL* (sequential) record order'')') knumer
95 & (lfi, knumer,inimes,irep,llfata, &
96 & clmess,clnspr,clacti)
107 WRITE (unit=lfi%NULOUT,fmt=
'(//,TR1,I6, & 108 & '' article(s) "physique(s)" de gestion,'',I6, & 109 & '' mots chacun, occupant donc'',I7,'' mots; detail:'', & 110 & /,TR10,''Article documentaire de la position 1 a'',I6,/,TR10,I6, & 111 &'' paire(s) d''''articles d''''index prereserves, de la position'' & 113 & inages,ilarph,ireser,ilarph,inbpir,ilarph+1,ireser
115 WRITE (unit=lfi%NULOUT,fmt=
'(//,TR1,I6, & 116 & '' "physical" records for file handling,'',I6, & 117 & '' words each, occupying then'',I7,'' words; detail:'', & 118 & /,TR10,''Documentary record from position 1 to'',I6,/,TR10,I6, & 119 &'' pair(s) of pre-reserved index records, from position'' & 120 & ,I6,'' to'',I7)') &
121 & inages,ilarph,ireser,ilarph,inbpir,ilarph+1,ireser
124 IF (intppi.LT.inbpir)
THEN 126 iperte=ilarph*inutil*2
129 WRITE (unit=lfi%NULOUT, &
130 & fmt=
'(/,TR10,5(''=''),''> Il y a'',I3, & 131 & '' paire(s) d''''articles d''''index inutilises, representant'', & 132 & I8,'' mots'')') inutil,iperte
134 WRITE (unit=lfi%NULOUT, &
135 & fmt=
'(/,TR10,5(''=''),''> There is (are)'',I3, & 136 & '' pair(s) of unused index records, leading to a loss of'', & 137 & I8,'' words'')') inutil,iperte
140 ELSEIF (intppi.EQ.inbpir)
THEN 143 WRITE (unit=lfi%NULOUT, &
144 & fmt=
'(TR15,5(''-''),TR3,''pas de paire '', & 145 & ''d''''articles d''''index inutilises ni excedentaires'', & 148 WRITE (unit=lfi%NULOUT, &
149 & fmt=
'(TR15,5(''-''),TR3,''no pair of '', & 150 & ''unused or overflow pages'', & 154 ELSEIF (intppi.EQ.(inbpir+1))
THEN 155 iposfi=ilarph*(lfi%MDES1D(ixm(ilarph,irang))+1)
156 iposde=iposfi-2*ilarph+1
159 WRITE (unit=lfi%NULOUT, &
160 & fmt=
'(TR10,''une paire d''''articles '', & 161 & ''d''''index excedentaires, de la position'', & 165 WRITE (unit=lfi%NULOUT, &
166 & fmt=
'(TR10,''one pair of overflow index '', & 167 & ''pages ,from position'', & 176 WRITE (unit=lfi%NULOUT, &
177 & fmt=
'(TR10,I6,'' paires d''''articles '', & 178 & ''d''''index excedentaires, des positions:'')') inexce
181 iposfi=ilarph*(lfi%MDES1D(ixm(ilarph+1-j,irang))+1)
182 iposde=iposfi-2*ilarph+1
183 WRITE (unit=lfi%NULOUT,fmt=
'(TR20,I9,'' a'',I9)') &
188 WRITE (unit=lfi%NULOUT, &
189 & fmt=
'(TR10,I6,'' pairs of overflow index '', & 190 & ''pages, from positions:'')') inexce
193 iposfi=ilarph*(lfi%MDES1D(ixm(ilarph+1-j,irang))+1)
194 iposde=iposfi-2*ilarph+1
195 WRITE (unit=lfi%NULOUT,fmt=
'(TR20,I9,'' to'',I9)') &
205 WRITE (unit=lfi%NULOUT,fmt=
'(//)')
213 IF (inbalo.EQ.0)
THEN 214 WRITE (unit=lfi%NULOUT, &
215 & fmt=
'(/,TR10,5(''=''),''> L''''unite logique'', & 216 & I3,'' ne contient AUCUN ARTICLE LOGIQUE (ni donnees, ni trous)'', & 219 ELSEIF (inbalo.EQ.introu)
THEN 220 WRITE (unit=lfi%NULOUT, &
221 & fmt=
'(/,TR10,5(''=''),''> L''''unite logique'', & 222 & I3,'' ne contient QUE DES TROUS, pas de donnees)'',//)') knumer
223 IF (.NOT.ldtout)
GOTO 1001
228 IF (inbalo.EQ.0)
THEN 229 WRITE (unit=lfi%NULOUT, &
230 & fmt=
'(/,TR10,5(''=''),''> The logical unit'',I3, & 231 & '' contains NO LOGICAL RECORD AT ALL (neither data, nor holes)'', & 234 ELSEIF (inbalo.EQ.introu)
THEN 235 WRITE (unit=lfi%NULOUT, &
236 & fmt=
'(/,TR10,5(''=''),''> The logical unit'',I3, & 237 & '' contains ONLY HOLES, no dat)'',//)') knumer
238 IF (.NOT.ldtout)
GOTO 1001
251 IF (lfi%NPODPI(irang).EQ.2) inpimd=3
252 IF (lfi%NPODPI(irang).EQ.inppim) inpimf=inppim-1
261 IF (jrgpif.EQ.intppi)
THEN 262 irgpim=lfi%MRGPIM(lfi%NPODPI(irang),irang)
265 ELSEIF (jrgpif.NE.1)
THEN 270 irgpim=lfi%MRGPIM(j,irang)
272 IF (lfi%MRGPIF(irgpim).EQ.jrgpif)
THEN 274 IF (.NOT.lfi%LPHASP(irgpim))
THEN 277 & (lfi, irep,irang,irgpim,iretin)
279 IF (iretin.EQ.1)
THEN 281 ELSEIF (iretin.EQ.2)
THEN 283 ELSEIF (iretin.NE.0)
THEN 298 & (lfi, irep,irang,irangm,irgpim,jrgpif,irgpfs, &
301 IF (iretin.EQ.1)
THEN 303 ELSEIF (iretin.EQ.2)
THEN 305 ELSEIF (iretin.NE.0)
THEN 307 ELSEIF (irangm.GT.inppim)
THEN 313 irgpim=lfi%MRGPIM(1,irang)
319 IF (irgpfs.EQ.intppi)
THEN 320 irpims=lfi%MRGPIM(lfi%NPODPI(irang),irang)
327 irpims=lfi%MRGPIM(j,irang)
329 IF (lfi%MRGPIF(irpims).EQ.irgpfs)
THEN 331 IF (.NOT.lfi%LPHASP(irpims))
THEN 334 & (lfi, irep,irang,irpims,iretin)
336 IF (iretin.EQ.1)
THEN 338 ELSEIF (iretin.EQ.2)
THEN 340 ELSEIF (iretin.NE.0)
THEN 355 & (lfi, irep,irang,irangm,irpims,irgpfs,jrgpif, &
358 IF (iretin.EQ.1)
THEN 360 ELSEIF (iretin.EQ.2)
THEN 362 ELSEIF (iretin.NE.0)
THEN 364 ELSEIF (irangm.GT.inppim)
THEN 372 inalpi=min(inalpp,inbalo-inabal)
378 IF (lfi%CNOMAR(ixc(j,irgpim)).NE.
' ')
THEN 387 ilonga=lfi%MLGPOS(ixm(2*j-1,irgpim))
388 iposde=lfi%MLGPOS(ixm(2*j ,irgpim))
389 iposfi=iposde+ilonga-1
391 IF (j.EQ.1.AND.jrgpif.GT.inbpir)
THEN 397 irecpi=lfi%MDES1D(ixm(ilarph+1-(jrgpif-inbpir),irang))
398 iderpu=ilarph*(irecpi-1)
400 ELSEIF (j.EQ.inalpi.AND.jrgpif.EQ.intppi)
THEN 408 imdesc=lfi%MDES1D(ixm(lfi%JPNAPH,irang))
409 irec=max(1+(iposfi-1)/ilarph,imdesc)
415 ELSEIF (j.NE.inalpp)
THEN 420 iderpu=lfi%MLGPOS(ixm(2*j+2,irgpim))-1
427 iderpu=lfi%MLGPOS(ixm(2_jplikb ,irpims))-1
430 IF (iderpu.EQ.iposfi)
THEN 433 WRITE (unit=lfi%NULOUT, &
434 & fmt=
'(I7,''-eme article de donnees: "'',A, & 435 & ''",'',I7,'' mots, position'',I9,'' a'',I9)') &
436 & inaldi,lfi%CNOMAR(ixc(j,irgpim)),ilonga,iposde,iposfi
438 WRITE (unit=lfi%NULOUT, &
439 & fmt=
'(I7,''-th data record: "'',A,''",'',I7, & 440 & '' words, position'',I9,'' to'',I9)') &
441 & inaldi,lfi%CNOMAR(ixc(j,irgpim)),ilonga,iposde,iposfi
449 WRITE (unit=lfi%NULOUT, &
450 & fmt=
'(I7,''-eme article de donnees: "'',A, & 451 & ''",'',I7,'' mots, position'',I9,'' a'',I9,'' <'',SP, & 453 & inaldi,lfi%CNOMAR(ixc(j,irgpim)),ilonga,iposde, &
454 & iposfi,iderpu-iposfi
456 WRITE (unit=lfi%NULOUT, &
457 & fmt=
'(I7,''-th data record: '''''',A, & 458 & '''''','',I7,'' words, position'',I9,'' to'',I9,'' <'', & 460 & inaldi,lfi%CNOMAR(ixc(j,irgpim)),ilonga,iposde, &
461 & iposfi,iderpu-iposfi
468 ilonga=lfi%MLGPOS(ixm(2*j-1,irgpim))
469 iposde=lfi%MLGPOS(ixm(2*j ,irgpim))
470 iposfi=iposde+ilonga-1
473 WRITE (unit=lfi%NULOUT,fmt=
'(TR1,5(''=''),''>'',T10,I6, & 474 & ''-eme TROU repertorie dans l''''index, longueur reutilisable:'', & 475 & I7,'' mots, position'',I9,'' a'',I9)') &
476 & introi,ilonga,iposde,iposfi
478 WRITE (unit=lfi%NULOUT,fmt=
'(TR1,5(''=''),''>'',T10,I6, & 479 & ''-th HOLE cataloged within index, re-usable length:'', & 480 & I7,'' words, position'',I9,'' to'',I9)') &
481 & introi,ilonga,iposde,iposfi
497 WRITE (unit=lfi%NULOUT,fmt=
'(//,T5,8(''-''),TR3,I7, & 498 & '' articles logiques de donnees et'',I6, & 499 & '' trous repertories listes'',TR3,8(''-''),//)') &
502 WRITE (unit=lfi%NULOUT,fmt=
'(//,T5,8(''-''),TR3,I7, & 503 & '' articles logiques de donnees listes'',TR3,8(''-''),//)') &
510 WRITE (unit=lfi%NULOUT,fmt=
'(//,T5,8(''-''),TR3,I7, & 511 & '' logical records of data and'',I6, & 512 & '' holes within index listed'',TR3,8(''-''),//)') &
515 WRITE (unit=lfi%NULOUT,fmt=
'(//,T5,8(''-''),TR3,I7, & 516 & '' logical records of data listed'',TR3,8(''-''),//)') &
522 IF (inaldi.EQ.inaldo.AND.(.NOT.ldtout.OR.introi.EQ.introu))
THEN 525 WRITE (unit=clmess,fmt= &
526 &
'(''Fin du catalogue de l''''Unite Logique'',I3,'' ---'',I7, & 527 & '' Articles logiques en tout'')') knumer,inbalo
529 WRITE (unit=clmess,fmt= &
530 &
'(''End of catalog of Logical Unit'',I3,'' ---'',I7, & 531 & '' logical Records for whole file'')') knumer,inbalo
535 & (lfi, knumer,inimes,irep,llfata, &
536 & clmess,clnspr,clacti)
537 WRITE (unit=lfi%NULOUT,fmt=
'(///)')
566 llfata=llmoer(irep,irang)
570 lfi%NDERCO(irang)=irep
572 & (lfi, lfi%VERRUE(irang),
'OFF')
575 IF (llfata.OR.ixnims(irang).EQ.2)
THEN 582 WRITE (unit=clmess,fmt=
'(''KREP='',I4,'', KNUMER='',I3, & 583 & '', LDTOUT= '',L1)') krep,knumer,ldtout
585 & (lfi, knumer,inimes,irep,llfata, &
586 & clmess,clnspr,clacti)
592 #include "lficom2.ixc.h" 593 #include "lficom2.ixm.h" 594 #include "lficom2.ixnims.h" 595 #include "lficom2.llmoer.h" 603 & (krep, knumer, ldtout)
610 INTEGER (KIND=JPLIKB) KREP
611 INTEGER (KIND=JPLIKB) KNUMER
617 & (lfi, krep, knumer, ldtout)
622 & (krep, knumer, ldtout)
629 INTEGER (KIND=JPLIKM) KREP
630 INTEGER (KIND=JPLIKM) KNUMER
636 & (lfi, krep, knumer, ldtout)
641 & (lfi, krep, knumer, ldtout)
647 INTEGER (KIND=JPLIKM) KREP
648 INTEGER (KIND=JPLIKM) KNUMER
651 INTEGER (KIND=JPLIKB) IREP
652 INTEGER (KIND=JPLIKB) INUMER
655 inumer = int( knumer,
jplikb)
658 & (lfi, irep, inumer, ldtout)
integer, parameter jplikb
subroutine lfilaf64(KREP, KNUMER, LDTOUT)
subroutine lfilaf_mt(LFI, KREP, KNUMER, LDTOUT)
subroutine new_lfi_default()
logical, save lficom_default_init
subroutine lfinum_fort(LFI, KNUMER, KRANG)
subroutine lfiver_fort(LFI, PVEROU, CDSENS)
subroutine lfilaf_fort(LFI, KREP, KNUMER, LDTOUT)
type(lficom), target, save lficom_default
subroutine lfipha_fort(LFI, KREP, KRANG, KRGPIM, KRETIN)
integer, parameter jplikm
subroutine lfiems_fort(LFI, KNUMER, KNIMES, KCODE, LDFATA, CDMESS, CDNSPR, CDACTI)
subroutine lfilaf(KREP, KNUMER, LDTOUT)
subroutine lfipim_fort(LFI, KREP, KRANG, KRANGM, KRGPIM, KRGPIF, KRGFOR, KNPILE, KRETIN)