Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cabs(3M) — NEWS-os 4.1C

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

math(3M)

sqrt(3M)

HYPOT(3M)  —  NEWS-OS 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) の演算結果のように、 値が不適となる場合には、 消去されるように決められています。

関連事項

math(3M), sqrt(3M)

著者

W. Kahan

NEWS-OSRelease 4.1C

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026