The EXPINT function returns the value of the exponential integral En(x).

EXPINT is based on the routine expint described in section 6.3 of Numerical Recipes in C: The Art of Scientific Computing (Second Edition), published by Cambridge University Press, and is used by permission.

## Examples

To compute the value of the exponential integral at the following X values:

`; Define the parametric X values:X = [1.00, 1.05, 1.27, 1.34, 1.38, 1.50]; Compute the exponential integral of order 1:result = EXPINT(1, X); Print the result:PRINT, result`

IDL prints:

`  0.219384 0.201873 0.141911 0.127354 0.119803 0.100020`

This is the exact solution vector to six-decimal accuracy.

## Syntax

Result = EXPINT( N, X [, /DOUBLE] [, EPS=value] [, ITER=variable] [, ITMAX=value] )

## Return Value

Returns the exponential integral En(x).

## Arguments

### N

An integer specifying the order of En(x). N can be either a scalar or an array.

Note: If EXPINT is complex then only the real part is used for the computation.

### X

The value at which En(x) is evaluated. X can be either a scalar or an array.

Note: If an array is specified for both N and X, then EXPINT evaluates En(x) for each Ni and Xi. If either N or X is a scalar and the other an array, the scalar is paired with each array element in turn.

## Keywords

### DOUBLE

Set this keyword to force the computation to be done in double-precision arithmetic. Set this keyword to zero to return a single-precision result.

Note: All internal computations are done using double-precision arithmetic.

### EPS

Use this keyword to specify a number close to the desired relative error. The default value is 3.0 x 10-12.

### ITER

Set this keyword equal to a named variable that will contain the actual number of iterations performed.

### ITMAX

An input integer specifying the maximum allowed number of iterations. The default value is 100000.