atan、atanf、atan2、atan2f
x のアークタンジェント (atan または atanf) または / yx のアークタンジェントを計算します。atan2 または atan2f)。
double atan(
double x
);
float atan(
float x
); // C++ only
long double atan(
long double x
); // C++ only
double atan2(
double y,
double x
);
float atan2(
float y,
float x
); // C++ only
long double atan2(
long double y,
long double x
); // C++ only
float atanf(
float x
);
float atan2f(
float y,
float x
);
パラメーター
- x, y
数。
戻り値
π /2 返します atan は– π /2 の範囲で x のアークタンジェントを返します。スコープ – atan2 はπのラジアンにπの y/x のアークタンジェントを返します。x が 0 の場合atan は 0 を返します。atan2 のパラメーターが両方とも 0 の場合0 が返されます。すべての結果を返しますがあります。
atan2 は両方のパラメーターを戻り値の符号の象限を決定します。
入力 |
SEH 例外 |
Matherr の例外 |
---|---|---|
± QNAN,IND |
[none] |
_DOMAIN |
解説
atan の関数は x のアークタンジェントを計算します。atan2 は y と x のアークタンジェントを計算します。x が 0 と等しい場合atan2 はπ /2 y 正の場合はを返します y が 0 の場合 y が負であれば - π /2または 0)
atan にストリーミング SIMD 拡張 2 (SSE2) をストリームに使用する実装されています。SSE2 実装の詳細と使用に関する制限事項については _set_SSE2_enable を参照してください。
C++ ではオーバーロードができるためatan と atan2 のオーバーロードを呼び出します。C. のプログラムではatan と atan2 は受け取り常にを返します。
必要条件
ルーチン |
必須ヘッダー |
---|---|
atan, atan2, atanf, atan2f |
<math.h> |
使用例
// crt_atan.c
// arguments: 5 0.5
#include <math.h>
#include <stdio.h>
#include <errno.h>
int main( int ac, char* av[] )
{
double x, y, theta;
if( ac != 3 ){
fprintf( stderr, "Usage: %s <x> <y>\n", av[0] );
return 1;
}
x = atof( av[1] );
theta = atan( x );
printf( "Arctangent of %f: %f\n", x, theta );
y = atof( av[2] );
theta = atan2( y, x );
printf( "Arctangent of %f / %f: %f\n", y, x, theta );
return 0;
}