C CONVCP SOURCE GOUNAND 19/07/23 21:15:06 10267 SUBROUTINE CONVCP(DREE,DIMA,DMOD,DPHA,NP,INV) IMPLICIT INTEGER(I-N) IMPLICIT REAL*8(A-H,O-Z) C C======================================================================= C INV=1 C CALCUL DU MODULE ET DE LA PHASE D'UN COMPLEXE DOUBLE PRECISION C A PARTIR DE LA PARTIE REELLE ET DE LA PARTIE IMAGINAIRE C C ( ET VICE-VERSA INV=-1 ) C C CREATION : 15/12/87 C F.ROULLIER C======================================================================= C -INC PPARAM -INC CCOPTIO -INC CCREEL DIMENSION DREE(*),DIMA(*),DMOD(*),DPHA(*) C IF (INV.EQ.1) THEN RAP=180.D0/XPI DO 10 I=1,NP DR=DREE(I) DI=DIMA(I) DM=SQRT(DR*DR+DI*DI) IF (ABS(DR).GT.XPETIT) THEN DP=ATAN2(DI,DR) ELSE IF (DI.EQ.0.D0) DP=0.D0 IF (DI.GT.0.D0) DP=XPI/2.D0 IF (DI.LT.0.D0) DP=-XPI/2.D0 ENDIF DMOD(I)=DM DPHA(I)=DP*RAP 10 CONTINUE RETURN C ELSE C RAP=XPI/180.D0 DO 110 I=1,NP DM=DMOD(I) DP=DPHA(I)*RAP DR=DM*COS(DP) DI=DM*SIN(DP) DREE(I)=DR DIMA(I)=DI 110 CONTINUE ENDIF C RETURN END