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
);
Parametreler
- x, y
Herhangi bir sayı.
Dönüş Değeri
atanArk tanjantını verir x –π/2'ye π/2 radyan aralığında. atan2Ark tanjantını verir y/x , π radyan için aralığı –π. If x is 0, atan returns 0. Varsa, her iki parametre atan2 0, işlevi 0 değerini döndürür. Tüm sonuçlar radyan cinsinden olur.
atan2Dönüş değeri çeyreğine belirlemek için her iki parametre işaretlerini kullanır.
Girdi |
seh özel durumu |
Matherr özel durum |
---|---|---|
± QNAN,IND |
Hiçbiri |
_DOMAIN |
Notlar
atan İşlevi ark tanjantını hesaplar x. atan2Ark tanjantını hesaplar y/x (, x eşittir 0, atan2 π/2 döndürür y pozitif ise - π / 2, y negatif ya da 0 if y 0'dır.)
atanStreaming SIMD Extensions 2 (SSE2) kullanan bir uygulama var. Bkz: _set_SSE2_enable bilgi ve SSE2 uygulamasını kullanarak kısıtlamaları.
C++ verir, aşırı, aşırı çağırabileceğiniz şekilde atan ve atan2. c programında, atan ve atan2 her zaman alır ve geri dönmek için iki katına çıkar.
Gereksinimler
Yordamı |
Gerekli başlık |
---|---|
atan, atan2, atanf, atan2f |
<math.h> |
Örnek
// 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;
}