std::expint, std::expintf, std::expintl
| double expint( double arg ); double expint( float arg ); |
(1) | |
| double expint( IntegralType arg ); |
(2) | |
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 |
[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.