# cabs(3) [osf1 man page]

```hypot(3)						     Library Functions Manual							  hypot(3)

NAME
hypot, cabs, fabs - Calculate Euclidean distance and absolute value

LIBRARY
Math Library (libm.a)

SYNOPSIS
#include <math.h>

double  hypot   (double	x,  double y); float  hypotf (float  x, float  y); long double hypotl  (long double x, long double y); double cabs
(double x, double y); float  cabsf  (float  x, float  y); long double cabsl   (long double x, long double y);  double  fabs    (double  x);
float  fabsf  (float  x); long double fabsl   (long double x);

STANDARDS
Interfaces documented on this reference page conform to industry standards as follows:

hypot():  XPG4

fabs():	XPG4

DESCRIPTION
The hypot(), hypotf(), and hypotl() functions compute the length of the hypotenuse of a right triangle, where x and y represent the perpen-
dicular sides of the triangle.  The hypot(x,y), hypotf(x,y) and hypotl(x,y) functions are defined as sqrt(x**2 + y**2).

The cabs(), cabsf(), and cabsl() functions return the complex absolute value of x. The cabs(), cabsf(),
and cabsfl) functions are defined as hypot() and hypotf(), respectively.

The fabs(), fabsf(), and fabsl() functions compute the absolute value of x.

The following table describes function behavior in response to exceptional arguments:

-----------------------------------------------------------------------------
Function 		     Exceptional Argument	   Routine Behavior
-----------------------------------------------------------------------------
hypot(), hypotf(), hypotl()   sqrt(x**2 + y**2)>max_float   Overflow
cabs(), cabsf(), cabsl()      sqrt(x**2 + y**2)>max_float   Overflow
-----------------------------------------------------------------------------

The following table lists boundary values used by these functions:

--------------------------------------------------------------------------
Value	       Data	      Hexadecimal Value      Decimal Value
Name	       Type
--------------------------------------------------------------------------
max_float       S_FLOAT	      7F7FFFFF		     3.402823e38
T_FLOAT	      7FEFFFFFFFFFFFFF	     1.7976931348623e308
--------------------------------------------------------------------------

delim off

hypot(3)```

## Check Out this Related Man Page

```hypot(3M)						  Mathematical Library Functions						 hypot(3M)

NAME
hypot, hypotf, hypotl - Euclidean distance function

SYNOPSIS
cc [ 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 x2+ y2without 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 x2and y2PP
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(5) for descriptions of the following attributes:

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