o
    Ge                     @   s   d dl Z d dlZd dlmZ d dlZd dlmZ ddlm	Z	 g dZ
dZdZg d	Zg d
Zg dZee edZdgZdd Zejjejde ejdddgdd ZdddZdd Zdd ZdS )    N)assert_allclose)stats   )distcont)i  i  i'  g      ?g      ?)burrchi2
gausshypergenexpongengammakappa4ksonekstwomielkencfncx2pearson3powerlognorm
truncexpontukeylambdavonmiseslevy_stable	trapezoidstudentized_range)-alpha	betaprimer   burr12cauchychir   crystalballdgammadweibullffatiguelifefisk
foldcauchy
genextremer
   genhyperbolicgennorm	genpareto
halfcauchyinvgamma
invweibull	johnsonsukappa3r   r   levylevy_lr   
loglaplacelomaxr   nakagamir   nctr   paretor   	powernorm
skewcauchytr   triangr   r   )argusexponpow	exponweibr   r	   genhalflogistichalfgennormgompertz	johnsonsbr   	kstwobignrecipinvgaussskewnormr   r   vonmises_line)MMMLEerlangc                  c   s&    t D ]\} }| tvr| |fV  qd S N)r   skip_fit)distnamearg rK   d/var/www/html/SPIRAL.web.tool/spiral_venv/lib/python3.10/site-packages/scipy/stats/tests/test_fit.pycases_test_cont_fitA   s   
rM   zdistname,argmethodrE   rD   c              	   C   s  | t | v r+z
ttjd  }W n ty   d}Y nw |r+d|  }|d7 }t| tt| }t	
|ddgg}t	t	|t t	|jd tgd}tD ]Z}t	jd	 t	jd
d |j|d|i}	|j|	|d}
W d    n1 sww   Y  |
| }t	t	|	 t tg|d< t	t	|
rtdt	t	||kr d S qOdt| }|dt|
 7 }|dt| 7 }td|j | )NSCIPY_XFAILTz$Fitting %s doesn't work reliably yetzH [Set environment variable SCIPY_XFAIL=1 to run this test nevertheless.]g              ?   r   i  ignore)allsize)rN   znan returned in fitzparameter: %s
zestimated: %s
zdiff     : %s
zfit not very good in %s
)failing_fitsintosenviron	Exceptionpytestxfailgetattrr   nphstackmaxvstackthresh_percentfullnumargs
thresh_min	fit_sizesrandomseederrstatervsfitabsmeananyisnanAssertionErrorrS   strname)rI   rJ   rN   r\   msgdistfntrueargdiffthresholdfit_sizerj   estdifftxtrK   rK   rL   test_cont_fitK   sH   


r{   c                 C   s4   t t| }||dd  }t|||d|  d d S )NrU   z"poor mle fit of (loc, scale) in %s)atolerr_msg)r]   r   rk   r   )rr   datadesiredr|   dactualrK   rK   rL   _check_loc_scale_mle_fit|   s
   

r   c                  C   s6   t g d} td| ddgd td| ddgd d S )N))\(?{Gz?r   r   Gz?r   r   g       @uniformr   gGz?MbP?expongp=
ף?)r^   arrayr   )r~   rK   rK   rL   "test_non_default_loc_scale_mle_fit   s   r   c                  C   s.   g d} t jj| dd}t|ddgdd dS )zgh-6167)r   r   r   r   rQ   rQ   rQ   rQ   r   )flocrP   r   )r|   N)r   r   rk   r   )r~   phatrK   rK   rL   test_expon_fit   s   r   rG   )rX   numpyr^   numpy.testingr   r[   scipyr   test_continuous_basicr   rf   rb   re   mle_failing_fitsmm_failing_fitsmm_slow_fitsrV   rH   rM   markslowparametrizer{   r   r   r   rK   rK   rK   rL   <module>   s.    

.