Numérotation des lignes :

place3
C PLACE3    SOURCE    CHAT      05/01/13    02:14:36     5004      SUBROUTINE PLACE3 (XLIST,IL,JL,RR,  IR,AR)**************************************************************************                             P L A C E 3*                             -----------** FONCTION:* ---------**     DONNER LA POSITION D'UN REEL DANS UNE LISTE DE REELS ORDONNES*     EN ORDRE STRICTEMENT CROISSANT.*     LE REEL PEUT NE PAS APPARTENIR A LA LISTE.** MODULES UTILISES:* -----------------*      IMPLICIT INTEGER(I-N)-INC CCREEL** PARAMETRES:   (E)=ENTREE   (S)=SORTIE   (+ = CONTENU DANS UN COMMUN)* -----------**     XLIST   (E)  LISTE DE REELS EN ORDRE STRICTEMENT CROISSANT.*     IL      (E)  DEBUT DE LA PARTIE UTILE DE "XLIST".*     JL      (E)  FIN DE LA PARTIE UTILE DE "XLIST".*     RR      (E)  REEL A POSITIONNER DANS LA PARTIE (IL,JL) DE "XLIST".*     IR      (S)  POSITION, DANS LA LISTE, DU REEL IMMEDIATEMENT*                  INFERIEUR (OU EGAL) A "RR".*                  = (IL-1)  SI  RR &lt; XLIST(IL)*                  = JL      SI  RR > XLIST(JL)**     AR      (S)  DISTANCE RELATIVE DE "RR" AVEC SON VOISIN DANS LA*                  LISTE. PLUS PRECISEMENT:**                           RR - XLIST(IR)*                  AR = -----------------------*                       XLIST(IR+1) - XLIST(IR)**                           XLIST(IL) - RR*                  OU   -----------------------   SI  IR=IL-1*                        MIN(|XLIST(IL)|,|RR|)**                           RR - XLIST(JL)*                  OU   -----------------------   SI  IR=JL*                        MIN(|RR|,|XLIST(JL)|)**     RQ:  RR = (1-AR)*XLIST(IR) + AR*XLIST(IR+1)*          (SAUF SI "IR" VAUT "(IL-1)" OU "JL").*      INTEGER IL,JL,IR      REAL*8 XLIST(*),RR,AR** VARIABLES:* ----------*      REAL*8 RR1** MODE DE FONCTIONNEMENT:* -----------------------**     L'INDICE "IL" EST SUPPOSE BIEN CHOISI POUR QU'UNE RECHERCHE PAS A*     PAS DANS LE SENS DES INDICES CROISSANTS SOIT LA METHODE LA PLUS*     RAPIDE POUR POSITIONNER "RR".** AUTEUR, DATE DE CREATION:* -------------------------**     PASCAL MANIGOT     24 MARS 1988** LANGAGE:* --------**     FORTRAN77**************************************************************************      IR = JL*      DO 100 I=IL,JL         IF (XLIST(I) .GT. RR) THEN            IR = I - 1*           EXIT            GOTO 102         END IF  100    CONTINUE*     END DO  102 CONTINUE*      IF (IR .EQ. (IL-1) ) THEN         RR1 = MIN( ABS(RR),ABS(XLIST(IL)) )         RR1 = MAX(RR1,XPETIT)         AR = (XLIST(IL) - RR) / RR1      ELSE IF (IR .EQ. JL) THEN         RR1 = MIN( ABS(RR),ABS(XLIST(JL)) )         RR1 = MAX(RR1,XPETIT)         AR = (RR - XLIST(JL) ) / RR1      ELSE         AR = (RR - XLIST(IR) ) / (XLIST(IR+1) - XLIST(IR) )      END IF*      END    

© Cast3M 2003 - Tous droits réservés.
Mentions légales