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)