Namensräume
Varianten
Aktionen

std::expint, std::expintf, std::expintl

Von cppreference.com
 
 
 
 
double      expint( double arg );

double      expint( float arg );
double      expint( long double arg );
float       expintf( float arg );

long double expintl( long double arg );
(1)
double      expint( IntegralType arg );
(2)
1) Berechnet die Exponentialintegral von arg.
2) Eine Menge von Überladungen oder eine Funktionsschablone, die ein Argument eines beliebigen Ganzzahltyps akzeptiert. Entspricht (1) nach Umwandlung des Arguments in double.

Wie alle speziellen Funktionen ist expint nur dann garantiert in <cmath> verfügbar, wenn __STDCPP_MATH_SPEC_FUNCS__ von der Implementierung auf einen Wert von mindestens 201003L definiert ist und wenn der Benutzer __STDCPP_WANT_MATH_SPEC_FUNCS__ definiert, bevor er irgendeine Standardbibliotheks-Headerdatei einbindet.

Inhalt

[bearbeiten] Parameter

arg - Wert eines Gleitkomma- oder Integral-Typs

[bearbeiten] Rückgabewert

Wenn keine Fehler auftreten, wird der Wert der Exponentialintegral von arg zurückgegeben, d.h. -
-arg
e-t
t
dt
.

[bearbeiten] Fehlerbehandlung

Fehler können wie in math_errhandling angegeben gemeldet werden.

  • Wenn das Argument NaN ist, wird NaN zurückgegeben und kein Domänenfehler gemeldet.
  • Wenn das Argument ±0 ist, wird -∞ zurückgegeben.

[bearbeiten] Hinweise

Implementierungen, die TR 29124 nicht unterstützen, aber TR 19768 unterstützen, stellen diese Funktion im Header tr1/cmath und im Namensraum std::tr1 bereit.

Eine Implementierung dieser Funktion ist auch in boost.math verfügbar.

[bearbeiten] Beispiel

(funktioniert wie gezeigt mit gcc 6.0)

#define __STDCPP_WANT_MATH_SPEC_FUNCS__ 1
#include <cmath>
#include <iostream>
 
int main()
{
    std::cout << "Ei(0) = " << std::expint(0) << '\n'
              << "Ei(1) = " << std::expint(1) << '\n'
              << "Gompetz constant = " << -std::exp(1) * std::expint(-1) << '\n';
}

Ausgabe

Ei(0) = -inf
Ei(1) = 1.89512
Gompetz constant = 0.596347

[bearbeiten] Externe Links

Weisstein, Eric W. "Exponential Integral." Von MathWorld--A Wolfram Web Resource.