Back to home page

sPhenix code displayed by LXR

 
 

    


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

0001  
0002       DOUBLE PRECISION FUNCTION PYTHAG(A,B)
0003       DOUBLE PRECISION A,B
0004 C
0005 C     FINDS DSQRT(A**2+B**2) WITHOUT OVERFLOW OR DESTRUCTIVE UNDERFLOW
0006 C
0007       DOUBLE PRECISION P,R,S,T,U
0008       P = DMAX1(DABS(A),DABS(B))
0009       IF (P .EQ. 0.0D0) GOTO 110
0010       R = (DMIN1(DABS(A),DABS(B))/P)**2
0011   100 CONTINUE
0012          T = 4.0D0 + R
0013          IF (T .EQ. 4.0D0) GOTO 110
0014          S = R/T
0015          U = 1.0D0 + 2.0D0*S
0016          P = U*P
0017          R = (S/U)**2 * R
0018       GOTO 100
0019   110 PYTHAG = P
0020       RETURN
0021       END