Download convcp.eso

Back to the list

   1 : C CONVCP    SOURCE    CHAT      05/01/12    22:19:14     5004           
   2 :       SUBROUTINE CONVCP(DREE,DIMA,DMOD,DPHA,NP,INV)                             
   3 :       IMPLICIT INTEGER(I-N)
   4 :       IMPLICIT REAL*8(A-H,O-Z)                                                  
   5 : C                                                                               
   6 : C=======================================================================        
   7 : C     INV=1                                                                     
   8 : C     CALCUL DU MODULE ET DE LA PHASE D'UN COMPLEXE DOUBLE PRECISION            
   9 : C     A PARTIR DE LA PARTIE REELLE ET DE LA PARTIE IMAGINAIRE                   
  10 : C                                                                               
  11 : C                   ( ET VICE-VERSA      INV=-1 )                               
  12 : C                                                                               
  13 : C     CREATION    : 15/12/87                                                    
  14 : C     F.ROULLIER                                                                
  15 : C=======================================================================        
  16 : C                                                                               
  17 : -INC CCOPTIO                                                                    
  18 : -INC CCREEL                                                                     
  19 :       DIMENSION DREE(*),DIMA(*),DMOD(*),DPHA(*)                                 
  20 : C                                                                               
  21 :               IF (INV.EQ.1) THEN                                                
  22 :       RAP=180./XPI                                                              
  23 :       DO 10 I=1,NP                                                              
  24 :       DR=DREE(I)                                                                
  25 :       DI=DIMA(I)                                                                
  26 :       DM=SQRT(DR*DR+DI*DI)                                                      
  27 :       IF (ABS(DR).GT.XPETIT) THEN                                               
  28 :            DP=ATAN2(DI,DR)                                                      
  29 :       ELSE                                                                      
  30 :            IF (DI.EQ.0.D0) DP=0.D0                                              
  31 :            IF (DI.GT.0.D0) DP=XPI/2.D0                                          
  32 :            IF (DI.LT.0.D0) DP=-XPI/2.D0                                         
  33 :       ENDIF                                                                     
  34 :       DMOD(I)=DM                                                                
  35 :       DPHA(I)=DP*RAP                                                            
  36 :    10 CONTINUE                                                                  
  37 :       RETURN                                                                    
  38 : C                                                                               
  39 :               ELSE                                                              
  40 : C                                                                               
  41 :       RAP=XPI/180.                                                              
  42 :       DO 110 I=1,NP                                                             
  43 :       DM=DMOD(I)                                                                
  44 :       DP=DPHA(I)*RAP                                                            
  45 :       DR=DM*COS(DP)                                                             
  46 :       DI=DM*SIN(DP)                                                             
  47 :       DREE(I)=DR                                                                
  48 :       DIMA(I)=DI                                                                
  49 :   110 CONTINUE                                                                  
  50 :               ENDIF                                                             
  51 : C                                                                               
  52 :       RETURN                                                                    
  53 :       END                                                                       
  54 :  
  55 :  
  56 :  

© Cast3M 2003 - All rights reserved.
Disclaimer