60 DOUBLE PRECISION FUNCTION dlapy2( X, Y )
74 parameter( zero = 0.0d0 )
76 parameter( one = 1.0d0 )
79 DOUBLE PRECISION w, xabs, yabs, z, hugeval
80 LOGICAL x_is_nan, y_is_nan
90 INTRINSIC abs, max, min, sqrt
98 hugeval =
dlamch(
'Overflow' )
100 IF ( .NOT.( x_is_nan.OR.y_is_nan ) )
THEN
103 w = max( xabs, yabs )
104 z = min( xabs, yabs )
105 IF( z.EQ.zero .OR. w.GT.hugeval )
THEN
108 dlapy2 = w*sqrt( one+( z / w )**2 )