HYPOT
Section: C Library Functions (3)
Index
Return to Main Contents
BSD mandoc
BSD 4
NAME
hypot
cabs
- euclidean distance and complex absolute value functions
SYNOPSIS
Fd #include <math.h>
Ft double
Fn hypot double x double y
Fd struct {double x, y;} z;
Ft double
Fn cabs z
DESCRIPTION
The
Fn hypot
and
Fn cabs
functions
computes 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.
Fn hypot v
=
Fn hypot v
= + for all
v
including .
ERROR (due to Roundoff, etc.)
Below 0.97
ulps
Consequently
Fn 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,
Fn hypot v
and
Fn hypot v
are for all
finite
v
with "reserved operand" in place of "", the
same is true on a
VAX
But programmers on machines other than a
VAX
(if has no )
might be surprised at first to discover that
Fn hypot ±
= +.
This is intentional; it happens because
Fn hypot v
= +
for
all
v
finite or infinite.
Hence
Fn hypot v
is independent of
v
Unlike the reserved operand fault on a
VAX
the
IEEE
is designed to
disappear when it turns out to be irrelevant, as it does in
Fn hypot .
SEE ALSO
math(3),
sqrt(3)
HISTORY
Both a
Fn hypot
function and a
Fn cabs
function
appeared in
AT&T System
v7 .
Index
- NAME
-
- SYNOPSIS
-
- DESCRIPTION
-
- ERROR (due to Roundoff, etc.)
-
- NOTES
-
- SEE ALSO
-
- HISTORY
-
This document was created by
man2html,
using the manual pages.
Time: 16:10:48 GMT, January 15, 2023