123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145 |
- .\" Copyright (c) 1985, 1991 Regents of the University of California.
- .\" All rights reserved.
- .\"
- .\" Redistribution and use in source and binary forms, with or without
- .\" modification, are permitted provided that the following conditions
- .\" are met:
- .\" 1. Redistributions of source code must retain the above copyright
- .\" notice, this list of conditions and the following disclaimer.
- .\" 2. Redistributions in binary form must reproduce the above copyright
- .\" notice, this list of conditions and the following disclaimer in the
- .\" documentation and/or other materials provided with the distribution.
- .\" 4. Neither the name of the University nor the names of its contributors
- .\" may be used to endorse or promote products derived from this software
- .\" without specific prior written permission.
- .\"
- .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
- .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
- .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
- .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
- .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
- .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
- .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
- .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- .\" SUCH DAMAGE.
- .\"
- .\" from: @(#)hypot.3 6.7 (Berkeley) 5/6/91
- .\" $FreeBSD: src/lib/msun/man/hypot.3,v 1.18 2010/05/13 12:08:11 uqs Exp $
- .\"
- .Dd March 30, 2008
- .Dt HYPOT 3
- .Os
- .Sh NAME
- .Nm hypot ,
- .Nm hypotf ,
- .Nm hypotl ,
- .Nm cabs ,
- .Nm cabsf ,
- .Nm cabsl
- .Nd Euclidean distance and complex absolute value functions
- .Sh LIBRARY
- .Lb libm
- .Sh SYNOPSIS
- .In math.h
- .Ft double
- .Fn hypot "double x" "double y"
- .Ft float
- .Fn hypotf "float x" "float y"
- .Ft "long double"
- .Fn hypotl "long double x" "long double y"
- .In complex.h
- .Ft double
- .Fn cabs "double complex z"
- .Ft float
- .Fn cabsf "float complex z"
- .Ft "long double"
- .Fn cabsl "long double complex z"
- .Sh DESCRIPTION
- The
- .Fn hypot ,
- .Fn hypotf
- and
- .Fn hypotl
- 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
- .Fn cabs ,
- .Fn cabsf
- and
- .Fn cabsl
- functions compute the complex absolute value of
- .Fa z .
- .Pp
- .Fn hypot "\*(If" "v"
- =
- .Fn hypot "v" "\*(If"
- = +\*(If for all
- .Fa v ,
- including \*(Na.
- .Sh ERROR (due to Roundoff, etc.)
- Below 0.97
- .Em 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.
- .Sh NOTES
- As might be expected,
- .Fn hypot "v" "\*(Na"
- and
- .Fn hypot "\*(Na" "v"
- are \*(Na for all
- .Em finite
- .Fa v .
- But programmers
- might be surprised at first to discover that
- .Fn hypot "\(+-\*(If" "\*(Na"
- = +\*(If.
- This is intentional; it happens because
- .Fn hypot "\*(If" "v"
- = +\*(If
- for
- .Em all
- .Fa v ,
- finite or infinite.
- Hence
- .Fn hypot "\*(If" "v"
- is independent of
- .Fa v .
- Unlike the reserved operand fault on a
- .Tn VAX ,
- the
- .Tn IEEE
- \*(Na is designed to
- disappear when it turns out to be irrelevant, as it does in
- .Fn hypot "\*(If" "\*(Na" .
- .Sh SEE ALSO
- .Xr carg 3 ,
- .Xr math 3 ,
- .Xr sqrt 3
- .Sh STANDARDS
- The
- .Fn hypot ,
- .Fn hypotf ,
- .Fn hypotl ,
- .Fn cabs ,
- .Fn cabsf ,
- and
- .Fn cabsl
- functions conform to
- .St -isoC-99 .
- .Sh HISTORY
- Both a
- .Fn hypot
- function and a
- .Fn cabs
- function
- appeared in
- .At v7 .
|