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 feclearex‐
cept(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(5) for descriptions of the following attributes:
┌─────────────────────────────┬─────────────────────────────┐
│ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
├─────────────────────────────┼─────────────────────────────┤
│Interface Stability │Standard │
├─────────────────────────────┼─────────────────────────────┤
│MT-Level │MT-Safe │
└─────────────────────────────┴─────────────────────────────┘
SEE ALSOfabs(3M), feclearexcept(3M), fetestexcept(3M), isnan(3M),
math.h(3HEAD), sqrt(3M), attributes(5), standards(5)SunOS 5.11 1 Sep 2002 hypot(3M)