Namespaces
Variants

catanf, catan, catanl

From cppreference.net
Défini dans l'en-tête <complex.h>
float complex catanf ( float complex z ) ;
(1) (depuis C99)
double complex catan ( double complex z ) ;
(2) (depuis C99)
long double complex catanl ( long double complex z ) ;
(3) (depuis C99)
Défini dans l'en-tête <tgmath.h>
#define atan( z )
(4) (depuis C99)
1-3) Calcule l'arc tangente complexe de z avec des coupures de branche en dehors de l'intervalle [−i,+i] le long de l'axe imaginaire.
4) Macro générique de type : Si z est de type long double complex , catanl est appelé. Si z est de type double complex , catan est appelé. Si z est de type float complex , catanf est appelé. Si z est réel ou entier, alors la macro appelle la fonction réelle correspondante ( atanf , atan , atanl ). Si z est imaginaire, alors la macro appelle la version réelle correspondante de la fonction atanh , implémentant la formule atan(iy) = i atanh(y) , et le type de retour de la macro est imaginaire.

Table des matières

Paramètres

z - argument complexe

Valeur de retour

Si aucune erreur ne se produit, l'arc tangente complexe de z est retournée, dans la plage d'une bande non bornée le long de l'axe imaginaire et dans l'intervalle [−π/2; +π/2] le long de l'axe réel.

Les erreurs et les cas particuliers sont gérés comme si l'opération était implémentée par - I * catanh ( I * z ) .

Notes

L'arc tangente (ou tangente inverse) est une fonction multivalue et nécessite une coupure de branche sur le plan complexe. La coupure de branche est conventionnellement placée sur les segments de droite (-∞i,-i) et (+i,+∞i) de l'axe imaginaire.

The mathematical definition of the principal value of inverse tangent is atan z = -
1
2
i [ln(1 - iz) - ln (1 + iz)]

Exemple

#include <stdio.h>
#include <float.h>
#include <complex.h>
int main(void)
{
    double complex z = catan(2*I);
    printf("catan(+0+2i) = %f%+fi\n", creal(z), cimag(z));
    double complex z2 = catan(-conj(2*I)); // or CMPLX(-0.0, 2)
    printf("catan(-0+2i) (the other side of the cut) = %f%+fi\n", creal(z2), cimag(z2));
    double complex z3 = 2*catan(2*I*DBL_MAX); // or CMPLX(0, INFINITY)
    printf("2*catan(+0+i*Inf) = %f%+fi\n", creal(z3), cimag(z3));
}

Sortie :

catan(+0+2i) = 1.570796+0.549306i
catan(-0+2i) (the other side of the cut) = -1.570796+0.549306i
2*catan(+0+i*Inf) = 3.141593+0.000000i

Références

  • Norme C11 (ISO/IEC 9899:2011) :
  • 7.3.5.3 Les fonctions catan (p: 191)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: 373-375)
  • G.7 Mathématiques génériques de type <tgmath.h> (p: 545)
  • Norme C99 (ISO/IEC 9899:1999) :
  • 7.3.5.3 Les fonctions catan (p: 173)
  • 7.22 Mathématiques génériques de type <tgmath.h> (p: 335-337)
  • G.7 Mathématiques génériques de type <tgmath.h> (p: 480)

Voir aussi

(C99) (C99) (C99)
calcule l'arc sinus complexe
(fonction)
(C99) (C99) (C99)
calcule l'arc cosinus complexe
(fonction)
(C99) (C99) (C99)
calcule la tangente complexe
(fonction)
(C99) (C99)
calcule l'arc tangente ( arctan(x) )
(fonction)