hypot, hypotf, hypotl, _hypot, _hypotf, _hypotl

斜辺を計算します。

構文

double hypot(
   double x,
   double y
);
float hypotf(
   float x,
   float y
);
long double hypotl(
   long double x,
   long double y
);
double _hypot(
   double x,
   double y
);
float _hypotf(
   float x,
   float y
);
long double _hypotl(
   long double x,
   long double y
);
#define hypotf(X, Y) // Requires C11 or higher

パラメーター

x, y
浮動小数点値。

戻り値

成功した場合、hypot は斜辺の長さを返します。オーバーフローについては、hypot は INF (無限) を返し、errno 変数は ERANGE に設定されます。 _matherr を使用して、エラー処理を修正できます。

リターン コードの詳細については、「errno_doserrno_sys_errlist、および _sys_nerr」を参照してください。

解説

hypot 関数は、xy の 2 辺の長さが指定された直角三角形の斜辺の長さを計算します (つまり、x2 + y2 の平方根)。

以前の標準との互換性のために、先頭にアンダースコアがある関数のバージョンが用意されています。 これらの動作は、先頭にアンダースコアがないバージョンと同じです。 新しいコードには、先頭にアンダースコアがないバージョンを使用することをお勧めします。

<tgmath.h>hypot() マクロを使用する場合は、引数の型によって、この関数のどのバージョンが選択されるかが決定されます。 詳細については、「ジェネリック型数値演算」を参照してください。

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT のグローバル状態」を参照してください

必要条件

ルーチンによって返される値 必須ヘッダー
hypot, hypotf, hypotl, _hypot, _hypotf, _hypotl <math.h>
hypot マクロ <tgmath.h>

互換性の詳細については、「 Compatibility」を参照してください。

// crt_hypot.c
// This program prints the hypotenuse of a right triangle.

#include <math.h>
#include <stdio.h>

int main( void )
{
   double x = 3.0, y = 4.0;

   printf( "If a right triangle has sides %2.1f and %2.1f, "
           "its hypotenuse is %2.1f\n", x, y, _hypot( x, y ) );
}
If a right triangle has sides 3.0 and 4.0, its hypotenuse is 5.0

関連項目

数学と浮動小数点のサポート
_cabs
_matherr