std::expint, std::expintf, std::expintl
| Definido en el archivo de encabezado <cmath>
|
||
double expint( double arg ); float expint( float arg ); long double expint( long double arg ); float expintf( float arg ); long double expintl( long double arg ); |
(1) | (desde C++17) |
double expint( TipoEntero arg ); |
(2) | (desde C++17) |
double.Parámetros
| arg | - | Un valor de punto flotante o un tipo entero. |
Valor de retorno
Si no se generan errores, devuelve el valor de la integral exponencial de arg, es decir
-arg
| e-t |
| t |
.
Manejo de errores
Los errores se pueden informar como se especifica en math_errhandling.
- Si el argumento es NaN, se devuelve NaN y no se informa de un error de dominio.
- Si el argumento es ±0, se devuelve -∞.
Notas
Las implementaciones que no son compatibles con C++17, pero son compatibles con ISO 29124:2010, proporcionan esta función si __STDCPP_MATH_SPEC_FUNCS__ está definida por la implementación a un valor de al menos 201003L y si el usuario define __STDCPP_WANT_MATH_SPEC_FUNCS__ antes de incluir cualquier archivo de encabezado de la biblioteca estándar.
Las implementaciones que no son compatibles con ISO 29124:2010 pero son compatibles con TR 19768:2007 (TR1), proporcionan esta función en el archivo de encabezado tr1/cmath y el espacio de nombres std::tr1.
Una implementación de esta función también se encuentra disponible en Boost.Math.
Ejemplo
#include <cmath>
#include <iostream>
int main()
{
std::cout << "Ei(0) = " << std::expint(0) << '\n'
<< "Ei(1) = " << std::expint(1) << '\n'
<< "constante de Gompetz = " << -std::exp(1)*std::expint(-1) << '\n';
}
Salida:
Ei(0) = -inf
Ei(1) = 1.89512
constante de Gompetz = 0.596347
Enlaces externos
Weisstein, Eric W. "Integral exponencial." De MathWorld – Un recurso web de Wolfram.