§
    `ƒiï  ã                   óJ   — d dl mZ dZdZ ej        dddeez   d¬¦  «        Zd	S )
é    )Ú_corezP
#include <cupy/math_constants.h>
__constant__ double EUL = 0.5772156649015328;
a  
template <typename T>
static __device__ T exp1(T x) {
    if (x == 0) {
        return CUDART_INF;
    } else if (x <= 1) {
        T e1 = 1.0;
        T R = 1.0;

        for (int k = 1; k <= 25; k++) {
            int den = (k + 1) * (k + 1);
            R = -R * k * x / den;
            e1 += R;
        }
        return -EUL - log(x) + x * e1;
    }

    int M = 20 + 80.0 / x;
    T t0 = 0;
    for (int k = M; k != 0; k--) {
        t0 = k / (1.0 + k / (x + t0));
    }
    T t = 1.0 / (x + t0);
    return exp(-x) * t;
}
Úcupyx_scipy_special_exp1)zf->fzd->dzout0 = exp1(in0)a  Exponential integral E1.

    Parameters
    ----------
    x : cupy.ndarray
        Real argument

    Returns
    -------
    y : scalar or cupy.ndarray
        Values of the exponential integral E1

    See Also
    --------
    :func:`scipy.special.exp1`

    )ÚpreambleÚdocN)Úcupyr   Úmath_constants_and_eulÚexp1_definitionÚcreate_ufuncÚexp1© ó    úm/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/cupyx/scipy/special/_exp1.pyú<module>r      s]   ðð Ð Ð Ð Ð Ð ðÐ ð
€ð8 €uÔØØØØ# oÑ5ð	ðñ ô €€€r   