Namespaces
Variants

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

From cppreference.net
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) arg 지수 적분 을 계산합니다.
2) 모든 integral type 인자를 받는 오버로드 집합 또는 함수 템플릿. (1) 과 동등하며, 인자를 double 로 캐스팅한 후 적용됩니다.

모든 특수 함수와 마찬가지로, expint 은 구현체가 __STDCPP_MATH_SPEC_FUNCS__ 를 최소 201003L 값으로 정의하고, 사용자가 표준 라이브러리 헤더를 포함하기 전에 __STDCPP_WANT_MATH_SPEC_FUNCS__ 를 정의한 경우에만 <cmath> 에서 사용 가능함이 보장됩니다.

목차

매개변수

arg - 부동 소수점 또는 Integral type 의 값

반환값

If no errors occur, value of the exponential integral of arg , that is -
-arg
e -t
t
d t
, is returned.

오류 처리

오류는 math_errhandling 에 명시된 대로 보고될 수 있습니다.

  • 인수가 NaN이면, NaN이 반환되고 도메인 오류가 보고되지 않습니다.
  • 인수가 ±0이면, -∞가 반환됩니다.

참고 사항

TR 29124를 지원하지 않지만 TR 19768을 지원하는 구현체들은 이 함수를 tr1/cmath 헤더와 std::tr1 네임스페이스에서 제공합니다.

이 함수의 구현체는 또한 boost.math에서 사용 가능합니다 .

예제

(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';
}

출력:

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

외부 링크

Weisstein, Eric W. "Exponential Integral." MathWorld - Wolfram 웹 자원에서 제공.