atan, atanf, atan2, atan2f
Calculates the arctangent of x (atan or atanf) or the arctangent of y/x (atan2 or 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
임의의 숫자입니다.
반환 값
atan아크탄젠트 값을 반환 합니다. x –π/2 π/2 라디안을 범위에서.atan2아크탄젠트 값을 반환 합니다. y/x 범위 –π π 라디안에의 합니다.If x is 0, atan returns 0.경우 두 매개 변수 모두의 atan2 0,이 함수는 0을 반환 합니다.모든 결과 라디안으로 표시 됩니다.
atan2두 매개 변수가 모두 흔적이 사분면의 반환 값을 확인 하려면 사용 합니다.
입력 |
SEH 예외 |
Matherr 예외 |
---|---|---|
± QNAN,IND |
없음 |
_DOMAIN |
설명
atan 의 아크탄젠트를 계산 하는 함수 x.atan2아크탄젠트를 계산 y/x (경우 x 0 이면 atan2 경우 π/2를 반환 합니다. y +와-π / 2 경우 y 음수나 0입니다 y 0입니다.)
atan스트리밍 SIMD 확장 2 (SSE2)을 사용 하 여 구현을 했습니다.참조 하십시오 _set_SSE2_enable 에 대 한 정보와 SSE2 구현을 사용 하 여 제한 합니다.
C + + 수 오버, 오버 로드를 호출할 수 있도록 atan 및 atan2.C 프로그램에서 atan 및 atan2 항상 사용 하 고 double 값을 반환 합니다.
요구 사항
루틴 |
필수 헤더 |
---|---|
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;
}