o
    X۷i                     @  s<   d Z ddlmZ ddlmZ dZdZejddded	d
ZdS )a>  Digamma function

See cupy/_core/include/cupy/special/digamma.h for copyright information.

polevl below from Cephes Math Library Release 2.1: December, 1988
Copyright 1984, 1987, 1988 by Stephen L. Moshier

polevl_definition is kept because it is used elsewhere in CuPy,
although it is now no longer used in digamma.
    )annotations)_corez
template<int N> static __device__ double polevl(double x, double coef[])
{
    double ans;
    double *p;

    p = coef;
    ans = *p++;

    for (int i = 0; i < N; ++i){
        ans = ans * x + *p++;
    }

    return ans;
}
z#include <cupy/xsf/digamma.h>cupyx_scipy_special_digamma))zl->d out0 = xsf::digamma(double(in0)))ze->dr   zf->fzd->dzF->FzD->Dzout0 = xsf::digamma(in0)zThe digamma function.

    Args:
        x (cupy.ndarray): The input of digamma function.

    Returns:
        cupy.ndarray: Computed value of digamma function.

    .. seealso:: :data:`scipy.special.digamma`

    )preambledocN)	__doc__
__future__r   cupyr   polevl_definitiondigamma_preamblecreate_ufuncdigamma r   r   R/home/ubuntu/vllm_env/lib/python3.10/site-packages/cupyx/scipy/special/_digamma.py<module>   s    

