Namespaces
Variants

casinf, casin, casinl

From cppreference.net
Défini dans l'en-tête <complex.h>
float complex casinf ( float complex z ) ;
(1) (depuis C99)
double complex casin ( double complex z ) ;
(2) (depuis C99)
long double complex casinl ( long double complex z ) ;
(3) (depuis C99)
Défini dans l'en-tête <tgmath.h>
#define asin( z )
(4) (depuis C99)
1-3) Calcule l'arc sinus complexe de z avec des coupures de branche en dehors de l'intervalle [−1,+1] le long de l'axe réel.
4) Macro générique de type : Si z est de type long double complex , casinl est appelé. Si z est de type double complex , casin est appelé. Si z est de type float complex , casinf est appelé. Si z est réel ou entier, alors la macro appelle la fonction réelle correspondante ( asinf , asin , asinl ). Si z est imaginaire, alors la macro appelle la version réelle correspondante de la fonction asinh , implémentant la formule arcsin(iy) = i arsinh(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 sinus complexe de z est retourné, 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 traités comme si l'opération était implémentée par - I * casinh ( I * z )

Notes

L'arc sinus (ou sinus 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 ligne (-∞,-1) et (1,∞) de l'axe réel.

La définition mathématique de la valeur principale de l'arc sinus est arcsin z = - i ln( i z + 1-z 2
)

For any z, arcsin(z) = acos(-z) -
π
2

Exemple

#include <stdio.h>
#include <math.h>
#include <complex.h>
int main(void)
{
    double complex z = casin(-2);
    printf("casin(-2+0i) = %f%+fi\n", creal(z), cimag(z));
    double complex z2 = casin(conj(-2)); // ou CMPLX(-2, -0.0)
    printf("casin(-2-0i) (l'autre côté de la coupure) = %f%+fi\n", creal(z2), cimag(z2));
    // pour tout z, asin(z) = acos(-z) - pi/2
    double pi = acos(-1);
    double complex z3 = csin(cacos(conj(-2))-pi/2);
    printf("csin(cacos(-2-0i)-pi/2) = %f%+fi\n", creal(z3), cimag(z3));
}

Sortie :

casin(-2+0i) = -1.570796+1.316958i
casin(-2-0i) (l'autre côté de la coupure) = -1.570796-1.316958i
csin(cacos(-2-0i)-pi/2) = 2.000000+0.000000i

Références

  • Norme C11 (ISO/CEI 9899:2011) :
  • 7.3.5.2 The casin functions (p: 190)
  • 7.25 Type-generic math <tgmath.h> (p: 373-375)
  • G.7 Type-generic math <tgmath.h> (p: 545)
  • Norme C99 (ISO/CEI 9899:1999) :
  • 7.3.5.2 The casin functions (p: 172)
  • 7.22 Type-generic math <tgmath.h> (p: 335-337)
  • G.7 Type-generic math <tgmath.h> (p: 480)

Voir aussi

(C99) (C99) (C99)
calcule l'arc cosinus complexe
(fonction)
(C99) (C99) (C99)
calcule l'arc tangente complexe
(fonction)
(C99) (C99) (C99)
calcule le sinus complexe
(fonction)
(C99) (C99)
calcule l'arc sinus ( arcsin(x) )
(fonction)