_cabs
複素数の絶対値を計算します。
構文
double _cabs(
struct _complex z
);
パラメーター
z
複素数。
戻り値
正常に終了した場合、_cabs
は引数の絶対値を返します。 オーバーフローした場合、 _cabs
は HUGE_VAL
を返し、errno
を ERANGE
に設定します。 エラー処理は、 _matherr
で変更できます。
解説
_cabs
関数は複素数の絶対値を計算します。これは、_complex
型の構造体である必要があります。 構造体 z
は実数コンポーネント x
と虚数コンポーネント y
で構成されます。 _cabs
を呼び出すと、式sqrt( z.x * z.x + z.y * z.y )
と同等の値が生成されます。
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。
要件
ルーチンによって返される値 | 必須ヘッダー |
---|---|
_cabs |
<math.h> |
互換性の詳細については、「 Compatibility」を参照してください。
例
// crt_cabs.c
// Using _cabs, this program calculates
// the absolute value of a complex number.
#include <math.h>
#include <stdio.h>
int main( void )
{
struct _complex number = { 3.0, 4.0 };
double d;
d = _cabs( number );
printf( "The absolute value of %f + %fi is %f\n",
number.x, number.y, d );
}
The absolute value of 3.000000 + 4.000000i is 5.000000