o
    X۷i                     @  sD   d dl mZ d dlZd dlZd dlmZ dd Zdd Zdd	 ZdS )
    )annotationsN)specialc                 C  s   t j| ddtt|  S )Nr   axis)r   	logsumexpmathloglen)logx r   R/home/ubuntu/vllm_env/lib/python3.10/site-packages/cupyx/scipy/stats/_morestats.py	_log_mean	   s   r   c                 C  sV   t t| t jd  | j}tjt | |gdd}tjd| ddjt	
t|  S )Ny              ?r   r      )cupybroadcast_tor   pishaper   r   asarrayrealr   r   r	   )r
   neg_logmeanlogxmur   r   r   _log_var   s   "r   c           	      C  s   |j jdv r|tj}|j }|j tjkr|tj}|jd }|dkr,tjtj	|dS t
|}| dkrBtj|dd}t
|}n| | }t|dt
t|   }| d tj|dd |d |  }|j|ddS )	a  The boxcox log-likelihood function.

    Parameters
    ----------
    lmb : scalar
        Parameter for Box-Cox transformation
    data : array-like
        Data to calculate Box-Cox log-likelihood for. If
        `data` is multi-dimensional, the log-likelihood
        is calculated along the first axis

    Returns
    -------
    llf : float or cupy.ndarray
        Box-Cox log-likelihood of `data` given `lmb`. A float
        for 1-D `data`, an array otherwise

    See Also
    --------
    scipy.stats.boxcox_llf

    biur   )dtyper   r      F)copy)r   kindastyper   float64float16float32r   arraynanr   varr   r   abssum)	lmbdatar   Nlogdatavariancelogvarr
   resr   r   r   
boxcox_llf   s    

"r-   )	
__future__r   r   r   cupyx.scipyr   r   r   r-   r   r   r   r   <module>   s    