 |
|
| |
Manual Reference Pages - HYPOT (3)
NAME
hypot,
hypotf,
cabs,
cabsf
- Euclidean distance and complex absolute value functions
CONTENTS
Library
Synopsis
Description
ERROR (due to Roundoff, etc.)
Notes
See Also
History
LIBRARY
.Lb libm
SYNOPSIS
.In math.h
double
hypot double x double y
float
hypotf float x float y
.In complex.h
double
cabs double complex z
float
cabsf float complex z
DESCRIPTION
The
hypot
and
hypotf
functions
compute the
sqrt(x*x+y*y)
in such a way that underflow will not happen, and overflow
occurs only if the final result deserves it.
The
cabs
and
cabsf
functions compute the complex absolute value of
z.
hypot oo v
=
hypot v oo
= +oo for all
v,
including NaN.
ERROR (due to Roundoff, etc.)
Below 0.97
ulps.
Consequently
hypot 5.0 12.0
= 13.0
exactly;
in general, hypot and cabs return an integer whenever an
integer might be expected.
The same cannot be said for the shorter and faster version of hypot
and cabs that is provided in the comments in cabs.c; its error can
exceed 1.2
ulps.
NOTES
As might be expected,
hypot v NaN
and
hypot NaN v
are NaN for all
finite
v.
But programmers
might be surprised at first to discover that
hypot ±oo NaN
= +oo.
This is intentional; it happens because
hypot oo v
= +oo
for
all
v,
finite or infinite.
Hence
hypot oo v
is independent of
v.
Unlike the reserved operand fault on a
VAX,
the
IEEE
NaN is designed to
disappear when it turns out to be irrelevant, as it does in
hypot oo NaN.
SEE ALSO
math(3),
sqrt(3)
HISTORY
Both a
hypot
function and a
cabs
function
appeared in
AT&T v7 .
| January 14, 2005 | HYPOT (3) | |
Visit the GSP FreeBSD Man Page Interface. Output converted with manServer 1.07.
|