HYPOT(3M)HYPOT(3M)NAME
hypot, cabs - Euclidean distance, complex absolute value
SYNOPSIS
#include <math.h>
double hypot(x,y)
double x,y;
double cabs(z)
struct {double x,y;} z;
DESCRIPTION
Hypot(x,y) and cabs(x,y) return sqrt(x*x+y*y) computed in such a way that underflow will not happen, and overflow occurs only if the final
result deserves it.
hypot(infinity,v) = hypot(v,infinity) = +infinity 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; with "reserved operand" in place of "NaN", the same is true
on a VAX. But programmers on machines other than a VAX (it has no infinity) might be surprised at first to discover that hypot(+-infin-
ity,NaN) = +infinity. This is intentional; it happens because hypot(infinity,v) = +infinity for all v, finite or infinite. Hence
hypot(infinity,v) is independent of v. Unlike the reserved operand on a VAX, the IEEE NaN is designed to disappear when it turns out to be
irrelevant, as it does in hypot(infinity,NaN).
SEE ALSO math(3M), sqrt(3M)AUTHOR
W. Kahan
4th Berkeley Distribution May 12, 1986 HYPOT(3M)
Check Out this Related Man Page
HYPOT(3) BSD Library Functions Manual HYPOT(3)NAME
hypot, hypotf -- Euclidean distance and complex absolute value functions
LIBRARY
Math Library (libm, -lm)
SYNOPSIS
#include <math.h>
double
hypot(double x, double y);
float
hypotf(float x, float y);
DESCRIPTION
The hypot() 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.
hypot(infinity, v) = hypot(v, infinity) = +infinity for all v, including NaN.
ERRORS
Below 0.97 ulps. Consequently hypot(5.0, 12.0) = 13.0 exactly; in general, hypot returns an integer whenever an integer might be expected.
The same cannot be said for the shorter and faster version of hypot 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; with "reserved operand" in place of "NaN", the same is true
on a VAX. But programmers on machines other than a VAX (it has no infinity) might be surprised at first to discover that hypot(+-infinity,
NaN) = +infinity. This is intentional; it happens because hypot(infinity, v) = +infinity for all v, finite or infinite. Hence
hypot(infinity, 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(infinity, NaN).
SEE ALSO math(3), sqrt(3)HISTORY
Both a hypot() function and a cabs() function appeared in Version 7 AT&T UNIX. cabs() was removed from public namespace in NetBSD 5.0 to
avoid conflicts with the complex function in C99.
BSD February 12, 2007 BSD
Can Solaris/any GNU/Linux distros/ any flavor of FreeBSD be booted, right from aUSB flash drive?
Mine's the one pictured here.
SanDisk | Products | USB Flash Drives | SanDisk CruzerŽ Titanium Plus USB Flash Drive
Also, on a completely unrelated note (just so I don't have to fill up forum... (4 Replies)
I am trying to use wget to automate downloading of some mp3/wav files.
However, I can't get it to follow the link to the mp3s.
This is the line (it is not really the website):
wget -prl 1 http://website.com/alarmsHowever, if I right-click and copy the link on the webpage in firefox, then... (4 Replies)
my file has one line
abcdedabxxxxabxxxab
I want to know the #occurrences of substring ab and their positions
Following command gives me
>grep ab -o file|wc
4 4 12
Is the first 4, the number of occurrences of ab? what are other numbers.
Can I get their positions in a one... (8 Replies)
hello,
i have a lot of C old code I'm updating to C11 with tgmath.h for generic math. the old code has very specific types, real and complex, like cabsl, csinhl, etc
usually for simple bulk replacements i would do something simple like this
perl -pi -e 's/cosl/cos/g' *.c
the reference... (0 Replies)