1 subroutine sflise ( numlig, seg, seglig,
2 > ulsort, langue, codret)
3 c ______________________________________________________________________
7 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
9 c Version originale enregistree le 18 juin 1996 sous le numero 96036
10 c aupres des huissiers de justice Simart et Lavoir a Clamart
11 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
12 c aupres des huissiers de justice
13 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
15 c HOMARD est une marque deposee d'Electricite de France
21 c ______________________________________________________________________
23 c Suivi de Frontiere - LIgne d'appartenance d'un SEgment
25 c ______________________________________________________________________
27 c but : retourner le numero de la ligne d'apres le numero du segment
28 c ______________________________________________________________________
30 c . nom . e/s . taille . description .
31 c .____________________________________________________________________.
32 c . numlig . s . 1 . numero de la ligne du segment .
33 c . seg . e . 1 . numero du segment .
34 c . seglig . e .0:sfnbli. pointeur dans le tableau somseg : les .
35 c . . . . segments de la ligne i sont aux places de .
36 c . . . . seglig(i-1)+1 a seglig(i)-1 inclus .
37 c . ulsort . e . 1 . numero d'unite logique de la liste standard.
38 c . langue . e . 1 . langue des messages .
39 c . . . . 1 : francais, 2 : anglais .
40 c . codret . es . 1 . code de retour des modules .
41 c . . . . 0 : pas de probleme .
42 c . . . . 1 : le numero de segment est negatif ou nul.
43 c . . . . 2 : le numero de segment est trop grand .
44 c ______________________________________________________________________
47 c 0. declarations et dimensionnement
50 c 0.1. ==> generalites
56 parameter ( nompro = 'SFLISE' )
68 integer numlig, seg, seglig(0:sfnbli)
70 integer ulsort, langue, codret
72 c 0.4. ==> variables locales
77 parameter ( nbmess = 10 )
78 character*80 texte(nblang,nbmess)
80 c 0.5. ==> initialisations
81 c ______________________________________________________________________
90 write (ulsort,texte(langue,1)) 'Entree', nompro
94 texte(1,4) = '(''Nombre de lignes :'',i5)'
95 texte(1,5) = '(''Premier segment :'',i5)'
96 texte(1,6) = '(''Dernier segment :'',i5)'
97 texte(1,7) = '(''Segment recherche :'',i5)'
99 > '(''Le numero du segment recherche est negatif ou nul.'')'
101 > '(''Le numero du segment recherche est trop grand.'')'
103 texte(2,4) = '(''Number of lines :'',i5)'
104 texte(2,5) = '(''First segment :'',i5)'
105 texte(2,6) = '(''Last segment :'',i5)'
106 texte(2,7) = '(''Requested segment :'',i5)'
107 texte(2,8) = '(''Requested segment # is negative or null.'')'
108 texte(2,9) = '(''Requested segment # is too high.'')'
112 #ifdef _DEBUG_HOMARD_
113 write (ulsort,texte(langue,4)) sfnbli
114 write (ulsort,texte(langue,5)) seglig(0)
115 write (ulsort,texte(langue,6)) seglig(sfnbli)
116 write (ulsort,texte(langue,7)) seg
117 write (ulsort,1789) ( seglig(iaux) , iaux = 1 , sfnbli)
125 c 2.1. ==> controle preliminaire
131 elseif ( seg.gt.seglig(sfnbli) ) then
139 do 22 , iaux = 1 , sfnbli
141 if ( seg.le.seglig(iaux) ) then
156 if ( codret.ne.0 ) then
160 write (ulsort,texte(langue,4)) sfnbli
161 write (ulsort,texte(langue,5)) seglig(0)+1
162 write (ulsort,texte(langue,6)) seglig(sfnbli)
163 write (ulsort,texte(langue,7)) seg
164 write (ulsort,texte(langue,7+codret))
165 write (ulsort,texte(langue,1)) 'Sortie', nompro
166 write (ulsort,texte(langue,2)) codret
170 #ifdef _DEBUG_HOMARD_
171 write (ulsort,texte(langue,1)) 'Sortie', nompro