Namespaces
Variants

cexpf, cexp, cexpl

From cppreference.net
Défini dans l'en-tête <complex.h>
float complex cexpf ( float complex z ) ;
(1) (depuis C99)
double complex cexp ( double complex z ) ;
(2) (depuis C99)
long double complex cexpl ( long double complex z ) ;
(3) (depuis C99)
Défini dans l'en-tête <tgmath.h>
#define exp( z )
(4) (depuis C99)
1-3) Calcule l'exponentielle complexe en base- e de z .
4) Macro générique de type : Si z a le type long double complex , cexpl est appelé. Si z a le type double complex , cexp est appelé. Si z a le type float complex , cexpf est appelé. Si z est réel ou entier, alors la macro appelle la fonction réelle correspondante ( expf , exp , expl ). Si z est imaginaire, la version à argument complexe correspondante est appelée.

Table des matières

Paramètres

z - argument complexe

Valeur de retour

Si aucune erreur ne se produit, e élevé à la puissance z , e z
est retourné.

Gestion des erreurs et valeurs spéciales

Les erreurs sont signalées conformément à math_errhandling .

Si l'implémentation prend en charge l'arithmétique à virgule flottante IEEE,

  • cexp ( conj ( z ) ) == conj ( cexp ( z ) )
  • Si z est ±0+0i , le résultat est 1+0i
  • Si z est x+∞i (pour tout x fini), le résultat est NaN+NaNi et FE_INVALID est déclenché.
  • Si z est x+NaNi (pour tout x fini), le résultat est NaN+NaNi et FE_INVALID peut être déclenché.
  • Si z est +∞+0i , le résultat est +∞+0i
  • Si z est -∞+yi (pour tout y fini), le résultat est +0cis(y)
  • Si z est +∞+yi (pour tout y fini non nul), le résultat est +∞cis(y)
  • Si z est -∞+∞i , le résultat est ±0±0i (les signes ne sont pas spécifiés)
  • Si z est +∞+∞i , le résultat est ±∞+NaNi et FE_INVALID est déclenché (le signe de la partie réelle n'est pas spécifié)
  • Si z est -∞+NaNi , le résultat est ±0±0i (les signes ne sont pas spécifiés)
  • Si z est +∞+NaNi , le résultat est ±∞+NaNi (le signe de la partie réelle n'est pas spécifié)
  • Si z est NaN+0i , le résultat est NaN+0i
  • Si z est NaN+yi (pour tout y non nul), le résultat est NaN+NaNi et FE_INVALID peut être déclenché
  • Si z est NaN+NaNi , le résultat est NaN+NaNi

cis(y) est cos(y) + i sin(y)

Notes

La fonction exponentielle complexe e z
pour z = x+iy est égale à e x
cis(y)
, ou e x
(cos(y) + i sin(y))

La fonction exponentielle est une fonction entière dans le plan complexe et ne possède pas de coupures de branche.

Exemple

#include <stdio.h>
#include <math.h>
#include <complex.h>
int main(void)
{
    double PI = acos(-1);
    double complex z = cexp(I * PI); // Formule d'Euler
    printf("exp(i*pi) = %.1f%+.1fi\n", creal(z), cimag(z));
}

Sortie :

exp(i*pi) = -1.0+0.0i

Références

  • Norme C11 (ISO/IEC 9899:2011) :
  • 7.3.7.1 Les fonctions cexp (p: 194)
  • 7.25 Mathématiques génériques de type <tgmath.h> (p: 373-375)
  • G.6.3.1 Les fonctions cexp (p: 543)
  • G.7 Mathématiques génériques de type <tgmath.h> (p: 545)
  • Norme C99 (ISO/IEC 9899:1999) :
  • 7.3.7.1 Les fonctions cexp (p: 176)
  • 7.22 Mathématiques génériques de type <tgmath.h> (p: 335-337)
  • G.6.3.1 Les fonctions cexp (p: 478)
  • G.7 Mathématiques génériques de type <tgmath.h> (p: 480)

Voir aussi

(C99) (C99) (C99)
calcule le logarithme naturel complexe
(fonction)
(C99) (C99)
calcule e élevé à la puissance donnée ( e x )
(fonction)