File indexing completed on 2025-08-05 08:21:15
0001
0002
0003
0004
0005
0006
0007 FUNCTION PYRVG2(X)
0008
0009 IMPLICIT NONE
0010 COMMON/PYRVPM/RM(0:3),A(2),B(2),RESM(2),RESW(2),MFLAG
0011 DOUBLE PRECISION X, RM, A, B, RESM, RESW, DELTAY, PYRVS
0012 DOUBLE PRECISION RVS,PYRVG2,E2,E3,C1,SR1,SR2
0013 LOGICAL MFLAG
0014 SAVE/PYRVPM/
0015 C1 = 2D0*SQRT(MAX(0D0,X))
0016 RVS = PYRVS(X,X,RESM(1),RESW(1),RESM(2),RESW(2))
0017 IF (.NOT.MFLAG) THEN
0018 E2 = X/C1
0019 E3 = (RM(0)**2-X)/C1
0020 DELTAY = 4D0*E2*E3
0021 PYRVG2 = DELTAY*RVS*X*(A(1)*A(2)+B(1)*B(2))*(RM(0)**2-X)
0022 ELSE
0023 E2 = (X-RM(1)**2+RM(2)**2)/C1
0024 E3 = (RM(0)**2-X-RM(3)**2)/C1
0025 SR1 = SQRT(MAX(0D0,E2**2-RM(2)**2))
0026 SR2 = SQRT(MAX(0D0,E3**2-RM(3)**2))
0027 DELTAY = 4D0*SR1*SR2
0028 PYRVG2 = DELTAY*RVS*(X-RM(1)**2-RM(2)**2)*((A(1)*A(2)
0029 & + B(1)*B(2))*(RM(0)**2+RM(3)**2-X)
0030 & + 2D0*(A(1)*B(2)+A(2)*B(1))*RM(3)*RM(0))
0031 ENDIF
0032 RETURN
0033 END