Download adlisr.eso

Back to the list

   1 : C ADLISR    SOURCE    CHAT      05/01/12    21:18:31     5004           
   2 :       SUBROUTINE ADLISR (LIST1,LIST2,MPOINT,NADDIT)                             
   3 : C     |-------------------------------------------------------------|           
   4 : C     |   ROUTINE D'ADDITION DE DEUX LISTES REELLES, QUI DOIVENT    |           
   5 : C     | ETRE DE MEME LONGUEUR                                       |           
   6 : C     |  ENTREE :   LIST1----------> POINTEUR DE LA PREMIERE LISTE  |           
   7 : C     |             LIST2----------> POINTEUR DE LA SECONDE LISTE   |           
   8 : C     |             NADDIT----------> ENTIER QUI INDIQUE SI L'ON    |           
   9 : C     |                              ADDITIONNE OU SI L'ON SOUSTRAIT|           
  10 : C     |  SORTIE                                                     |           
  11 : C     |             MPOINT---------> POINTEUR DE LA LISTE RESULTAT  |           
  12 : C     |-------------------------------------------------------------|           
  13 :       IMPLICIT INTEGER(I-N)
  14 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
  15 : -INC CCOPTIO                                                                    
  16 : -INC SMLREEL                                                                    
  17 :       MLREEL=LIST1                                                              
  18 :       MLREE1=LIST2                                                              
  19 :       SEGACT MLREEL                                                             
  20 :       SEGACT MLREE1                                                             
  21 :       IF (PROG(/1).EQ.MLREE1.PROG(/1))THEN                                      
  22 :       JG=PROG(/1)                                                               
  23 :       SEGINI MLREE2                                                             
  24 :       IF (NADDIT.EQ.1) THEN                                                     
  25 :         DO 1 I=1,PROG(/1)                                                       
  26 :          MLREE2.PROG(I)=PROG(I)+MLREE1.PROG(I)                                  
  27 : 1       CONTINUE                                                                
  28 :       ELSE                                                                      
  29 :         DO 2 I=1,PROG(/1)                                                       
  30 :          MLREE2.PROG(I)=PROG(I)-MLREE1.PROG(I)                                  
  31 : 2       CONTINUE                                                                
  32 :       ENDIF                                                                     
  33 :       MPOINT=MLREE2                                                             
  34 :       SEGDES MLREE2                                                             
  35 :       ELSE                                                                      
  36 :       MPOINT=0                                                                  
  36 :       CALL ERREUR(217)                                                          
  37 :       ENDIF                                                                     
  38 :       SEGDES MLREEL                                                             
  39 :       SEGDES MLREE1                                                             
  40 :       RETURN                                                                    
  41 :       END                                                                       
  42 :  

© Cast3M 2003 - All rights reserved.
Disclaimer