1*> \brief \b SLAPY2 2* 3* =========== DOCUMENTATION =========== 4* 5* Online html documentation available at 6* http://www.netlib.org/lapack/explore-html/ 7* 8*> \htmlonly 9*> Download SLAPY2 + dependencies 10*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.tgz?format=tgz&filename=/lapack/lapack_routine/slapy2.f"> 11*> [TGZ]</a> 12*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.zip?format=zip&filename=/lapack/lapack_routine/slapy2.f"> 13*> [ZIP]</a> 14*> <a href="http://www.netlib.org/cgi-bin/netlibfiles.txt?format=txt&filename=/lapack/lapack_routine/slapy2.f"> 15*> [TXT]</a> 16*> \endhtmlonly 17* 18* Definition: 19* =========== 20* 21* REAL FUNCTION SLAPY2( X, Y ) 22* 23* .. Scalar Arguments .. 24* REAL X, Y 25* .. 26* 27* 28*> \par Purpose: 29* ============= 30*> 31*> \verbatim 32*> 33*> SLAPY2 returns sqrt(x**2+y**2), taking care not to cause unnecessary 34*> overflow. 35*> \endverbatim 36* 37* Arguments: 38* ========== 39* 40*> \param[in] X 41*> \verbatim 42*> X is REAL 43*> \endverbatim 44*> 45*> \param[in] Y 46*> \verbatim 47*> Y is REAL 48*> X and Y specify the values x and y. 49*> \endverbatim 50* 51* Authors: 52* ======== 53* 54*> \author Univ. of Tennessee 55*> \author Univ. of California Berkeley 56*> \author Univ. of Colorado Denver 57*> \author NAG Ltd. 58* 59*> \date November 2011 60* 61*> \ingroup auxOTHERauxiliary 62* 63* ===================================================================== 64 REAL FUNCTION SLAPY2( X, Y ) 65* 66* -- LAPACK auxiliary routine (version 3.4.0) -- 67* -- LAPACK is a software package provided by Univ. of Tennessee, -- 68* -- Univ. of California Berkeley, Univ. of Colorado Denver and NAG Ltd..-- 69* November 2011 70* 71* .. Scalar Arguments .. 72 REAL X, Y 73* .. 74* 75* ===================================================================== 76* 77* .. Parameters .. 78 REAL ZERO 79 PARAMETER ( ZERO = 0.0E0 ) 80 REAL ONE 81 PARAMETER ( ONE = 1.0E0 ) 82* .. 83* .. Local Scalars .. 84 REAL W, XABS, YABS, Z 85* .. 86* .. Intrinsic Functions .. 87 INTRINSIC ABS, MAX, MIN, SQRT 88* .. 89* .. Executable Statements .. 90* 91 XABS = ABS( X ) 92 YABS = ABS( Y ) 93 W = MAX( XABS, YABS ) 94 Z = MIN( XABS, YABS ) 95 IF( Z.EQ.ZERO ) THEN 96 SLAPY2 = W 97 ELSE 98 SLAPY2 = W*SQRT( ONE+( Z / W )**2 ) 99 END IF 100 RETURN 101* 102* End of SLAPY2 103* 104 END 105