hypot, hypotf, hypotl - Euclidean distance function
#include <math.h>
double hypot(double x, double y);
float hypotf(float x, float y);
long double hypotl(long double x, long double y);
Link with -lm
.
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
These functions return sqrt(x
*x
+y
*y
). 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.
The calculation is performed without undue overflow or underflow during the intermediate steps of the calculation.
On success, these functions return the length of a right-angled triangle with sides of length x
and y
.
If x
or y
is an infinity, positive infinity is returned.
If x
or y
is a NaN, and the other argument is not an infinity, a NaN is returned.
If the result overflows, a range error occurs, and the functions return HUGE_VAL, HUGE_VALF, or HUGE_VALL, respectively.
If both arguments are subnormal, and the result is subnormal, a range error occurs, and the correct result is returned.