Salome HOME
Homard executable
[modules/homard.git] / src / tool / Creation_Maillage / cmcdhe.F
1       subroutine cmcdhe ( indnoe, indare, indtet, indpyr, indhex,
2      >                    coonoe, hetnoe, arenoe,
3      >                    famnoe,
4      >                    hetare, somare,
5      >                    filare, merare, famare,
6      >                    aretri,
7      >                    arequa, filqua,
8      >                    hettet, aretet,
9      >                    filtet, pertet, famtet,
10      >                    pthepe,
11      >                    hetpyr, arepyr,
12      >                    filpyr, perpyr, fampyr,
13      >                    pphepe,
14      >                    hethex, arehex,
15      >                    filhex, fhpyte, perhex,
16      >                    famhex, cfahex,
17      >                    quahex, coquhe,
18      >                    ulsort, langue, codret )
19 c ______________________________________________________________________
20 c
21 c                             H O M A R D
22 c
23 c Outil de Maillage Adaptatif par Raffinement et Deraffinement d'EDF R&D
24 c
25 c Version originale enregistree le 18 juin 1996 sous le numero 96036
26 c aupres des huissiers de justice Simart et Lavoir a Clamart
27 c Version 11.2 enregistree le 13 fevrier 2015 sous le numero 2015/014
28 c aupres des huissiers de justice
29 c Lavoir, Silinski & Cherqui-Abrahmi a Clamart
30 c
31 c    HOMARD est une marque deposee d'Electricite de France
32 c
33 c Copyright EDF 1996
34 c Copyright EDF 1998
35 c Copyright EDF 2002
36 c Copyright EDF 2020
37 c ______________________________________________________________________
38 c
39 c    Creation du Maillage - Conformite - Decoupage des HExaedres
40 c    -           -          -            -             --
41 c ______________________________________________________________________
42 c
43 c but : decoupage des hexaedres pour mise en conformite
44 c       remarque : description des fils par leurs aretes
45 c ______________________________________________________________________
46 c .        .     .        .                                            .
47 c .  nom   . e/s . taille .           description                      .
48 c .____________________________________________________________________.
49 c . indnoe . es  .   1    . indice du dernier noeud cree               .
50 c . indare . es  .   1    . indice de la derniere arete creee          .
51 c . indtet . es  .   1    . indice du dernier tetraedre cree           .
52 c . indpyr . es  .   1    . indice de la derniere pyramide creee       .
53 c . indhex . es  .   1    . indice du dernier hexaedre cree            .
54 c . coonoe . es  .nouvno*3. coordonnees des noeuds                     .
55 c . hetnoe . es  . nouvno . historique de l'etat des noeuds            .
56 c . arenoe . es  . nouvno . arete liee a un nouveau noeud              .
57 c . famnoe . es  . nouvno . famille des noeuds                         .
58 c . hetare . es  . nouvar . historique de l'etat des aretes            .
59 c . somare . es  .2*nouvar. numeros des extremites d'arete             .
60 c . filare . es  . nouvar . premiere fille des aretes                  .
61 c . merare . es  . nouvar . mere des aretes                            .
62 c . famare . es  . nouvar . famille des aretes                         .
63 c . aretri . e   .nouvtr*3. numeros des 3 aretes des triangles         .
64 c . arequa . e   .nouvqu*4. numeros des 4 aretes des quadrangles       .
65 c . filqua . e   . nouvqu . premier fils des quadrangles               .
66 c . hettet . es  . nouvte . historique de l'etat des tetraedres        .
67 c . aretet . es  .nouvta*6. numeros des 6 aretes des tetraedres        .
68 c . filtet . es  . nouvte . premier fils des tetraedres                .
69 c . pertet . es  . nouvte . pere des tetraedres                        .
70 c .        .     .        . si pertet(i) > 0 : numero du tetraedre     .
71 c .        .     .        . si pertet(i) < 0 : -numero dans pthepe     .
72 c . famtet . es  . nouvte . famille des tetraedres                     .
73 c . pthepe . es  .    *   . si i <= nbheco : numero de l'hexaedre      .
74 c .        .     .        . si non : numero du pentaedre               .
75 c . hetpyr . es  . nouvpy . historique de l'etat des pyramides         .
76 c . arepyr . es  .nouvya*8. numeros des 8 aretes des pyramides         .
77 c . filpyr . es  . nouvpy . premier fils des pyramides                 .
78 c . perpyr . es  . nouvpy . pere des pyramides                         .
79 c .        .     .        . si perpyr(i) > 0 : numero de la pyramide   .
80 c .        .     .        . si perpyr(i) < 0 : -numero dans pphepe     .
81 c . fampyr . es  . nouvpy . famille des pyramides                      .
82 c . pphepe . es  .    *   . si i <= nbheco : numero de l'hexaedre      .
83 c .        .     .        . si non : numero du pentaedre               .
84 c . quahex . e   .nouvhf*6. numeros des 6 quadrangles des hexaedres    .
85 c . coquhe . e   .nouvhf*6. codes des 6 quadrangles des hexaedres      .
86 c . arehex . es  .nouvha12. numeros des 12 aretes des hexaedres        .
87 c . hethex . es  . nouvhe . historique de l'etat des hexaedres         .
88 c . perhex . es  . nouvhe . pere des hexaedres                         .
89 c . filhex . es  . nouvhe . premier fils des hexaedres                 .
90 c . fhpyte . es  .2*nbheco. fhpyte(1,j) = numero de la 1ere pyramide   .
91 c .        .     .        . fille de l'hexaedre k tel que filhex(k) =-j.
92 c .        .     .        . fhpyte(2,j) = numero du 1er tetraedre      .
93 c .        .     .        . fils de l'hexaedre k tel que filhex(k) = -j.
94 c . famhex . es  . nouvhe . famille des hexaedres                      .
95 c . ulsort . e   .   1    . unite logique de la sortie generale        .
96 c . langue . e   .    1   . langue des messages                        .
97 c .        .     .        . 1 : francais, 2 : anglais                  .
98 c . codret . es  .    1   . code de retour des modules                 .
99 c ______________________________________________________________________
100 c
101 c====
102 c 0. declarations et dimensionnement
103 c====
104 c
105 c 0.1. ==> generalites
106 c
107       implicit none
108       save
109 c
110       character*6 nompro
111       parameter ( nompro = 'CMCDHE' )
112 c
113 #include "nblang.h"
114 c
115 c 0.2. ==> communs
116 c
117 #include "envex1.h"
118 c
119 #include "envca1.h"
120 #include "dicfen.h"
121 #include "nbfami.h"
122 #include "nouvnb.h"
123 #include "nombhe.h"
124 #include "hexcf0.h"
125 #include "hexcf1.h"
126 #include "ope002.h"
127 c
128 c 0.3. ==> arguments
129 c
130       integer indnoe, indare, indtet, indpyr, indhex
131       integer hetnoe(nouvno), arenoe(nouvno)
132       integer famnoe(nouvno)
133       integer hetare(nouvar), somare(2,nouvar)
134       integer filare(nouvar), merare(nouvar), famare(nouvar)
135       integer aretri(nouvtr,3)
136       integer arequa(nouvqu,4)
137       integer filqua(nouvqu)
138       integer hettet(nouvte), aretet(nouvta,6)
139       integer filtet(nouvte), pertet(nouvte), famtet(nouvte)
140       integer pthepe(*)
141       integer hetpyr(nouvpy), arepyr(nouvya,8)
142       integer filpyr(nouvpy), perpyr(nouvpy), fampyr(nouvpy)
143       integer quahex(nouvhf,6), coquhe(nouvhf,6), arehex(nouvha,12)
144       integer pphepe(*)
145       integer hethex(nouvhe)
146       integer filhex(nouvhe), perhex(nouvhe), fhpyte(2,nbheco)
147       integer cfahex(nctfhe,nbfhex), famhex(nouvhe)
148 c
149       double precision coonoe(nouvno,sdim)
150 c
151       integer ulsort, langue, codret
152 c
153 c 0.4. ==> variables locales
154 c
155 #include "hexcf3.h"
156 c
157       integer iaux
158       integer decbin, decbrf
159       integer lehexa, lehexo
160       integer nbfihe
161       integer listso(8), listar(12)
162 c
163       integer nbmess
164       parameter ( nbmess = 10 )
165       character*80 texte(nblang,nbmess)
166 c
167 c 0.5. ==> initialisations
168 c ______________________________________________________________________
169 c
170 c====
171 c 1. intialisations
172 c====
173 c 1.1. ==> messages
174 c
175 #include "impr01.h"
176 c
177 #ifdef _DEBUG_HOMARD_
178       write (ulsort,texte(langue,1)) 'Entree', nompro
179       call dmflsh (iaux)
180 #endif
181 c
182       texte(1,4) = '(''Code binaire du decoupage     :'',i5)'
183       texte(1,5) = '(''==> Code binaire de reference :'',i5)'
184       texte(1,6) = '(''Permutation :'',i5)'
185       texte(1,7) = '(''Nouvel etat de l''''hexaedre :'',i5)'
186 c
187       texte(2,4) = '(''Binary code for the cutting:'',i5)'
188       texte(2,5) = '(''==> reference binary code  :'',i5)'
189       texte(2,6) = '(''Permutation:'',i5)'
190       texte(2,7) = '(''New status for the hexahedron:'',i5)'
191 c
192 #include "impr03.h"
193 #include "impr04.h"
194 c
195 c 1.2. ==> variables de travail
196 c
197       codret = 0
198 c
199       nbfihe = 0
200 c
201 #include "hexcf2.h"
202 c
203 c Parcours des hexaedres actifs
204 c
205       do 200 , lehexo = 1 , permhe
206 c
207         lehexa = lehexo
208 c
209         if ( codret.eq.0 ) then
210 c
211 cgn        write(ulsort,90015) 'hethex(', lehexa,') =',hethex(lehexa)
212 c
213         if ( mod(hethex(lehexa),1000).eq.0 ) then
214 cgn      if ( lehexa.le.-12 ) then
215 cgn       write(ulsort,90002) 'faces', (quahex(lehexa,iaux),iaux=1,6)
216 cgn       write(ulsort,90002) 'codes', (coquhe(lehexa,iaux),iaux=1,6)
217 cgn      endif
218 c
219 c====
220 c 2. Recherche des etats des aretes de l'hexaedre
221 c====
222 c
223 #ifdef _DEBUG_HOMARD_
224           write (ulsort,texte(langue,3)) 'UTARHE', nompro
225 #endif
226           call utarhe ( lehexa,
227      >                  nouvqu, nouvhf,
228      >                  arequa, quahex, coquhe,
229      >                  listar )
230 c
231           decbin = 0
232           do 21 , iaux = 1, 12
233 cgn      write(ulsort,90015) 'hetare(',listar(iaux), ') =',
234 cgn     >                    hetare(listar(iaux))
235             if ( mod(hetare(listar(iaux)),10).eq.2 .or.
236      >           mod(hetare(listar(iaux)),10).eq.9 ) then
237               decbin = decbin + 2**(iaux-1)
238             endif
239    21     continue
240 c
241           decbrf = chbirf(decbin)
242 c
243           if ( decbrf.gt.0 .and. decbrf.lt.4095 ) then
244 c
245 #ifdef _DEBUG_HOMARD_
246       if ( lehexa.le.-12 ) then
247         write (ulsort,texte(langue,4)) decbin
248         write (ulsort,texte(langue,5)) decbrf
249         write (ulsort,texte(langue,6)) chperm(decbin)
250       endif
251 #endif
252 cgn       write(15,*) 'Classe', chclas(decbin)
253 c
254 c====
255 c 3. Les numeros globaux apres permutation
256 c====
257 c
258 #ifdef _DEBUG_HOMARD_
259       write (ulsort,texte(langue,3)) 'UTSOHE', nompro
260 #endif
261           call utsohe ( somare, listar, listso )
262 c
263 #include "hexcf4.h"
264 c
265 c====
266 c 4. L'etat final de l'hexaedre
267 c====
268 c
269           hethex(lehexa) = hethex(lehexa) + chetat(decbin)
270 #ifdef _DEBUG_HOMARD_
271       if ( lehexa.le.-12 ) then
272           write (ulsort,texte(langue,7)) hethex(lehexa)
273       endif
274 #endif
275 c
276 c====
277 c 5. La filiation : avec ou sans hexaedres ?
278 c====
279 c
280 cgn          write(ulsort,*) 'chnhe(',decbin,')=',chnhe(decbin)
281           if ( chnhe(decbin).gt.0 ) then
282 c
283             filhex(lehexa) = indhex + 1
284 c
285           else
286 c
287             nbfihe = nbfihe + 1
288             filhex(lehexa) = -nbfihe
289 cgn            write(ulsort,90002)'nbfihe ',nbfihe
290 c
291             fhpyte(1,nbfihe) = 0
292             fhpyte(2,nbfihe) = 0
293 c
294             if ( nouvpy.ne.0 ) then
295               pphepe(nbfihe) = lehexa
296               if ( chnpy(decbin).gt.0 ) then
297                 fhpyte(1,nbfihe) = indpyr + 1
298               endif
299             endif
300 c
301             if ( nouvte.ne.0 ) then
302               pthepe(nbfihe) = lehexa
303               if ( chnte(decbin).gt.0 ) then
304                 fhpyte(2,nbfihe) = indtet + 1
305               endif
306             endif
307 c
308 #ifdef _DEBUG_HOMARD_
309           write(ulsort,90002)'nbfihe',nbfihe
310           write(ulsort,90002)'fhpyte',fhpyte(1,nbfihe),fhpyte(2,nbfihe)
311 #endif
312 c
313           endif
314 c
315 c====
316 c 6. Parcours des differents modes de decoupage
317 c====
318 c
319 c 6.1 ==> Classe 1/00
320 c
321       if ( decbrf.eq.1) then
322 #ifdef _DEBUG_HOMARD_
323         write (ulsort,texte(langue,3)) 'CMH100', nompro
324 #endif
325         call cmh100 ( lehexa,
326      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
327      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
328      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
329      >              coonoe, hetnoe, arenoe,
330      >              famnoe,
331      >              hetare, somare,
332      >              filare, merare, famare,
333      >              aretri,
334      >              arequa, filqua,
335      >              hettet, aretet,
336      >              filtet, pertet, famtet,
337      >              hetpyr, arepyr,
338      >              filpyr, perpyr, fampyr,
339      >              hethex, arehex,
340      >              filhex, perhex, famhex,
341      >              cfahex,
342      >              ulsort, langue, codret )
343 c
344 c 6.2 ==> Classe 2/00
345 c
346       elseif ( decbrf.eq.65) then
347 #ifdef _DEBUG_HOMARD_
348         write (ulsort,texte(langue,3)) 'CMH200', nompro
349 #endif
350         call cmh200 ( lehexa,
351      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
352      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
353      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
354      >              coonoe, hetnoe, arenoe,
355      >              famnoe,
356      >              hetare, somare,
357      >              filare, merare, famare,
358      >              aretri,
359      >              arequa, filqua,
360      >              hettet, aretet,
361      >              filtet, pertet, famtet,
362      >              hetpyr, arepyr,
363      >              filpyr, perpyr, fampyr,
364      >              hethex, arehex,
365      >              filhex, perhex, famhex,
366      >              cfahex,
367      >              ulsort, langue, codret )
368 c
369 c 6.3 ==> Classe 2/01
370 c
371       elseif ( decbrf.eq.129) then
372 #ifdef _DEBUG_HOMARD_
373         write (ulsort,texte(langue,3)) 'CMH201', nompro
374 #endif
375         call cmh201 ( lehexa,
376      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
377      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
378      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
379      >              coonoe, hetnoe, arenoe,
380      >              famnoe,
381      >              hetare, somare,
382      >              filare, merare, famare,
383      >              aretri,
384      >              arequa, filqua,
385      >              hettet, aretet,
386      >              filtet, pertet, famtet,
387      >              hetpyr, arepyr,
388      >              filpyr, perpyr, fampyr,
389      >              hethex, arehex,
390      >              filhex, perhex, famhex,
391      >              cfahex,
392      >              ulsort, langue, codret )
393 c
394 c 6.4 ==> Classe 2/02
395 c
396       elseif ( decbrf.eq.2049) then
397 #ifdef _DEBUG_HOMARD_
398         write (ulsort,texte(langue,3)) 'CMH202', nompro
399 #endif
400         call cmh202 ( lehexa,
401      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
402      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
403      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
404      >              coonoe, hetnoe, arenoe,
405      >              famnoe,
406      >              hetare, somare,
407      >              filare, merare, famare,
408      >              aretri,
409      >              arequa, filqua,
410      >              hettet, aretet,
411      >              filtet, pertet, famtet,
412      >              hetpyr, arepyr,
413      >              filpyr, perpyr, fampyr,
414      >              hethex, arehex,
415      >              filhex, perhex, famhex,
416      >              cfahex,
417      >              ulsort, langue, codret )
418 c
419 c 6.5 ==> Classe 2/03
420 c
421       elseif ( decbrf.eq.3) then
422 #ifdef _DEBUG_HOMARD_
423         write (ulsort,texte(langue,3)) 'CMH203', nompro
424 #endif
425         call cmh203 ( lehexa,
426      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
427      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
428      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
429      >              coonoe, hetnoe, arenoe,
430      >              famnoe,
431      >              hetare, somare,
432      >              filare, merare, famare,
433      >              aretri,
434      >              arequa, filqua,
435      >              hettet, aretet,
436      >              filtet, pertet, famtet,
437      >              hetpyr, arepyr,
438      >              filpyr, perpyr, fampyr,
439      >              hethex, arehex,
440      >              filhex, perhex, famhex,
441      >              cfahex,
442      >              ulsort, langue, codret )
443 c
444 c 6.6 ==> Classe 2/04
445 c
446       elseif ( decbrf.eq.9) then
447 #ifdef _DEBUG_HOMARD_
448         write (ulsort,texte(langue,3)) 'CMH204', nompro
449 #endif
450         call cmh204 ( lehexa,
451      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
452      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
453      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
454      >              coonoe, hetnoe, arenoe,
455      >              famnoe,
456      >              hetare, somare,
457      >              filare, merare, famare,
458      >              aretri,
459      >              arequa, filqua,
460      >              hettet, aretet,
461      >              filtet, pertet, famtet,
462      >              hetpyr, arepyr,
463      >              filpyr, perpyr, fampyr,
464      >              hethex, arehex,
465      >              filhex, perhex, famhex,
466      >              cfahex,
467      >              ulsort, langue, codret )
468 c
469 c 6.7 ==> Classe 3/00
470 c
471       elseif ( decbrf.eq.1089) then
472 #ifdef _DEBUG_HOMARD_
473         write (ulsort,texte(langue,3)) 'CMH300', nompro
474 #endif
475         call cmh300 ( lehexa,
476      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
477      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
478      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
479      >              coonoe, hetnoe, arenoe,
480      >              famnoe,
481      >              hetare, somare,
482      >              filare, merare, famare,
483      >              aretri,
484      >              arequa, filqua,
485      >              hettet, aretet,
486      >              filtet, pertet, famtet,
487      >              hetpyr, arepyr,
488      >              filpyr, perpyr, fampyr,
489      >              hethex, arehex,
490      >              filhex, perhex, famhex,
491      >              cfahex,
492      >              ulsort, langue, codret )
493 c
494 c 6.8 ==> Classe 3/01
495 c
496       elseif ( decbrf.eq.641) then
497 #ifdef _DEBUG_HOMARD_
498         write (ulsort,texte(langue,3)) 'CMH301', nompro
499 #endif
500         call cmh301 ( lehexa,
501      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
502      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
503      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
504      >              coonoe, hetnoe, arenoe,
505      >              famnoe,
506      >              hetare, somare,
507      >              filare, merare, famare,
508      >              aretri,
509      >              arequa, filqua,
510      >              hettet, aretet,
511      >              filtet, pertet, famtet,
512      >              hetpyr, arepyr,
513      >              filpyr, perpyr, fampyr,
514      >              hethex, arehex,
515      >              filhex, perhex, famhex,
516      >              cfahex,
517      >              ulsort, langue, codret )
518 c
519 c 6.9 ==> Classe 3/02
520 c
521       elseif ( decbrf.eq.19) then
522 #ifdef _DEBUG_HOMARD_
523         write (ulsort,texte(langue,3)) 'CMH302', nompro
524 #endif
525         call cmh302 ( lehexa,
526      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
527      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
528      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
529      >              coonoe, hetnoe, arenoe,
530      >              famnoe,
531      >              hetare, somare,
532      >              filare, merare, famare,
533      >              aretri,
534      >              arequa, filqua,
535      >              hettet, aretet,
536      >              filtet, pertet, famtet,
537      >              hetpyr, arepyr,
538      >              filpyr, perpyr, fampyr,
539      >              hethex, arehex,
540      >              filhex, perhex, famhex,
541      >              cfahex,
542      >              ulsort, langue, codret )
543 c
544 c 6.10 ==> Classe 3/03
545 c
546       elseif ( decbrf.eq.259) then
547 #ifdef _DEBUG_HOMARD_
548         write (ulsort,texte(langue,3)) 'CMH303', nompro
549 #endif
550         call cmh303 ( lehexa,
551      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
552      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
553      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
554      >              coonoe, hetnoe, arenoe,
555      >              famnoe,
556      >              hetare, somare,
557      >              filare, merare, famare,
558      >              aretri,
559      >              arequa, filqua,
560      >              hettet, aretet,
561      >              filtet, pertet, famtet,
562      >              hetpyr, arepyr,
563      >              filpyr, perpyr, fampyr,
564      >              hethex, arehex,
565      >              filhex, perhex, famhex,
566      >              cfahex,
567      >              ulsort, langue, codret )
568 c
569 c 6.11 ==> Classe 3/04
570 c
571       elseif ( decbrf.eq.515) then
572 #ifdef _DEBUG_HOMARD_
573         write (ulsort,texte(langue,3)) 'CMH304', nompro
574 #endif
575         call cmh304 ( lehexa,
576      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
577      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
578      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
579      >              coonoe, hetnoe, arenoe,
580      >              famnoe,
581      >              hetare, somare,
582      >              filare, merare, famare,
583      >              aretri,
584      >              arequa, filqua,
585      >              hettet, aretet,
586      >              filtet, pertet, famtet,
587      >              hetpyr, arepyr,
588      >              filpyr, perpyr, fampyr,
589      >              hethex, arehex,
590      >              filhex, perhex, famhex,
591      >              cfahex,
592      >              ulsort, langue, codret )
593 c
594 c 6.12 ==> Classe 3/05
595 c
596       elseif ( decbrf.eq.1027) then
597 #ifdef _DEBUG_HOMARD_
598         write (ulsort,texte(langue,3)) 'CMH305', nompro
599 #endif
600         call cmh305 ( lehexa,
601      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
602      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
603      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
604      >              coonoe, hetnoe, arenoe,
605      >              famnoe,
606      >              hetare, somare,
607      >              filare, merare, famare,
608      >              aretri,
609      >              arequa, filqua,
610      >              hettet, aretet,
611      >              filtet, pertet, famtet,
612      >              hetpyr, arepyr,
613      >              filpyr, perpyr, fampyr,
614      >              hethex, arehex,
615      >              filhex, perhex, famhex,
616      >              cfahex,
617      >              ulsort, langue, codret )
618 c
619 c 6.13 ==> Classe 3/06
620 c
621       elseif ( decbrf.eq.2051) then
622 #ifdef _DEBUG_HOMARD_
623         write (ulsort,texte(langue,3)) 'CMH306', nompro
624 #endif
625         call cmh306 ( lehexa,
626      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
627      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
628      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
629      >              coonoe, hetnoe, arenoe,
630      >              famnoe,
631      >              hetare, somare,
632      >              filare, merare, famare,
633      >              aretri,
634      >              arequa, filqua,
635      >              hettet, aretet,
636      >              filtet, pertet, famtet,
637      >              hetpyr, arepyr,
638      >              filpyr, perpyr, fampyr,
639      >              hethex, arehex,
640      >              filhex, perhex, famhex,
641      >              cfahex,
642      >              ulsort, langue, codret )
643 c
644 c 6.14 ==> Classe 3/07
645 c
646       elseif ( decbrf.eq.35) then
647 #ifdef _DEBUG_HOMARD_
648         write (ulsort,texte(langue,3)) 'CMH307', nompro
649 #endif
650         call cmh307 ( lehexa,
651      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
652      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
653      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
654      >              coonoe, hetnoe, arenoe,
655      >              famnoe,
656      >              hetare, somare,
657      >              filare, merare, famare,
658      >              aretri,
659      >              arequa, filqua,
660      >              hettet, aretet,
661      >              filtet, pertet, famtet,
662      >              hetpyr, arepyr,
663      >              filpyr, perpyr, fampyr,
664      >              hethex, arehex,
665      >              filhex, perhex, famhex,
666      >              cfahex,
667      >              ulsort, langue, codret )
668 c
669 c 6.15 ==> Classe 3/08
670 c
671       elseif ( decbrf.eq.67) then
672 #ifdef _DEBUG_HOMARD_
673         write (ulsort,texte(langue,3)) 'CMH308', nompro
674 #endif
675         call cmh308 ( lehexa,
676      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
677      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
678      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
679      >              coonoe, hetnoe, arenoe,
680      >              famnoe,
681      >              hetare, somare,
682      >              filare, merare, famare,
683      >              aretri,
684      >              arequa, filqua,
685      >              hettet, aretet,
686      >              filtet, pertet, famtet,
687      >              hetpyr, arepyr,
688      >              filpyr, perpyr, fampyr,
689      >              hethex, arehex,
690      >              filhex, perhex, famhex,
691      >              cfahex,
692      >              ulsort, langue, codret )
693 c
694 c 6.16 ==> Classe 3/09
695 c
696       elseif ( decbrf.eq.131) then
697 #ifdef _DEBUG_HOMARD_
698         write (ulsort,texte(langue,3)) 'CMH309', nompro
699 #endif
700         call cmh309 ( lehexa,
701      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
702      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
703      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
704      >              coonoe, hetnoe, arenoe,
705      >              famnoe,
706      >              hetare, somare,
707      >              filare, merare, famare,
708      >              aretri,
709      >              arequa, filqua,
710      >              hettet, aretet,
711      >              filtet, pertet, famtet,
712      >              hetpyr, arepyr,
713      >              filpyr, perpyr, fampyr,
714      >              hethex, arehex,
715      >              filhex, perhex, famhex,
716      >              cfahex,
717      >              ulsort, langue, codret )
718 c
719 c 6.17 ==> Classe 3/10
720 c
721       elseif ( decbrf.eq.265) then
722 #ifdef _DEBUG_HOMARD_
723         write (ulsort,texte(langue,3)) 'CMH310', nompro
724 #endif
725         call cmh310 ( lehexa,
726      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
727      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
728      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
729      >              coonoe, hetnoe, arenoe,
730      >              famnoe,
731      >              hetare, somare,
732      >              filare, merare, famare,
733      >              aretri,
734      >              arequa, filqua,
735      >              hettet, aretet,
736      >              filtet, pertet, famtet,
737      >              hetpyr, arepyr,
738      >              filpyr, perpyr, fampyr,
739      >              hethex, arehex,
740      >              filhex, perhex, famhex,
741      >              cfahex,
742      >              ulsort, langue, codret )
743 c
744 c 6.18 ==> Classe 3/11
745 c
746       elseif ( decbrf.eq.521) then
747 #ifdef _DEBUG_HOMARD_
748         write (ulsort,texte(langue,3)) 'CMH311', nompro
749 #endif
750         call cmh311 ( lehexa,
751      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
752      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
753      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
754      >              coonoe, hetnoe, arenoe,
755      >              famnoe,
756      >              hetare, somare,
757      >              filare, merare, famare,
758      >              aretri,
759      >              arequa, filqua,
760      >              hettet, aretet,
761      >              filtet, pertet, famtet,
762      >              hetpyr, arepyr,
763      >              filpyr, perpyr, fampyr,
764      >              hethex, arehex,
765      >              filhex, perhex, famhex,
766      >              cfahex,
767      >              ulsort, langue, codret )
768 c
769 c 6.19 ==> Classe 4/00
770 c
771       elseif ( decbrf.eq.15) then
772 #ifdef _DEBUG_HOMARD_
773         write (ulsort,texte(langue,3)) 'CMH400', nompro
774 #endif
775         call cmh400 ( lehexa,
776      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
777      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
778      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
779      >              coonoe, hetnoe, arenoe,
780      >              famnoe,
781      >              hetare, somare,
782      >              filare, merare, famare,
783      >              aretri,
784      >              arequa, filqua,
785      >              hettet, aretet,
786      >              filtet, pertet, famtet,
787      >              hetpyr, arepyr,
788      >              filpyr, perpyr, fampyr,
789      >              hethex, arehex,
790      >              filhex, perhex, famhex,
791      >              cfahex,
792      >              ulsort, langue, codret )
793 c
794 c 6.20 ==> Classe 4/01
795 c
796       elseif ( decbrf.eq.771) then
797 #ifdef _DEBUG_HOMARD_
798         write (ulsort,texte(langue,3)) 'CMH401', nompro
799 #endif
800         call cmh401 ( lehexa,
801      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
802      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
803      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
804      >              coonoe, hetnoe, arenoe,
805      >              famnoe,
806      >              hetare, somare,
807      >              filare, merare, famare,
808      >              aretri,
809      >              arequa, filqua,
810      >              hettet, aretet,
811      >              filtet, pertet, famtet,
812      >              hetpyr, arepyr,
813      >              filpyr, perpyr, fampyr,
814      >              hethex, arehex,
815      >              filhex, perhex, famhex,
816      >              cfahex,
817      >              ulsort, langue, codret )
818 c
819 c 6.21 ==> Classe 4/02
820 c
821       elseif ( decbrf.eq.1283) then
822 #ifdef _DEBUG_HOMARD_
823         write (ulsort,texte(langue,3)) 'CMH402', nompro
824 #endif
825         call cmh402 ( lehexa,
826      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
827      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
828      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
829      >              coonoe, hetnoe, arenoe,
830      >              famnoe,
831      >              hetare, somare,
832      >              filare, merare, famare,
833      >              aretri,
834      >              arequa, filqua,
835      >              hettet, aretet,
836      >              filtet, pertet, famtet,
837      >              hetpyr, arepyr,
838      >              filpyr, perpyr, fampyr,
839      >              hethex, arehex,
840      >              filhex, perhex, famhex,
841      >              cfahex,
842      >              ulsort, langue, codret )
843 c
844 c 6.22 ==> Classe 4/03
845 c
846       elseif ( decbrf.eq.2563) then
847 #ifdef _DEBUG_HOMARD_
848         write (ulsort,texte(langue,3)) 'CMH403', nompro
849 #endif
850         call cmh403 ( lehexa,
851      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
852      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
853      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
854      >              coonoe, hetnoe, arenoe,
855      >              famnoe,
856      >              hetare, somare,
857      >              filare, merare, famare,
858      >              aretri,
859      >              arequa, filqua,
860      >              hettet, aretet,
861      >              filtet, pertet, famtet,
862      >              hetpyr, arepyr,
863      >              filpyr, perpyr, fampyr,
864      >              hethex, arehex,
865      >              filhex, perhex, famhex,
866      >              cfahex,
867      >              ulsort, langue, codret )
868 c
869 c 6.23 ==> Classe 4/04
870 c
871       elseif ( decbrf.eq.3075) then
872 #ifdef _DEBUG_HOMARD_
873         write (ulsort,texte(langue,3)) 'CMH404', nompro
874 #endif
875         call cmh404 ( lehexa,
876      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
877      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
878      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
879      >              coonoe, hetnoe, arenoe,
880      >              famnoe,
881      >              hetare, somare,
882      >              filare, merare, famare,
883      >              aretri,
884      >              arequa, filqua,
885      >              hettet, aretet,
886      >              filtet, pertet, famtet,
887      >              hetpyr, arepyr,
888      >              filpyr, perpyr, fampyr,
889      >              hethex, arehex,
890      >              filhex, perhex, famhex,
891      >              cfahex,
892      >              ulsort, langue, codret )
893 c
894 c 6.24 ==> Classe 4/05
895 c
896       elseif ( decbrf.eq.163) then
897 #ifdef _DEBUG_HOMARD_
898         write (ulsort,texte(langue,3)) 'CMH405', nompro
899 #endif
900         call cmh405 ( lehexa,
901      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
902      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
903      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
904      >              coonoe, hetnoe, arenoe,
905      >              famnoe,
906      >              hetare, somare,
907      >              filare, merare, famare,
908      >              aretri,
909      >              arequa, filqua,
910      >              hettet, aretet,
911      >              filtet, pertet, famtet,
912      >              hetpyr, arepyr,
913      >              filpyr, perpyr, fampyr,
914      >              hethex, arehex,
915      >              filhex, perhex, famhex,
916      >              cfahex,
917      >              ulsort, langue, codret )
918 c
919 c 6.25 ==> Classe 4/06
920 c
921       elseif ( decbrf.eq.195) then
922 #ifdef _DEBUG_HOMARD_
923         write (ulsort,texte(langue,3)) 'CMH406', nompro
924 #endif
925         call cmh406 ( lehexa,
926      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
927      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
928      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
929      >              coonoe, hetnoe, arenoe,
930      >              famnoe,
931      >              hetare, somare,
932      >              filare, merare, famare,
933      >              aretri,
934      >              arequa, filqua,
935      >              hettet, aretet,
936      >              filtet, pertet, famtet,
937      >              hetpyr, arepyr,
938      >              filpyr, perpyr, fampyr,
939      >              hethex, arehex,
940      >              filhex, perhex, famhex,
941      >              cfahex,
942      >              ulsort, langue, codret )
943 c
944 c 6.26 ==> Classe 4/07
945 c
946       elseif ( decbrf.eq.387) then
947 #ifdef _DEBUG_HOMARD_
948         write (ulsort,texte(langue,3)) 'CMH407', nompro
949 #endif
950         call cmh407 ( lehexa,
951      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
952      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
953      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
954      >              coonoe, hetnoe, arenoe,
955      >              famnoe,
956      >              hetare, somare,
957      >              filare, merare, famare,
958      >              aretri,
959      >              arequa, filqua,
960      >              hettet, aretet,
961      >              filtet, pertet, famtet,
962      >              hetpyr, arepyr,
963      >              filpyr, perpyr, fampyr,
964      >              hethex, arehex,
965      >              filhex, perhex, famhex,
966      >              cfahex,
967      >              ulsort, langue, codret )
968 c
969 c 6.27 ==> Classe 4/08
970 c
971       elseif ( decbrf.eq.643) then
972 #ifdef _DEBUG_HOMARD_
973         write (ulsort,texte(langue,3)) 'CMH408', nompro
974 #endif
975         call cmh408 ( lehexa,
976      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
977      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
978      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
979      >              coonoe, hetnoe, arenoe,
980      >              famnoe,
981      >              hetare, somare,
982      >              filare, merare, famare,
983      >              aretri,
984      >              arequa, filqua,
985      >              hettet, aretet,
986      >              filtet, pertet, famtet,
987      >              hetpyr, arepyr,
988      >              filpyr, perpyr, fampyr,
989      >              hethex, arehex,
990      >              filhex, perhex, famhex,
991      >              cfahex,
992      >              ulsort, langue, codret )
993 c
994 c 6.28 ==> Classe 4/09
995 c
996       elseif ( decbrf.eq.2083) then
997 #ifdef _DEBUG_HOMARD_
998         write (ulsort,texte(langue,3)) 'CMH409', nompro
999 #endif
1000         call cmh409 ( lehexa,
1001      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1002      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1003      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1004      >              coonoe, hetnoe, arenoe,
1005      >              famnoe,
1006      >              hetare, somare,
1007      >              filare, merare, famare,
1008      >              aretri,
1009      >              arequa, filqua,
1010      >              hettet, aretet,
1011      >              filtet, pertet, famtet,
1012      >              hetpyr, arepyr,
1013      >              filpyr, perpyr, fampyr,
1014      >              hethex, arehex,
1015      >              filhex, perhex, famhex,
1016      >              cfahex,
1017      >              ulsort, langue, codret )
1018 c
1019 c 6.29 ==> Classe 4/10
1020 c
1021       elseif ( decbrf.eq.1091) then
1022 #ifdef _DEBUG_HOMARD_
1023         write (ulsort,texte(langue,3)) 'CMH410', nompro
1024 #endif
1025         call cmh410 ( lehexa,
1026      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1027      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1028      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1029      >              coonoe, hetnoe, arenoe,
1030      >              famnoe,
1031      >              hetare, somare,
1032      >              filare, merare, famare,
1033      >              aretri,
1034      >              arequa, filqua,
1035      >              hettet, aretet,
1036      >              filtet, pertet, famtet,
1037      >              hetpyr, arepyr,
1038      >              filpyr, perpyr, fampyr,
1039      >              hethex, arehex,
1040      >              filhex, perhex, famhex,
1041      >              cfahex,
1042      >              ulsort, langue, codret )
1043 c
1044 c 6.30 ==> Classe 4/11
1045 c
1046       elseif ( decbrf.eq.99) then
1047 #ifdef _DEBUG_HOMARD_
1048         write (ulsort,texte(langue,3)) 'CMH411', nompro
1049 #endif
1050         call cmh411 ( lehexa,
1051      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1052      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1053      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1054      >              coonoe, hetnoe, arenoe,
1055      >              famnoe,
1056      >              hetare, somare,
1057      >              filare, merare, famare,
1058      >              aretri,
1059      >              arequa, filqua,
1060      >              hettet, aretet,
1061      >              filtet, pertet, famtet,
1062      >              hetpyr, arepyr,
1063      >              filpyr, perpyr, fampyr,
1064      >              hethex, arehex,
1065      >              filhex, perhex, famhex,
1066      >              cfahex,
1067      >              ulsort, langue, codret )
1068 c
1069 c 6.31 ==> Classe 4/12
1070 c
1071       elseif ( decbrf.eq.2307) then
1072 #ifdef _DEBUG_HOMARD_
1073         write (ulsort,texte(langue,3)) 'CMH412', nompro
1074 #endif
1075         call cmh412 ( lehexa,
1076      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1077      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1078      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1079      >              coonoe, hetnoe, arenoe,
1080      >              famnoe,
1081      >              hetare, somare,
1082      >              filare, merare, famare,
1083      >              aretri,
1084      >              arequa, filqua,
1085      >              hettet, aretet,
1086      >              filtet, pertet, famtet,
1087      >              hetpyr, arepyr,
1088      >              filpyr, perpyr, fampyr,
1089      >              hethex, arehex,
1090      >              filhex, perhex, famhex,
1091      >              cfahex,
1092      >              ulsort, langue, codret )
1093 c
1094 c 6.32 ==> Classe 4/13
1095 c
1096       elseif ( decbrf.eq.1539) then
1097 #ifdef _DEBUG_HOMARD_
1098         write (ulsort,texte(langue,3)) 'CMH413', nompro
1099 #endif
1100         call cmh413 ( lehexa,
1101      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1102      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1103      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1104      >              coonoe, hetnoe, arenoe,
1105      >              famnoe,
1106      >              hetare, somare,
1107      >              filare, merare, famare,
1108      >              aretri,
1109      >              arequa, filqua,
1110      >              hettet, aretet,
1111      >              filtet, pertet, famtet,
1112      >              hetpyr, arepyr,
1113      >              filpyr, perpyr, fampyr,
1114      >              hethex, arehex,
1115      >              filhex, perhex, famhex,
1116      >              cfahex,
1117      >              ulsort, langue, codret )
1118 c
1119 c 6.33 ==> Classe 4/14
1120 c
1121       elseif ( decbrf.eq.1155) then
1122 #ifdef _DEBUG_HOMARD_
1123         write (ulsort,texte(langue,3)) 'CMH414', nompro
1124 #endif
1125         call cmh414 ( lehexa,
1126      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1127      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1128      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1129      >              coonoe, hetnoe, arenoe,
1130      >              famnoe,
1131      >              hetare, somare,
1132      >              filare, merare, famare,
1133      >              aretri,
1134      >              arequa, filqua,
1135      >              hettet, aretet,
1136      >              filtet, pertet, famtet,
1137      >              hetpyr, arepyr,
1138      >              filpyr, perpyr, fampyr,
1139      >              hethex, arehex,
1140      >              filhex, perhex, famhex,
1141      >              cfahex,
1142      >              ulsort, langue, codret )
1143 c
1144 c 6.34 ==> Classe 4/15
1145 c
1146       elseif ( decbrf.eq.2179) then
1147 #ifdef _DEBUG_HOMARD_
1148         write (ulsort,texte(langue,3)) 'CMH415', nompro
1149 #endif
1150         call cmh415 ( lehexa,
1151      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1152      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1153      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1154      >              coonoe, hetnoe, arenoe,
1155      >              famnoe,
1156      >              hetare, somare,
1157      >              filare, merare, famare,
1158      >              aretri,
1159      >              arequa, filqua,
1160      >              hettet, aretet,
1161      >              filtet, pertet, famtet,
1162      >              hetpyr, arepyr,
1163      >              filpyr, perpyr, fampyr,
1164      >              hethex, arehex,
1165      >              filhex, perhex, famhex,
1166      >              cfahex,
1167      >              ulsort, langue, codret )
1168 c
1169 c 6.35 ==> Classe 4/16
1170 c
1171       elseif ( decbrf.eq.147) then
1172 #ifdef _DEBUG_HOMARD_
1173         write (ulsort,texte(langue,3)) 'CMH416', nompro
1174 #endif
1175         call cmh416 ( lehexa,
1176      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1177      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1178      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1179      >              coonoe, hetnoe, arenoe,
1180      >              famnoe,
1181      >              hetare, somare,
1182      >              filare, merare, famare,
1183      >              aretri,
1184      >              arequa, filqua,
1185      >              hettet, aretet,
1186      >              filtet, pertet, famtet,
1187      >              hetpyr, arepyr,
1188      >              filpyr, perpyr, fampyr,
1189      >              hethex, arehex,
1190      >              filhex, perhex, famhex,
1191      >              cfahex,
1192      >              ulsort, langue, codret )
1193 c
1194 c 6.36 ==> Classe 4/17
1195 c
1196       elseif ( decbrf.eq.1545) then
1197 #ifdef _DEBUG_HOMARD_
1198         write (ulsort,texte(langue,3)) 'CMH417', nompro
1199 #endif
1200         call cmh417 ( lehexa,
1201      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1202      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1203      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1204      >              coonoe, hetnoe, arenoe,
1205      >              famnoe,
1206      >              hetare, somare,
1207      >              filare, merare, famare,
1208      >              aretri,
1209      >              arequa, filqua,
1210      >              hettet, aretet,
1211      >              filtet, pertet, famtet,
1212      >              hetpyr, arepyr,
1213      >              filpyr, perpyr, fampyr,
1214      >              hethex, arehex,
1215      >              filhex, perhex, famhex,
1216      >              cfahex,
1217      >              ulsort, langue, codret )
1218 c
1219 c 6.37 ==> Classe 4/18
1220 c
1221       elseif ( decbrf.eq.2313) then
1222 #ifdef _DEBUG_HOMARD_
1223         write (ulsort,texte(langue,3)) 'CMH418', nompro
1224 #endif
1225         call cmh418 ( lehexa,
1226      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1227      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1228      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1229      >              coonoe, hetnoe, arenoe,
1230      >              famnoe,
1231      >              hetare, somare,
1232      >              filare, merare, famare,
1233      >              aretri,
1234      >              arequa, filqua,
1235      >              hettet, aretet,
1236      >              filtet, pertet, famtet,
1237      >              hetpyr, arepyr,
1238      >              filpyr, perpyr, fampyr,
1239      >              hethex, arehex,
1240      >              filhex, perhex, famhex,
1241      >              cfahex,
1242      >              ulsort, langue, codret )
1243 c
1244 c 6.38 ==> Classe 5/00
1245 c
1246       elseif ( decbrf.eq.2211) then
1247 #ifdef _DEBUG_HOMARD_
1248         write (ulsort,texte(langue,3)) 'CMH500', nompro
1249 #endif
1250         call cmh500 ( lehexa,
1251      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1252      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1253      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1254      >              coonoe, hetnoe, arenoe,
1255      >              famnoe,
1256      >              hetare, somare,
1257      >              filare, merare, famare,
1258      >              aretri,
1259      >              arequa, filqua,
1260      >              hettet, aretet,
1261      >              filtet, pertet, famtet,
1262      >              hetpyr, arepyr,
1263      >              filpyr, perpyr, fampyr,
1264      >              hethex, arehex,
1265      >              filhex, perhex, famhex,
1266      >              cfahex,
1267      >              ulsort, langue, codret )
1268 c
1269 c 6.39 ==> Classe 5/01
1270 c
1271       elseif ( decbrf.eq.1219) then
1272 #ifdef _DEBUG_HOMARD_
1273         write (ulsort,texte(langue,3)) 'CMH501', nompro
1274 #endif
1275         call cmh501 ( lehexa,
1276      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1277      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1278      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1279      >              coonoe, hetnoe, arenoe,
1280      >              famnoe,
1281      >              hetare, somare,
1282      >              filare, merare, famare,
1283      >              aretri,
1284      >              arequa, filqua,
1285      >              hettet, aretet,
1286      >              filtet, pertet, famtet,
1287      >              hetpyr, arepyr,
1288      >              filpyr, perpyr, fampyr,
1289      >              hethex, arehex,
1290      >              filhex, perhex, famhex,
1291      >              cfahex,
1292      >              ulsort, langue, codret )
1293 c
1294 c 6.40 ==> Classe 5/02
1295 c
1296       elseif ( decbrf.eq.2435) then
1297 #ifdef _DEBUG_HOMARD_
1298         write (ulsort,texte(langue,3)) 'CMH502', nompro
1299 #endif
1300         call cmh502 ( lehexa,
1301      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1302      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1303      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1304      >              coonoe, hetnoe, arenoe,
1305      >              famnoe,
1306      >              hetare, somare,
1307      >              filare, merare, famare,
1308      >              aretri,
1309      >              arequa, filqua,
1310      >              hettet, aretet,
1311      >              filtet, pertet, famtet,
1312      >              hetpyr, arepyr,
1313      >              filpyr, perpyr, fampyr,
1314      >              hethex, arehex,
1315      >              filhex, perhex, famhex,
1316      >              cfahex,
1317      >              ulsort, langue, codret )
1318 c
1319 c 6.41 ==> Classe 5/03
1320 c
1321       elseif ( decbrf.eq.1667) then
1322 #ifdef _DEBUG_HOMARD_
1323         write (ulsort,texte(langue,3)) 'CMH503', nompro
1324 #endif
1325         call cmh503 ( lehexa,
1326      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1327      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1328      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1329      >              coonoe, hetnoe, arenoe,
1330      >              famnoe,
1331      >              hetare, somare,
1332      >              filare, merare, famare,
1333      >              aretri,
1334      >              arequa, filqua,
1335      >              hettet, aretet,
1336      >              filtet, pertet, famtet,
1337      >              hetpyr, arepyr,
1338      >              filpyr, perpyr, fampyr,
1339      >              hethex, arehex,
1340      >              filhex, perhex, famhex,
1341      >              cfahex,
1342      >              ulsort, langue, codret )
1343 c
1344 c 6.42 ==> Classe 5/04
1345 c
1346       elseif ( decbrf.eq.227) then
1347 #ifdef _DEBUG_HOMARD_
1348         write (ulsort,texte(langue,3)) 'CMH504', nompro
1349 #endif
1350         call cmh504 ( lehexa,
1351      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1352      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1353      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1354      >              coonoe, hetnoe, arenoe,
1355      >              famnoe,
1356      >              hetare, somare,
1357      >              filare, merare, famare,
1358      >              aretri,
1359      >              arequa, filqua,
1360      >              hettet, aretet,
1361      >              filtet, pertet, famtet,
1362      >              hetpyr, arepyr,
1363      >              filpyr, perpyr, fampyr,
1364      >              hethex, arehex,
1365      >              filhex, perhex, famhex,
1366      >              cfahex,
1367      >              ulsort, langue, codret )
1368 c
1369 c 6.43 ==> Classe 5/05
1370 c
1371       elseif ( decbrf.eq.899) then
1372 #ifdef _DEBUG_HOMARD_
1373         write (ulsort,texte(langue,3)) 'CMH505', nompro
1374 #endif
1375         call cmh505 ( lehexa,
1376      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1377      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1378      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1379      >              coonoe, hetnoe, arenoe,
1380      >              famnoe,
1381      >              hetare, somare,
1382      >              filare, merare, famare,
1383      >              aretri,
1384      >              arequa, filqua,
1385      >              hettet, aretet,
1386      >              filtet, pertet, famtet,
1387      >              hetpyr, arepyr,
1388      >              filpyr, perpyr, fampyr,
1389      >              hethex, arehex,
1390      >              filhex, perhex, famhex,
1391      >              cfahex,
1392      >              ulsort, langue, codret )
1393 c
1394 c 6.44 ==> Classe 5/06
1395 c
1396       elseif ( decbrf.eq.675) then
1397 #ifdef _DEBUG_HOMARD_
1398         write (ulsort,texte(langue,3)) 'CMH506', nompro
1399 #endif
1400         call cmh506 ( lehexa,
1401      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1402      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1403      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1404      >              coonoe, hetnoe, arenoe,
1405      >              famnoe,
1406      >              hetare, somare,
1407      >              filare, merare, famare,
1408      >              aretri,
1409      >              arequa, filqua,
1410      >              hettet, aretet,
1411      >              filtet, pertet, famtet,
1412      >              hetpyr, arepyr,
1413      >              filpyr, perpyr, fampyr,
1414      >              hethex, arehex,
1415      >              filhex, perhex, famhex,
1416      >              cfahex,
1417      >              ulsort, langue, codret )
1418 c
1419 c 6.45 ==> Classe 5/07
1420 c
1421       elseif ( decbrf.eq.451) then
1422 #ifdef _DEBUG_HOMARD_
1423         write (ulsort,texte(langue,3)) 'CMH507', nompro
1424 #endif
1425         call cmh507 ( lehexa,
1426      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1427      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1428      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1429      >              coonoe, hetnoe, arenoe,
1430      >              famnoe,
1431      >              hetare, somare,
1432      >              filare, merare, famare,
1433      >              aretri,
1434      >              arequa, filqua,
1435      >              hettet, aretet,
1436      >              filtet, pertet, famtet,
1437      >              hetpyr, arepyr,
1438      >              filpyr, perpyr, fampyr,
1439      >              hethex, arehex,
1440      >              filhex, perhex, famhex,
1441      >              cfahex,
1442      >              ulsort, langue, codret )
1443 c
1444 c 6.46 ==> Classe 5/08
1445 c
1446       elseif ( decbrf.eq.1123) then
1447 #ifdef _DEBUG_HOMARD_
1448         write (ulsort,texte(langue,3)) 'CMH508', nompro
1449 #endif
1450         call cmh508 ( lehexa,
1451      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1452      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1453      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1454      >              coonoe, hetnoe, arenoe,
1455      >              famnoe,
1456      >              hetare, somare,
1457      >              filare, merare, famare,
1458      >              aretri,
1459      >              arequa, filqua,
1460      >              hettet, aretet,
1461      >              filtet, pertet, famtet,
1462      >              hetpyr, arepyr,
1463      >              filpyr, perpyr, fampyr,
1464      >              hethex, arehex,
1465      >              filhex, perhex, famhex,
1466      >              cfahex,
1467      >              ulsort, langue, codret )
1468 c
1469 c 6.47 ==> Classe 5/09
1470 c
1471       elseif ( decbrf.eq.2147) then
1472 #ifdef _DEBUG_HOMARD_
1473         write (ulsort,texte(langue,3)) 'CMH509', nompro
1474 #endif
1475         call cmh509 ( lehexa,
1476      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1477      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1478      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1479      >              coonoe, hetnoe, arenoe,
1480      >              famnoe,
1481      >              hetare, somare,
1482      >              filare, merare, famare,
1483      >              aretri,
1484      >              arequa, filqua,
1485      >              hettet, aretet,
1486      >              filtet, pertet, famtet,
1487      >              hetpyr, arepyr,
1488      >              filpyr, perpyr, fampyr,
1489      >              hethex, arehex,
1490      >              filhex, perhex, famhex,
1491      >              cfahex,
1492      >              ulsort, langue, codret )
1493 c
1494 c 6.48 ==> Classe 5/10
1495 c
1496       elseif ( decbrf.eq.1171) then
1497 #ifdef _DEBUG_HOMARD_
1498         write (ulsort,texte(langue,3)) 'CMH510', nompro
1499 #endif
1500         call cmh510 ( lehexa,
1501      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1502      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1503      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1504      >              coonoe, hetnoe, arenoe,
1505      >              famnoe,
1506      >              hetare, somare,
1507      >              filare, merare, famare,
1508      >              aretri,
1509      >              arequa, filqua,
1510      >              hettet, aretet,
1511      >              filtet, pertet, famtet,
1512      >              hetpyr, arepyr,
1513      >              filpyr, perpyr, fampyr,
1514      >              hethex, arehex,
1515      >              filhex, perhex, famhex,
1516      >              cfahex,
1517      >              ulsort, langue, codret )
1518 c
1519 c 6.49 ==> Classe 5/11
1520 c
1521       elseif ( decbrf.eq.31) then
1522 #ifdef _DEBUG_HOMARD_
1523         write (ulsort,texte(langue,3)) 'CMH511', nompro
1524 #endif
1525         call cmh511 ( lehexa,
1526      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1527      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1528      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1529      >              coonoe, hetnoe, arenoe,
1530      >              famnoe,
1531      >              hetare, somare,
1532      >              filare, merare, famare,
1533      >              aretri,
1534      >              arequa, filqua,
1535      >              hettet, aretet,
1536      >              filtet, pertet, famtet,
1537      >              hetpyr, arepyr,
1538      >              filpyr, perpyr, fampyr,
1539      >              hethex, arehex,
1540      >              filhex, perhex, famhex,
1541      >              cfahex,
1542      >              ulsort, langue, codret )
1543 c
1544 c 6.50 ==> Classe 5/12
1545 c
1546       elseif ( decbrf.eq.271) then
1547 #ifdef _DEBUG_HOMARD_
1548         write (ulsort,texte(langue,3)) 'CMH512', nompro
1549 #endif
1550         call cmh512 ( lehexa,
1551      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1552      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1553      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1554      >              coonoe, hetnoe, arenoe,
1555      >              famnoe,
1556      >              hetare, somare,
1557      >              filare, merare, famare,
1558      >              aretri,
1559      >              arequa, filqua,
1560      >              hettet, aretet,
1561      >              filtet, pertet, famtet,
1562      >              hetpyr, arepyr,
1563      >              filpyr, perpyr, fampyr,
1564      >              hethex, arehex,
1565      >              filhex, perhex, famhex,
1566      >              cfahex,
1567      >              ulsort, langue, codret )
1568 c
1569 c 6.51 ==> Classe 6/00
1570 c
1571       elseif ( decbrf.eq.3219) then
1572 #ifdef _DEBUG_HOMARD_
1573         write (ulsort,texte(langue,3)) 'CMH600', nompro
1574 #endif
1575         call cmh600 ( lehexa,
1576      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1577      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1578      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1579      >              coonoe, hetnoe, arenoe,
1580      >              famnoe,
1581      >              hetare, somare,
1582      >              filare, merare, famare,
1583      >              aretri,
1584      >              arequa, filqua,
1585      >              hettet, aretet,
1586      >              filtet, pertet, famtet,
1587      >              hetpyr, arepyr,
1588      >              filpyr, perpyr, fampyr,
1589      >              hethex, arehex,
1590      >              filhex, perhex, famhex,
1591      >              cfahex,
1592      >              ulsort, langue, codret )
1593 c
1594 c 6.52 ==> Classe 6/01
1595 c
1596       elseif ( decbrf.eq.783) then
1597 #ifdef _DEBUG_HOMARD_
1598         write (ulsort,texte(langue,3)) 'CMH601', nompro
1599 #endif
1600         call cmh601 ( lehexa,
1601      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1602      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1603      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1604      >              coonoe, hetnoe, arenoe,
1605      >              famnoe,
1606      >              hetare, somare,
1607      >              filare, merare, famare,
1608      >              aretri,
1609      >              arequa, filqua,
1610      >              hettet, aretet,
1611      >              filtet, pertet, famtet,
1612      >              hetpyr, arepyr,
1613      >              filpyr, perpyr, fampyr,
1614      >              hethex, arehex,
1615      >              filhex, perhex, famhex,
1616      >              cfahex,
1617      >              ulsort, langue, codret )
1618 c
1619 c 6.53 ==> Classe 6/02
1620 c
1621       elseif ( decbrf.eq.2319) then
1622 #ifdef _DEBUG_HOMARD_
1623         write (ulsort,texte(langue,3)) 'CMH602', nompro
1624 #endif
1625         call cmh602 ( lehexa,
1626      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1627      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1628      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1629      >              coonoe, hetnoe, arenoe,
1630      >              famnoe,
1631      >              hetare, somare,
1632      >              filare, merare, famare,
1633      >              aretri,
1634      >              arequa, filqua,
1635      >              hettet, aretet,
1636      >              filtet, pertet, famtet,
1637      >              hetpyr, arepyr,
1638      >              filpyr, perpyr, fampyr,
1639      >              hethex, arehex,
1640      >              filhex, perhex, famhex,
1641      >              cfahex,
1642      >              ulsort, langue, codret )
1643 c
1644 c 6.54 ==> Classe 6/03
1645 c
1646       elseif ( decbrf.eq.1055) then
1647 #ifdef _DEBUG_HOMARD_
1648         write (ulsort,texte(langue,3)) 'CMH603', nompro
1649 #endif
1650         call cmh603 ( lehexa,
1651      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1652      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1653      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1654      >              coonoe, hetnoe, arenoe,
1655      >              famnoe,
1656      >              hetare, somare,
1657      >              filare, merare, famare,
1658      >              aretri,
1659      >              arequa, filqua,
1660      >              hettet, aretet,
1661      >              filtet, pertet, famtet,
1662      >              hetpyr, arepyr,
1663      >              filpyr, perpyr, fampyr,
1664      >              hethex, arehex,
1665      >              filhex, perhex, famhex,
1666      >              cfahex,
1667      >              ulsort, langue, codret )
1668 c
1669 c 6.55 ==> Classe 6/04
1670 c
1671       elseif ( decbrf.eq.2079) then
1672 #ifdef _DEBUG_HOMARD_
1673         write (ulsort,texte(langue,3)) 'CMH604', nompro
1674 #endif
1675         call cmh604 ( lehexa,
1676      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1677      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1678      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1679      >              coonoe, hetnoe, arenoe,
1680      >              famnoe,
1681      >              hetare, somare,
1682      >              filare, merare, famare,
1683      >              aretri,
1684      >              arequa, filqua,
1685      >              hettet, aretet,
1686      >              filtet, pertet, famtet,
1687      >              hetpyr, arepyr,
1688      >              filpyr, perpyr, fampyr,
1689      >              hethex, arehex,
1690      >              filhex, perhex, famhex,
1691      >              cfahex,
1692      >              ulsort, langue, codret )
1693 c
1694 c 6.56 ==> Classe 6/05
1695 c
1696       elseif ( decbrf.eq.159) then
1697 #ifdef _DEBUG_HOMARD_
1698         write (ulsort,texte(langue,3)) 'CMH605', nompro
1699 #endif
1700         call cmh605 ( lehexa,
1701      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1702      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1703      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1704      >              coonoe, hetnoe, arenoe,
1705      >              famnoe,
1706      >              hetare, somare,
1707      >              filare, merare, famare,
1708      >              aretri,
1709      >              arequa, filqua,
1710      >              hettet, aretet,
1711      >              filtet, pertet, famtet,
1712      >              hetpyr, arepyr,
1713      >              filpyr, perpyr, fampyr,
1714      >              hethex, arehex,
1715      >              filhex, perhex, famhex,
1716      >              cfahex,
1717      >              ulsort, langue, codret )
1718 c
1719 c 6.57 ==> Classe 6/06
1720 c
1721       elseif ( decbrf.eq.3171) then
1722 #ifdef _DEBUG_HOMARD_
1723         write (ulsort,texte(langue,3)) 'CMH606', nompro
1724 #endif
1725         call cmh606 ( lehexa,
1726      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1727      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1728      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1729      >              coonoe, hetnoe, arenoe,
1730      >              famnoe,
1731      >              hetare, somare,
1732      >              filare, merare, famare,
1733      >              aretri,
1734      >              arequa, filqua,
1735      >              hettet, aretet,
1736      >              filtet, pertet, famtet,
1737      >              hetpyr, arepyr,
1738      >              filpyr, perpyr, fampyr,
1739      >              hethex, arehex,
1740      >              filhex, perhex, famhex,
1741      >              cfahex,
1742      >              ulsort, langue, codret )
1743 c
1744 c 6.58 ==> Classe 6/07
1745 c
1746       elseif ( decbrf.eq.2723) then
1747 #ifdef _DEBUG_HOMARD_
1748         write (ulsort,texte(langue,3)) 'CMH607', nompro
1749 #endif
1750         call cmh607 ( lehexa,
1751      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1752      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1753      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1754      >              coonoe, hetnoe, arenoe,
1755      >              famnoe,
1756      >              hetare, somare,
1757      >              filare, merare, famare,
1758      >              aretri,
1759      >              arequa, filqua,
1760      >              hettet, aretet,
1761      >              filtet, pertet, famtet,
1762      >              hetpyr, arepyr,
1763      >              filpyr, perpyr, fampyr,
1764      >              hethex, arehex,
1765      >              filhex, perhex, famhex,
1766      >              cfahex,
1767      >              ulsort, langue, codret )
1768 c
1769 c 6.59 ==> Classe 6/08
1770 c
1771       elseif ( decbrf.eq.1475) then
1772 #ifdef _DEBUG_HOMARD_
1773         write (ulsort,texte(langue,3)) 'CMH608', nompro
1774 #endif
1775         call cmh608 ( lehexa,
1776      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1777      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1778      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1779      >              coonoe, hetnoe, arenoe,
1780      >              famnoe,
1781      >              hetare, somare,
1782      >              filare, merare, famare,
1783      >              aretri,
1784      >              arequa, filqua,
1785      >              hettet, aretet,
1786      >              filtet, pertet, famtet,
1787      >              hetpyr, arepyr,
1788      >              filpyr, perpyr, fampyr,
1789      >              hethex, arehex,
1790      >              filhex, perhex, famhex,
1791      >              cfahex,
1792      >              ulsort, langue, codret )
1793 c
1794 c 6.60 ==> Classe 7/00
1795 c
1796       elseif ( decbrf.eq.319) then
1797 #ifdef _DEBUG_HOMARD_
1798         write (ulsort,texte(langue,3)) 'CMH700', nompro
1799 #endif
1800         call cmh700 ( lehexa,
1801      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1802      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1803      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1804      >              coonoe, hetnoe, arenoe,
1805      >              famnoe,
1806      >              hetare, somare,
1807      >              filare, merare, famare,
1808      >              aretri,
1809      >              arequa, filqua,
1810      >              hettet, aretet,
1811      >              filtet, pertet, famtet,
1812      >              hetpyr, arepyr,
1813      >              filpyr, perpyr, fampyr,
1814      >              hethex, arehex,
1815      >              filhex, perhex, famhex,
1816      >              cfahex,
1817      >              ulsort, langue, codret )
1818 c
1819 c 6.61 ==> Classe 7/01
1820 c
1821       elseif ( decbrf.eq.3103) then
1822 #ifdef _DEBUG_HOMARD_
1823         write (ulsort,texte(langue,3)) 'CMH701', nompro
1824 #endif
1825         call cmh701 ( lehexa,
1826      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1827      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1828      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1829      >              coonoe, hetnoe, arenoe,
1830      >              famnoe,
1831      >              hetare, somare,
1832      >              filare, merare, famare,
1833      >              aretri,
1834      >              arequa, filqua,
1835      >              hettet, aretet,
1836      >              filtet, pertet, famtet,
1837      >              hetpyr, arepyr,
1838      >              filpyr, perpyr, fampyr,
1839      >              hethex, arehex,
1840      >              filhex, perhex, famhex,
1841      >              cfahex,
1842      >              ulsort, langue, codret )
1843 c
1844 c 6.62 ==> Classe 8/00
1845 c
1846       elseif ( decbrf.eq.3855) then
1847 #ifdef _DEBUG_HOMARD_
1848         write (ulsort,texte(langue,3)) 'CMH800', nompro
1849 #endif
1850         call cmh800 ( lehexa,
1851      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1852      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1853      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1854      >              coonoe, hetnoe, arenoe,
1855      >              famnoe,
1856      >              hetare, somare,
1857      >              filare, merare, famare,
1858      >              aretri,
1859      >              arequa, filqua,
1860      >              hettet, aretet,
1861      >              filtet, pertet, famtet,
1862      >              hetpyr, arepyr,
1863      >              filpyr, perpyr, fampyr,
1864      >              hethex, arehex,
1865      >              filhex, perhex, famhex,
1866      >              cfahex,
1867      >              ulsort, langue, codret )
1868 c
1869 c 6.63 ==> Classe 8/01
1870 c
1871       elseif ( decbrf.eq.2367) then
1872 #ifdef _DEBUG_HOMARD_
1873         write (ulsort,texte(langue,3)) 'CMH801', nompro
1874 #endif
1875         call cmh801 ( lehexa,
1876      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1877      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1878      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1879      >              coonoe, hetnoe, arenoe,
1880      >              famnoe,
1881      >              hetare, somare,
1882      >              filare, merare, famare,
1883      >              aretri,
1884      >              arequa, filqua,
1885      >              hettet, aretet,
1886      >              filtet, pertet, famtet,
1887      >              hetpyr, arepyr,
1888      >              filpyr, perpyr, fampyr,
1889      >              hethex, arehex,
1890      >              filhex, perhex, famhex,
1891      >              cfahex,
1892      >              ulsort, langue, codret )
1893 c
1894 c 6.64 ==> Classe 9/00
1895 c
1896       elseif ( decbrf.eq.895) then
1897 #ifdef _DEBUG_HOMARD_
1898         write (ulsort,texte(langue,3)) 'CMH900', nompro
1899 #endif
1900         call cmh900 ( lehexa,
1901      >              indnoe, indare, indtet, indpyr, indhex, nbfihe,
1902      >              hepers(1,chperm(decbin)), hepera(1,chperm(decbin)),
1903      >              heperf(1,chperm(decbin)), heperc(1,chperm(decbin)),
1904      >              coonoe, hetnoe, arenoe,
1905      >              famnoe,
1906      >              hetare, somare,
1907      >              filare, merare, famare,
1908      >              aretri,
1909      >              arequa, filqua,
1910      >              hettet, aretet,
1911      >              filtet, pertet, famtet,
1912      >              hetpyr, arepyr,
1913      >              filpyr, perpyr, fampyr,
1914      >              hethex, arehex,
1915      >              filhex, perhex, famhex,
1916      >              cfahex,
1917      >              ulsort, langue, codret )
1918       endif
1919 c
1920         endif
1921 c
1922         endif
1923 c
1924         endif
1925 c
1926   200 continue
1927 c
1928 c====
1929 c 7. la fin
1930 c====
1931 c
1932       if ( codret.ne.0 ) then
1933 c
1934 #include "envex2.h"
1935 c
1936       write (ulsort,texte(langue,1)) 'Sortie', nompro
1937       write (ulsort,texte(langue,2)) codret
1938 c
1939       endif
1940 c
1941 #ifdef _DEBUG_HOMARD_
1942       write (ulsort,texte(langue,1)) 'Sortie', nompro
1943       call dmflsh (iaux)
1944 #endif
1945 c
1946       end
1947