Namespaces
Variants
Views
Actions

std::hypot

From cppreference.com
< cpp‎ | numeric‎ | math
Revision as of 15:19, 17 January 2012 by Cubbi (Talk | contribs)

Template:cpp/numeric/math/sidebar Template:ddcl list begin <tr class="t-dsc-header">

<td>
Defined in header <cmath>
</td>

<td></td> <td></td> </tr> <tr class="t-dcl ">

<td >
float       hypot( float x, float y );
</td>

<td > (1) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td >
double      hypot( double x, double y );
</td>

<td > (2) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td >
long double hypot( long double x, long double y );
</td>

<td > (3) </td> <td > (since C++11) </td> </tr> <tr class="t-dcl ">

<td >
Promoted    hypot( Arithmetic x, Arithmetic y );
</td>

<td > (4) </td> <td > (since C++11) </td> </tr> Template:ddcl list end

Computes the square root of the sum of the squares of x and y, without undue overflow or underflow at intermediate stages of the computation. This is the length of the hypotenuse of a right-angled triangle with sides of length x and y, or the distance of the point (x,y) from the origin (0,0), or the magnitude of a complex number x+iy

4) If any argument has integral type, it is cast to Template:cpp. If any other argument is Template:cpp, then the return type is Template:cpp, otherwise it is Template:cpp.

Contents

Parameters

x - floating point value
y - floating point value

Return value

The hypotenuse of a right-angled triangle, x2+y2.

Exceptions

If the result overflows, a range error may occur and Template:cpp may be raised.

If the result is subnormal, an underflow error may occur and Template:cpp may be raised.

Notes

Typical implementation strategy is to calculate an equivalent of u1+(
v
u
)2
where u is Template:cpp and v is Template:cpp.

Example

Template:example cpp

See also

Template:cpp/numeric/math/dcl list sqrtTemplate:cpp/numeric/math/dcl list powTemplate:cpp/numeric/complex/dcl list abs