atan, atanf, atanl, atan2, atan2f, atan2l

 

Pour obtenir la dernière documentation sur Visual Studio 2017 RC, consultez Documentation Visual Studio 2017 RC.

Calcule l’arc tangente de x (atan, atanf, et atanl) ou l’arc tangente de y / x (atan2, atan2f, et atan2l).

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   
);  
long double atanl(  
   long double x  
);  
float atan2f(  
   float y,  
   float x  
);  
long double atan2l(  
   long double y,  
   long double x  
);  

Paramètres

x, y
Tous les nombres.

atanRenvoie l’arc tangente de x dans la plage – π/2 et π/2 radians. atan2Renvoie l’arc tangente de y/x dans la plage – π en radians π. Si x est 0, atan renvoie la valeur 0. Si les deux paramètres de atan2 sont 0, la fonction retourne 0. Tous les résultats sont en radians.

atan2utilise les signes des deux paramètres pour déterminer le quadrant de la valeur de retour.

EntréeException SEHException Matherr
± QNAN,INDaucun_DOMAIN

Le atan fonction calcule l’arc tangente (la fonction tangente inverse) de x. atan2calcule l’arc tangente de y / x (si x est égal à 0, atan2 retourne π/2 si y est positif, - π/2 si y est négatif, ou 0 si y est 0.)

atanpossède une implémentation qui utilise des Extensions Streaming SIMD 2 (SSE2). Pour plus d’informations et les restrictions sur l’utilisation de la mise en oeuvre SSE2, consultez _set_SSE2_enable.

C++ autorisant la surcharge, vous pouvez appeler des surcharges de atan et atan2. Dans un programme C, atan et atan2 toujours acceptent et retournent des valeurs de type double.

RoutineEn-tête requis
atan, atan2, atanf, atan2f, atanl, atan2l<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;  
}  

Arctangent of 5.000000: 1.373401  
Arctangent of 0.500000 / 5.000000: 0.099669  

Prise en charge de virgule flottante
ACOS, acosf, acosl
ASIN, asinf, asinl
COS, cosf, cosl, cosh, coshf, coshl
_matherr
sin, sinf, sinl, sinh, sinhf, sinhl
tan, tanf, tanl, tanh, tanhf, tanhl
_Ciatan)
_Ciatan2)

Afficher: