o
    i                     @   s   d dl Z d dlZd dlmZ d dlm  mZ d dl	m
Z
 ejdeejj fejdeejj fdZejddfejdd	fejd
d	fejddfejddfejddfejddfejddfejddfg	Ze jdedd Zdd ZdS )    N)assert_allclose)tanhsinh    )fd)      ?      g      ?)r               @)r
   r   r
   )r   r   r   r   )r
   r	   r   )r
      r         ?)r   r	   r      )r
   r   r   g      ?)
      g      @zfunc, args, expectedc              	      s   | j }dd |D }|D ]9}t| \ } fdd|D }tjdd | | }W d    n1 s2w   Y  t| s>J t|||d qd S )Nc                 S   s   g | ]	}| d d qS )z->)split).0sig r   _/home/kim/smarthome/.venv/lib/python3.10/site-packages/scipy/special/tests/test_boost_ufuncs.py
<listcomp>#   s    z*test_stats_boost_ufunc.<locals>.<listcomp>c                    s   g | ]} |qS r   r   )r   argtypr   r   r   &   s    ignore)Zoverrtol)typestype_char_to_type_tolnpZerrstate
isinstancer   )funcargsexpectedZ	type_sigsZ
type_charsZ	type_charr   valuer   r   r   test_stats_boost_ufunc    s   
r'   c                     s   t ddd} d t fddt j | }tj| g R  }t|j| tj| g R  }t|d|  tj	|g R  }t||  tj
|g R  }t|| dd d S )	Nr   )r   r
   c                    s   t j| g R  S )N)scuZ_landau_pdf)xr$   r   r   <lambda>5   s    ztest_landau.<locals>.<lambda>r
   gư>r   )r!   Zlinspacer   infr)   Z_landau_cdfr   ZintegralZ
_landau_sfZ_landau_ppfZ_landau_isf)r*   resZcdfZsfZppfZisfr   r+   r   test_landau0   s   
r/   )Zpytestnumpyr!   Znumpy.testingr   Zscipy.special._ufuncsZspecialZ_ufuncsr)   Zscipy.integrater   Zfloat32ZfinfoepsZfloat64r    Z	_beta_pdfZ	_beta_ppfZ
_binom_cdfZ
_binom_pmfZ_hypergeom_cdfZ_nbinom_cdfZ	_ncf_meanZ	test_datamarkZparametrizer'   r/   r   r   r   r   <module>   s*    









