hypotのヘルプ・マニュアル
日本語 英語
hypot --help
man hypot
HYPOT(3) Linux Programmer’s Manual HYPOT(3)
名前
hypot, hypotf, hypotl - ユークリッド距離関数
書式
#include
double hypot(double x, double y);
float hypotf(float x, float y);
long double hypotl(long double x, long double y);
-lm でリンクする。
glibc 向けの機能検査マクロの要件 (feature_test_macros(7) 参照):
hypot(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE ||
_ISOC99_SOURCE; or cc -std=c99
hypotf(), hypotl(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600
|| _ISOC99_SOURCE; or cc -std=c99
説明
hypot() 関数は sqrt(x*x+y*y) の値を返す。これは直角を挟む 2 辺の長さが
x と y である直角三角形の斜辺の長さ、すなわち、原点と点 (x,y) との距 離
である。
計 算の中間ステップでは、必要以上のオーバーフローやアンダーフローが起き
ないようにして計算が実行される。
返り値
成功すると、これらの関数は、直角を挟む 2 辺の長さが x と y である直角三
角形の斜辺の長さを返す。
x か y が無限大の場合、正の無限大が返される。
x か y の一方が NaN で、もう一方が無限大でない場合、 NaN が返される。
結果がオーバーフローする場合、範囲エラー (range error) が発生し、各関数
はそれぞれ HUGE_VAL, HUGE_VALF, HUGE_VALL を返す。
両方の引き数が非正規化数 (subnormal) で、結果も非正規化 数 (subnormal)
の場合、範囲エラーが発生し、正しい結果が返される。
エラー
こ れらの関数を呼び出した際にエラーが発生したかの判定方法についての情報
は math_error(7) を参照のこと。
以下のエラーが発生する可能性がある。
範囲エラー: 結果のオーバーフロー
errno に ERANGE が設定される。オーバーフロー浮 動 小 数 点 例 外
(FE_OVERFLOW) が上がる。
範囲エラー: 結果のアンダーフロー
アンダーフロー浮動小数点例外 (FE_UNDERFLOW) が上がる。
この場合、これらの関数は errno を設定しない。
準拠
C99, POSIX.1-2001. double 版の関数は SVr4, 4.3BSD にも準拠している。
関連項目
cabs(3), sqrt(3)
2008-08-05 HYPOT(3)
HYPOT(3) Linux Programmer’s Manual HYPOT(3)
NAME
hypot, hypotf, hypotl - Euclidean distance function
SYNOPSIS
#include
double hypot(double x, double y);
float hypotf(float x, float y);
long double hypotl(long double x, long double y);
Link with -lm.
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
hypot(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE ||
_ISOC99_SOURCE; or cc -std=c99
hypotf(), hypotl(): _BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 600
|| _ISOC99_SOURCE; or cc -std=c99
DESCRIPTION
The hypot() function returns sqrt(x*x+y*y). This is the length of the
hypotenuse of a right-angled triangle with sides of length x and y, or
the distance of the point (x,y) from the origin.
The calculation is performed without undue overflow or underflow during
the intermediate steps of the calculation.
RETURN VALUE
On success, these functions return the length of a right-angled trian-
gle with sides of length x and y.
If x or y is an infinity, positive infinity is returned.
If x or y is a NaN, and the other argument is not an infinity, a NaN is
returned.
If the result overflows, a range error occurs, and the functions return
HUGE_VAL, HUGE_VALF, or HUGE_VALL, respectively.
If both arguments are subnormal, and the result is subnormal, a range
error occurs, and the correct result is returned.
ERRORS
See math_error(7) for information on how to determine whether an error
has occurred when calling these functions.
The following errors can occur:
Range error: result overflow
errno is set to ERANGE. An overflow floating-point exception
(FE_OVERFLOW) is raised.
Range error: result underflow
An underflow floating-point exception (FE_UNDERFLOW) is raised.
These functions do not set errno for this case.
CONFORMING TO
C99, POSIX.1-2001. The variant returning double also conforms to SVr4,
4.3BSD.
SEE ALSO
cabs(3), sqrt(3)
COLOPHON
This page is part of release 3.22 of the Linux man-pages project. A
description of the project, and information about reporting bugs, can
be found at http://www.kernel.org/doc/man-pages/.
2008-08-05 HYPOT(3)