HYPOT(3M) Mathematical Library Functions HYPOT(3M)

NAME


hypot, hypotf, hypotl - Euclidean distance function

SYNOPSIS


c99 [ flag... ] file... -lm [ library... ]
#include <math.h>

double hypot(double x, double y);


float hypotf(float x, float y);


long double hypotl(long double x, long double y);


DESCRIPTION


These functions compute the length of the square root of x^2 + y^2
without undue overflow or underflow.

RETURN VALUES


Upon successful completion, these functions return the length of the
hypotenuse of a right angled triangle with sides of length x^2 and
y^2.


If the correct value would cause overflow, a range error occurs and
hypot(), hypotf(), and hypotl() return the value of the macro
HUGE_VAL, HUGE_VALF, and HUGE_VALL, respectively.


If x or y is +-Inf, +Inf is returned even if one of x or y is NaN.


If x or y is NaN and the other is not +-Inf, a NaN is returned.

ERRORS


These functions will fail if:

Range Error
The result overflows.

If the integer expression (math_errhandling &
MATH_ERREXCEPT) is non-zero, the overflow floating-
point exception is raised.


USAGE


hypot(x,y), hypot(y,x), and hypot(x, -y) are equivalent.


hypot(x, +-0) is equivalent to fabs(x).


These functions takes precautions against underflow and overflow
during intermediate steps of the computation.


An application wanting to check for exceptions should call
feclearexcept(FE_ALL_EXCEPT) before calling these functions. On
return, if fetestexcept(FE_INVALID | FE_DIVBYZERO | FE_OVERFLOW |
FE_UNDERFLOW) is non-zero, an exception has been raised. An
application should either examine the return value or check the
floating point exception flags to detect exceptions.

ATTRIBUTES


See attributes(7) for descriptions of the following attributes:


+----------------------------+-----------------------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+----------------------------+-----------------------------+
|Interface Stability | Standard |
+----------------------------+-----------------------------+
|MT-Level | MT-Safe |
+----------------------------+-----------------------------+

SEE ALSO


math.h(3HEAD), fabs(3M), feclearexcept(3M), fetestexcept(3M),
isnan(3M), sqrt(3M), attributes(7), standards(7)

SunOS 5.11 September 1, 2002 HYPOT(3M)

tribblix@gmail.com :: GitHub :: Privacy