62 DOUBLE PRECISION FUNCTION dlapy2( X, Y )
76 parameter( zero = 0.0d0 )
78 parameter( one = 1.0d0 )
81 DOUBLE PRECISION W, XABS, YABS, Z, HUGEVAL
82 LOGICAL X_IS_NAN, Y_IS_NAN
89 DOUBLE PRECISION DLAMCH
92 INTRINSIC abs, max, min, sqrt
96 x_is_nan = disnan( x )
97 y_is_nan = disnan( y )
100 hugeval = dlamch(
'Overflow' )
102 IF ( .NOT.( x_is_nan.OR.y_is_nan ) )
THEN 105 w = max( xabs, yabs )
106 z = min( xabs, yabs )
107 IF( z.EQ.zero .OR. w.GT.hugeval )
THEN 110 dlapy2 = w*sqrt( one+( z / w )**2 )
double precision function dlapy2(X, Y)
DLAPY2 returns sqrt(x2+y2).