std::expint, std::expintf, std::expintl
提供: cppreference.com
<tbody>
</tbody>
-arg
dt
| ヘッダ <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) | (C++17以上) |
double expint( 整数型 arg ); |
(2) | (C++17以上) |
引数
| arg | - | 浮動小数点型または整数型の値 |
戻り値
エラーが発生しなければ、 arg の指数積分、すなわち
-arg
| e-t |
| t |
の値が返されます。
エラー処理
エラーは math_errhandling で規定されている通りに報告されます。
- 引数が NaN の場合は、 NaN が返されます。 定義域エラーは報告されません。
- 引数が ±0 の場合は、 -∞ が返されます。
ノート
C++17 をサポートしないけれども ISO 29124:2010 をサポートする処理系は、 __STDCPP_MATH_SPEC_FUNCS__ が処理系によって少なくとも 201003L の値に定義されており、ユーザがいかなる標準ライブラリのヘッダもインクルードする前に __STDCPP_WANT_MATH_SPEC_FUNCS__ を定義する場合、この関数を提供します。
ISO 29124:2010 をサポートしなけれども TR 19768:2007 (TR1) をサポートする処理系は、ヘッダ <tr1/cmath> および名前空間 std::tr1 で、この関数を提供します。
この関数の実装は boost.math でも利用可能です。
例
Run this code
#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';
}
出力:
Ei(0) = -inf
Ei(1) = 1.89512
Gompetz constant = 0.596347
外部リンク
Weisstein, Eric W. "Exponential Integral." From MathWorld--A Wolfram Web Resource.