C ORDON2 SOURCE CHAT 05/01/13 02:06:00 5004 SUBROUTINE ORDON2 (IPLIST,CROISS,ABSOLU) ************************************************************************ * * O R D O N 2 * ----------- * * FONCTION: * --------- * * RANGER EN ORDRE CROISSANT OU DECROISSANT UN 'LISTENTI'. * * MODE D'APPEL: * ------------- * * CALL ORDON2 (IPLIST,CROISS,ABSOLU) * * PARAMETRES: (E)=ENTREE (S)=SORTIE * ----------- * * IPLIST ENTIER (E) POINTEUR SUR LA LISTE A ORDONNER. * (S) MEME POINTEUR, LISTE REORDONNEE. * CROISS LOGIQUE (E) INDIQUE PAR "VRAI" OU "FAUX" SI ON ORDONNE * CROISSANT OU NON. * ABSOLU LOGIQUE (E) INDIQUE PAR "VRAI" OU "FAUX" SI ON ORDONNE * EN CONSIDERANT LES VALEURS ABSOLUES OU LES * VRAIES VALEURS. * * SOUS-PROGRAMMES APPELES: * ------------------------ * * ORDO02, ORDO12. * * AUTEUR, DATE DE CREATION: * ------------------------- * * PASCAL MANIGOT 19 MARS 1985 * * OPTION "ABSOLU" AJOUTEE LE 23 AVRIL 1985 (P. MANIGOT) * * LANGAGE: * -------- * * ESOPE + FORTRAN77 * ************************************************************************ * IMPLICIT INTEGER(I-N) -INC SMLENTI -INC CCOPTIO -INC TMCOLAC * LOGICAL CROISS,ABSOLU * MLENTI = IPLIST SEGACT,MLENTI LLIST = LECT(/1) IF (LLIST .LE. 1) THEN SEGDES,MLENTI RETURN END IF * IF (ABSOLU) THEN CALL ORDO12 (LECT(1),LLIST,CROISS) ELSE CALL ORDO02 (LECT(1),LLIST,CROISS) END IF * SEGDES,MLENTI IF(IPSAUV.NE.0) THEN ICOLAC = IPSAUV SEGACT ICOLAC ILISSE=ILISSG SEGACT ILISSE*MOD CALL TYPFIL('LISTENTI',ICO) ITLACC = KCOLA(ICO) SEGACT ITLACC*MOD CALL AJOUN0(ITLACC,MLENTI,ILISSE,1) SEGDES ICOLAC,ILISSE ENDIF * END