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