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 garantiert in
<cmath>
verfügbar, wenn
__STDCPP_MATH_SPEC_FUNCS__
von der Implementierung auf einen Wert von mindestens 201003L definiert wurde und wenn der Benutzer
__STDCPP_WANT_MATH_SPEC_FUNCS__
definiert, bevor er Standardbibliotheksheader einbindet.
Inhaltsverzeichnis |
Parameter
| arg | - | Wert eines Gleitkomma- oder Integraltyps |
Rückgabewert
If no errors occur, value of the exponential integral of arg , that is - ∫ ∞-arg
| e -t |
| t |
Fehlerbehandlung
Fehler können gemäß den Spezifikationen in math_errhandling gemeldet werden.
- Wenn das Argument NaN ist, wird NaN zurückgegeben und kein Domänenfehler gemeldet.
- Wenn das Argument ±0 ist, wird -∞ zurückgegeben.
Hinweise
Implementierungen, die TR 29124 nicht unterstützen, aber TR 19768 unterstützen, stellen diese Funktion im Header
tr1/cmath
und im Namespace
std::tr1
bereit.
Eine Implementierung dieser Funktion ist ebenfalls in boost.math verfügbar .
Beispiel
(funktioniert wie dargestellt 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
Externe Links
Weisstein, Eric W. "Exponential Integral." Von MathWorld -- Eine Wolfram Web Resource.