Namespaces
Variants

cexpf, cexp, cexpl

From cppreference.net
Definiert im Header <complex.h>
float complex cexpf ( float complex z ) ;
(1) (seit C99)
double complex cexp ( double complex z ) ;
(2) (seit C99)
long double complex cexpl ( long double complex z ) ;
(3) (seit C99)
Definiert im Header <tgmath.h>
#define exp( z )
(4) (seit C99)
1-3) Berechnet die komplexe Basis- e -Exponentialfunktion von z .
4) Typgenerisches Makro: Wenn z den Typ long double complex hat, wird cexpl aufgerufen. Wenn z den Typ double complex hat, wird cexp aufgerufen. Wenn z den Typ float complex hat, wird cexpf aufgerufen. Wenn z reell oder ganzzahlig ist, ruft das Makro die entsprechende reelle Funktion auf ( expf , exp , expl ). Wenn z imaginär ist, wird die entsprechende Version mit komplexem Argument aufgerufen.

Inhaltsverzeichnis

Parameter

z - komplexes Argument

Rückgabewert

Wenn keine Fehler auftreten, wird e hoch z e z
zurückgegeben.

Fehlerbehandlung und spezielle Werte

Fehler werden gemäß math_errhandling gemeldet.

Wenn die Implementierung IEEE-Gleitkommaarithmetik unterstützt,

  • cexp ( conj ( z ) ) == conj ( cexp ( z ) )
  • Wenn z gleich ±0+0i ist, ist das Ergebnis 1+0i
  • Wenn z gleich x+∞i ist (für jedes endliche x), ist das Ergebnis NaN+NaNi und FE_INVALID wird ausgelöst.
  • Wenn z gleich x+NaNi ist (für jedes endliche x), ist das Ergebnis NaN+NaNi und FE_INVALID kann ausgelöst werden.
  • Wenn z gleich +∞+0i ist, ist das Ergebnis +∞+0i
  • Wenn z gleich -∞+yi ist (für jedes endliche y), ist das Ergebnis +0cis(y)
  • Wenn z gleich +∞+yi ist (für jedes endliche y ungleich null), ist das Ergebnis +∞cis(y)
  • Wenn z gleich -∞+∞i ist, ist das Ergebnis ±0±0i (Vorzeichen sind nicht spezifiziert)
  • Wenn z gleich +∞+∞i ist, ist das Ergebnis ±∞+NaNi und FE_INVALID wird ausgelöst (das Vorzeichen des Realteils ist nicht spezifiziert)
  • Wenn z gleich -∞+NaNi ist, ist das Ergebnis ±0±0i (Vorzeichen sind nicht spezifiziert)
  • Wenn z gleich +∞+NaNi ist, ist das Ergebnis ±∞+NaNi (das Vorzeichen des Realteils ist nicht spezifiziert)
  • Wenn z gleich NaN+0i ist, ist das Ergebnis NaN+0i
  • Wenn z gleich NaN+yi ist (für jedes y ungleich null), ist das Ergebnis NaN+NaNi und FE_INVALID kann ausgelöst werden
  • Wenn z gleich NaN+NaNi ist, ist das Ergebnis NaN+NaNi

wobei cis(y) gleich cos(y) + i sin(y) ist

Hinweise

Die komplexe Exponentialfunktion e z
für z = x+iy ist gleich e x
cis(y)
, oder e x
(cos(y) + i sin(y))

Die Exponentialfunktion ist eine ganze Funktion in der komplexen Ebene und besitzt keine Verzweigungsschnitte.

Beispiel

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

Ausgabe:

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

Referenzen

  • C11-Standard (ISO/IEC 9899:2011):
  • 7.3.7.1 The cexp functions (S. 194)
  • 7.25 Type-generic math <tgmath.h> (S. 373-375)
  • G.6.3.1 The cexp functions (S. 543)
  • G.7 Type-generic math <tgmath.h> (S. 545)
  • C99-Standard (ISO/IEC 9899:1999):
  • 7.3.7.1 The cexp functions (S. 176)
  • 7.22 Type-generic math <tgmath.h> (S. 335-337)
  • G.6.3.1 The cexp functions (S. 478)
  • G.7 Type-generic math <tgmath.h> (S. 480)

Siehe auch

(C99) (C99) (C99)
berechnet den komplexen natürlichen Logarithmus
(Funktion)
(C99) (C99)
berechnet e hoch der gegebenen Potenz ( e x )
(Funktion)