Back to home page

sPhenix code displayed by LXR

 
 

    


File indexing completed on 2025-08-05 08:21:09

0001  
0002 C*********************************************************************
0003  
0004 C...PYCSRT
0005 C...Auxiliary to PYCMQR
0006 C
0007 C     (YR,YI) = COMPLEX DSQRT(XR,XI)
0008 C     BRANCH CHOSEN SO THAT YR .GE. 0.0 AND SIGN(YI) .EQ. SIGN(XI)
0009 C
0010  
0011       SUBROUTINE PYCSRT(XR,XI,YR,YI)
0012  
0013       DOUBLE PRECISION XR,XI,YR,YI
0014       DOUBLE PRECISION S,TR,TI,PYTHAG
0015  
0016       TR = XR
0017       TI = XI
0018       S = DSQRT(0.5D0*(PYTHAG(TR,TI) + DABS(TR)))
0019       IF (TR .GE. 0.0D0) YR = S
0020       IF (TI .LT. 0.0D0) S = -S
0021       IF (TR .LE. 0.0D0) YI = S
0022       IF (TR .LT. 0.0D0) YR = 0.5D0*(TI/YI)
0023       IF (TR .GT. 0.0D0) YI = 0.5D0*(TI/YR)
0024       RETURN
0025       END