HYPOT(3M) — UNIX Programmer’s Manual
名称
hypot, cabs − ユークリッド距離、複素数の絶対値
形式
#include <math.h>
double hypot(x,y)
double x,y;
double cabs(z)
struct {double x,y;} z;
解説
hypot(x,y) と cabs(x,y) は、 アンダフローは起こらず、 オーバフローも途中でのオーバーフローは回避され 最終結果がそうなるときだけ起こるような方法で計算された、 sqrt(x∗x+y∗y) を 返します。
NaN を 含むすべての v に対して、 hypot(±∞,v) = hypot(v,±∞) = +∞ が成り立ちます。
(丸め、その他による)誤差
0.97 ulps 未満です。 したがって、 hypot(5.0,12.0) = 13.0 です。 一般に hypot と cabs は、 整数が予想される場合には整数を 返します。
hypot と cabs の簡略化した高速バージョンについて同じことは言えません。 このバージョンについては cabs.c の中のコメントにあります。 この誤差は 1.2 ulps 以上です。
注意
IEEE で定義されている NaN は、 hypot(∞,NaN) の演算結果のように、 値が不適となる場合には、 消去されるように決められています。
関連事項
著者
W. Kahan
NEWS-OSRelease 3.3