U
    »mœd3¢  ã                .   @   sJ  d dl Zd dlmZ d dlZd dlmZ d dlm	Z	 d dl
Z
d dlmZ ddlmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZm Z m!Z! d dl"m#Z# d dl$m%Z% d	Z&d
dddddddddg
Z'dddddgZ(dddddd
dgZ)ddddddddddddd d!d"d#d$d
d%ddd&d'dgZ*d(ddddd)dddddd
d%d*dddgZ+d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d d>d!d?d@dAdBgddddd"dCd$d#g dDg Z,e*e+e, dEœZ-d.ddddddddddddd&d d!dFd#d$dGd
d%dddgZ.d+d,d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d d>d!d"d?d@dHdBgdddddCd$d#g dDg Z/e.e+e/ dEœZ0e1d(dId,dJdKdLdMdNdOd2dPddQdddRd6dd8dddd;dSdTdUdVd>d!d"dFddDdGdWdXdYd@ddAddd'ddg-ƒZ2g Z3ddZdZd[d[d[d\d\d\d\d	d	d	d	d	d]d]d]d]d^d^d^d_d_d`gd_daœZ4ddgd ddbgdaœZ5e
 6e4e5gdcddg¡D ]<\Z7Z8ej9f e7dee8i—ŽZ:ej;e:e8df�Z<e3 =e<e>ƒ f¡ �qdgdh„ Z?ej@ Adi¡ej@ Bdje?ƒ ¡ej@ Bdkdlg¡dmdn„ ƒƒƒZCej@ Bdje?ƒ ¡dodp„ ƒZDdqdr„ ZEdsdt„ ZFej@jGej@ BdueFƒ ¡dvdw„ ƒƒZHej@ Bdxe#¡dydz„ ƒZIej@ Bd{d|d}d~g¡dd€„ ƒZJd�d‚„ ZKdƒd„„ ZLd…d†„ ZMd‡dˆ„ ZNd‰dŠ„ ZOd‹dŒ„ ZPd�dŽ„ ZQd�d�„ ZRd‘d’„ ZSd“d”„ ZTd•d–„ ZUd—d˜„ ZVd™dš„ ZWd›dœ„ ZXd�dž„ ZYdŸd „ ZZd¡d¢„ Z[d£d¤„ Z\d¥d¦„ Z]d§d¨„ Z^d©dª„ Z_d«d¬„ Z`d­d®„ Zad¯d°„ Zbd±d²„ Zcej@ Adi¡ej@ Bd³d´dµd¶d·d¸d¹dºd»g¡ej@ Bd¼e#¡d½d¾„ ƒƒƒZdej@ Bd³d´dµd¶d·d¸d¹dºd»g¡d¿dÀ„ ƒZeej@ Bd³d´dµd¶d·d¸d¹dºd»g¡dÁdÂ„ ƒZfdÃdÄ„ ZgdÅdÆ„ ZhdÇdÈ„ ZidÉdÊ„ Zjej@jkdËdÌ„ ƒZldÍdÎ„ ZmdÏdÐ„ ZndÑg gd´d ggdµd ggd¶d ggd·d ggd¸d ggd¹d ggdºd ggd»d ggdÒdggdÓg gdÔg gdÕg gdÖg gd×g gdØg ggZodÙdÚggdÛg gdÜdÝgggZpej@ BdÞeoep ¡dßdà„ ƒZqdádâ„ ZrdS )ãé    N)Úraises)ÚIntegrationWarning)Ústatsé   )Úcheck_normalizationÚcheck_momentÚcheck_mean_expectÚcheck_var_expectÚcheck_skew_expectÚcheck_kurt_expectÚcheck_entropyÚcheck_private_entropyÚcheck_entropy_vect_scaleÚcheck_edge_supportÚcheck_named_argsÚcheck_random_state_propertyÚcheck_meth_dtypeÚcheck_ppf_dtypeÚcheck_cmplx_derivÚcheck_picklingÚcheck_rvs_broadcastÚcheck_freezingÚ'check_deprecation_warning_gh5982_momentÚ)check_deprecation_warning_gh5982_interval)Údistcont)Úrv_continuous_frozené   ZrecipinvgaussÚvonmisesÚkappa4Zvonmises_lineÚ
gausshyperÚnorminvgaussÚgeninvgaussÚgenhyperbolicÚ	truncnormZtruncweibull_minÚstudentized_rangeÚkstwoÚksoneZ
wrapcauchyÚgenexponZexponpowZ	exponweibZhalfgennormZgompertzZ	johnsonsbZ	johnsonsuÚ	kstwobignZmielkeÚncfÚnctZpowerlognormZ	powernormZ	trapezoidÚlevy_stableÚrv_histogram_instanceÚargusZgenhalflogisticZ
truncexponÚalphaÚ	betaprimeZbradfordÚburrZburr12ZcauchyZcrystalballÚfÚfiskZ
foldcauchyÚ
genextremeZ	genparetoZ
halfcauchyZinvgammaÚkappa3ZlevyÚlevy_lZ
loglaplaceZlomaxZnakagamiZ
skewcauchyÚtÚtukeylambdaÚ
invweibullÚparetoZpearson3©ZMLEÚMMZncx2ZrdistÚtruncparetoÚbetaÚchiZchi2ZcosineÚdgammaÚdweibullÚerlangÚgammaZgengammaÚgennormÚloggammaZlogisticZ
loguniformZmaxwellÚ
reciprocalÚriceÚskewnormé   é   é   é   é   é   é	   )ÚaZbinsé
   TFÚdensity)rQ   c                  c   st   t d d … t D ]^\} }| dkr$qq| tkrDtj| |tjjd�V  q| tkrdtj| |tjjd�V  q| |fV  qd S )Nr+   ©Úmarks)	r   Úhistogram_test_instancesÚdistslowÚpytestÚparamÚmarkÚslowÚ	distxslowÚxslow)ÚdistnameÚarg© r^   ú`/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/scipy/stats/tests/test_continuous_basic.pyÚcases_test_cont_basic…   s    r`   zignore::RuntimeWarningzdistname,argzsn, n_fit_samples)iô  éÈ   c              	   C   sæ  zt t| ƒ}W n tk
r*   | }d} Y nX tj d¡}|j|||dœŽ}|j|Ž \}}| dkrlt|||ƒ t||| ƒ t	||| ƒ t
||| ƒ t||| ƒ t||| ƒ t||| ƒ t||| ƒ t||| ƒ t||| ƒ t||| ƒ d}	| dk�rt|j||	|ƒ n| dk�rt| ||	|ƒ d}
|j|j|j|j|jg}ddd	d
dddœ}| | d¡}| dk�rfd}n| dk�rtd}t||||
|ƒ t||ƒ t||ƒ t||ƒ | dk�r¸t||| ƒ |jdk�rÎt||ƒ |j j!tj"j!k�rø| dk�røt#||tj"ƒ t$ %¡ �4}| &t'd¡ | &t'd¡ | &t(d¡ t)||ƒ W 5 Q R X t*||ƒ t+||ƒ t,|||ƒ t-||ƒ | t.k�rxt/||ƒ | dk�rŽt0||| ƒ dD ]N}| t1| k�rºt2|||d |… |ƒ | t3| k�r’t4|||d |… |ƒ �q’d S )Nr,   i® )ÚsizeÚrandom_state>   Úlaplace_asymmetricç{®Gáz„?r!   ©r   r   ç      à¿ç      ø?gš™™™™™	@ç333333Ó?ç      @)Zweibull_maxr5   r9   r<   r7   r,   ç      à?r8   ©r   r&   )rI   )r(   r%   r)   r   r   z The occurrence of roundoff errorzExtremely bad integrandzinvalid valuer#   r:   )5Úgetattrr   Ú	TypeErrorÚnpÚrandomÚRandomStateÚrvsÚcheck_sample_meanvar_Úcheck_cdf_ppfÚcheck_sf_isfÚ	check_pdfÚcheck_pdf_logpdfÚcheck_pdf_logpdf_at_endpointsÚcheck_cdf_logcdfÚcheck_sf_logsfÚcheck_ppf_broadcastr   r   Úcheck_distribution_rvsÚcdfÚpdfÚlogpdfÚlogcdfÚlogsfÚgetr   r   r   r   r   ÚnumargsÚcheck_vecentropyÚ	__class__Ú_entropyZrv_continuousr   ÚnptÚsuppress_warningsÚfilterr   ÚRuntimeWarningr   Úcheck_retrieving_supportr   r   r   Úfails_cmplxr   Úcheck_ppf_privateÚskip_fit_testÚcheck_fit_argsÚskip_fit_fix_testÚcheck_fit_args_fix)r\   r]   ZsnZn_fit_samplesÚdistfnÚrngrr   ÚmÚvr.   Zlocscale_defaultsZmethsZspec_xÚxÚsupÚmethodr^   r^   r_   Útest_cont_basic‘   sŒ    


ÿ  þ






ÿ






r™   c                 C   sx   zt t| ƒ}W n tk
r*   | }d} Y nX t |j|Ž ¡s@t‚t |j|ddiŽ¡sZt‚t |j|dd iŽ¡stt‚d S )Nr,   rb   r^   )rm   r   rn   ro   Zisscalarrr   ÚAssertionError)r\   r]   r’   r^   r^   r_   Útest_rvs_scalarí   s    
r›   c                   C   s   t tjdƒ d S )N)rk   çš™™™™™¹?)r   r   r+   r^   r^   r^   r_   Ú&test_levy_stable_random_state_propertyû   s    r�   c               
   c   s¼   t ƒ } t dgƒ}td d … t D ]–\}}|dkr2q |tkr^tj||dddtjjdd�d�V  q || k}||k}tƒ }tj||||d|d�V  |r”|s tj||dddtjj	g| d�V  q d S )Nr)   r+   Tútoo slow)ÚreasonrR   F)
Úsetr   rT   Údistxslow_test_momentsrV   rW   rX   r[   ÚlistZxfail)Zfail_normalizationZfail_higherr\   r]   Zcond1Zcond2rS   r^   r^   r_   Úcases_test_moments  s$    
ÿ	ÿr£   z3distname,arg,normalization_ok,higher_ok,is_xfailingc              
   C   s   zt t| ƒ}W n tk
r*   | }d} Y nX t ¡ �Â}| td¡ | td¡ |r\| t¡ |j|ddiŽ\}}}	}
tjdd��\ |r’t	||| ƒ |rØt
|||| ƒ t|||||	| ƒ t||||| ƒ t|||||
| ƒ W 5 Q R X t||||| ƒ W 5 Q R X d S )Nr,   z9The integral is probably divergent, or slowly convergent.z#The maximum number of subdivisions.ÚmomentsÚmvskÚignore©Úall)rm   r   rn   r‡   rˆ   r‰   r   ro   Úerrstater   r   r
   r	   r   r   )r\   r]   Znormalization_okZ	higher_okZis_xfailingr’   r—   r”   r•   ÚsÚkr^   r^   r_   Útest_moments$  s0    

ÿÿ
r¬   zdist,shape_argsc                 C   sº   | dkrt  d¡ | dk}tt| ƒ}t d¡}t d¡}|j}g }ddg}t|ƒD ]B}	|	d fd|	d   }
| 	||	 t |
¡ ¡ | 
d	|	d ¡ qR| ||g¡ t|| |||d
ƒ d S )N)r   r'   r$   rž   )r-   r/   r?   r@   Z	exponnormr"   r!   r+   r*   r    rF   rG   ZsemicircularrC   rD   rH   )rI   r   rI   rJ   rl   r   Úd)rV   Úskiprm   r   ro   ÚzerosÚonesrƒ   ÚrangeÚappendÚinsertÚextendr   )ÚdistZ
shape_argsZ
shape_onlyZdistfuncÚlocÚscaleÚnargsZallargsZbshaper«   Zshpr^   r^   r_   Útest_rvs_broadcastG  s    



r¹   zx,n,sf,cdf,pdf,rtol)gñhãˆµøô>é Êš;gÌç­$µÁÜ?g©m%Ÿá?gõ0ŠeD�á@g›+¡†›„ö<)g•Ö&è.!>rº   g×™õúÿÿï?gscl¢˜)D>g ^šRUU!@ç‚vIhÂ%,=)gü©ñÒMb@?rº   g_Hí'9$Ùç      ð?gƒL.ú'r»   c           	      C   s†   t j}t | | |¡| | |¡| | |¡g¡}t |||g¡}tj|||d� t 	|d |d  d¡ tj| 
||¡g| gdd� d S )N©Úrtolr   r   r¼   ç:Œ0âŽyE>)r   r&   ro   ÚarrayÚsfr}   r~   r‡   Úassert_allcloseÚassert_equalÚisf)	r–   ÚnrÁ   r}   r~   r¾   ÚksÚvalsÚexpectedr^   r^   r_   Útest_gh17775_regressiony  s    (rÉ   c                  C   s€  t j d¡} tjjt  d¡d| d�}t  |¡}t 	t  
|dk¡d¡ tjjdt  d¡| d�}t  |¡}t 	t  
|dk¡d¡ tjjt  d¡t  d¡| d�}t  |¡}t 	t  
|dk¡d¡ tjjt  dgdgg¡t  d¡| d�}t  | ¡ ¡}t 	t  
|dk¡d¡ tttjjddgddggddgddggdƒ tttjjddd	dgddd
ƒ tttjjddddgddddgdgdggdƒ d S )Né{   r   r   )r¶   r·   rc   r   z0All the values are equal, but they shouldn't be!rH   rI   rJ   )rH   rH   )rJ   )ro   rp   rq   r   Únormrr   r¯   Údiffr‡   Úassert_r¨   r°   rÀ   ZravelÚassert_raisesÚ
ValueErrorrB   )r“   rÇ   r­   r^   r^   r_   Útest_rvs_gh2069_regression•  s0    


ÿ ÿ
 ÿrÐ   c                  C   s  t j} t |  ddtj¡d¡ t |  dgdgtjg¡d¡ t |  dtj d¡d¡ t |  dgtj gdg¡d¡ t |  dgdgtjg¡d¡ t |  ddtj¡d¡ t |  dgtj gdg¡d¡ t |  dtj d¡d¡ t |  dtj d¡d¡ d S )Nr   r   gú¦A¢—Øå?éÿÿÿÿg²|»ÐNÔ?)r   r#   r‡   Úassert_almost_equalr}   ro   ÚinfZ_cdf)Útnr^   r^   r_   Útest_nomodify_gh9900_regression²  s      rÕ   c                  C   sà   t  ddddddg¡} t  dddd	dd
g¡}dd„ t| |ƒD ƒ}t tj d| |¡|¡ dd„ t| |ƒD ƒ}t tj d| |¡|¡ dd„ t| |ƒD ƒ}t tj | | |¡|¡ dd„ t| |ƒD ƒ}t tj || |¡|¡ d S )Nr   rH   rI   rJ   r   rK   rM   é   é    é0   c                 S   s    g | ]\}}t j d ||¡‘qS )rL   ©r   rE   r}   ©Ú.0Ú_aÚ_br^   r^   r_   Ú
<listcomp>Ö  s     z4test_broadcast_gh9990_regression.<locals>.<listcomp>rL   c                 S   s    g | ]\}}t j d ||¡‘qS rl   rÙ   rÚ   r^   r^   r_   rÞ   Ù  s     c                 S   s    g | ]\}}t j |||¡‘qS r^   rÙ   rÚ   r^   r^   r_   rÞ   Ü  s     c                 S   s    g | ]\}}t j |||¡‘qS r^   rÙ   rÚ   r^   r^   r_   rÞ   ß  s     )ro   rÀ   Úzipr‡   Úassert_array_almost_equalr   rE   r}   )rO   ÚbÚansr^   r^   r_   Ú test_broadcast_gh9990_regressionÍ  s    rã   c                	   C   sH   t jjt dddg¡dt dddg¡ d tjt dddg¡dd� d S )	Nç      @ç       @r¼   rh   g      @rj   g      @)rO   rá   r¶   r·   )r   r#   r   ro   rÀ   rÓ   r^   r^   r^   r_   Ú test_broadcast_gh7933_regressionã  s    ûræ   c                  C   sb   t jddd… } t jt  d¡ t  d¡f }dd„ t| |ƒD ƒ}tj | |t j¡}t 	||¡ d S )NéþÿÿÿrH   y             @Y@é2   é3   c                 S   s"   g | ]\}}t j ||tj¡‘qS r^   )r   r#   r~   ro   rÓ   )rÛ   Z_xrÜ   r^   r^   r_   rÞ   ó  s     z*test_gh2002_regression.<locals>.<listcomp>)
ro   Zr_r°   rß   r   r#   r~   rÓ   r‡   rà   )r–   rO   rÈ   râ   r^   r^   r_   Útest_gh2002_regressionî  s
    rê   c                  C   s(   d} t j dt | g| d gg¡¡ d S )Ngö(\�Âõ@rk   )r   r3   Úppfro   rÀ   )Úcr^   r^   r_   Útest_gh1320_regressionø  s    rí   c                  C   sŽ   t j d¡ dddddg} ddt  d¡ d  }ddt  d¡ d  }tttjƒtjƒj| dd	�\}}t	j
||d
d� t	j
|| |d
d� d S )NiÒ  r   r   çš™™™™™É?rH   rI   r   r;   ©r˜   rJ   )Údecimal)ro   rp   ÚseedÚsqrtÚsuperÚtyper   ÚuniformÚfitr‡   rÒ   )r–   rO   rá   r¶   r·   r^   r^   r_   Útest_method_of_moments  s     r÷   c                 C   s,   t  | ¡rt|| ƒ t  |¡r(t||ƒ d S ©N)ro   ÚisfiniteÚcheck_sample_meanÚcheck_sample_var)ÚpopmeanÚpopvarÚsampler^   r^   r_   rs     s    


rs   c                 C   s   t  | |¡j}|dkst‚d S )Nre   )r   Zttest_1sampZpvaluerš   )rþ   rü   Zprobr^   r^   r_   rú     s    rú   c                 C   sH   t j| fdd„ dd�}|j}|j|j }}||  kr>|ksDn t‚d S )Nc                 S   s   | j d|d�S )Nr   )ZddofÚaxis)Úvar)r–   rÿ   r^   r^   r_   Ú<lambda>#  ó    z"check_sample_var.<locals>.<lambda>g×£p=
×ï?)Zconfidence_level)r   Z	bootstrapZconfidence_intervalÚlowÚhighrš   )rþ   rý   ÚresÚconfr  r  r^   r^   r_   rû     s    ýrû   c                 C   s<   dddg}t j| j| j|f|žŽ f|žŽ |t|d d� d S )Ngü©ñÒMbP?rk   g+‡ÙÎ÷ï?z - cdf-ppf roundtrip©rð   Úerr_msg)r‡   rÒ   r}   rë   ÚDECIMAL)r’   r]   ÚmsgÚvaluesr^   r^   r_   rt   +  s    
  ÿÿrt   c                 C   sx   t j| j| jdddgf|žŽ f|žŽ dddgt|d d� t j| jddgf|žŽ d| jddgf|žŽ  t|d d� d S )Nrœ   rk   çÍÌÌÌÌÌì?z - sf-isf roundtripr  r¼   z - cdf-sf relationship)r‡   rÒ   rÁ   rÄ   r	  r}   )r’   r]   r
  r^   r^   r_   ru   2  s    $  ÿÿ ÿþru   c                 C   s˜   | j d	|žŽ }d}| j|f|žŽ }|dk s2|dkrJ|d }| j|f|žŽ }| j|| f|žŽ | j|| f|žŽ  | d }|d7 }tj||t|d� d S )
Nrk   g�íµ ÷Æ°>g-Cëâ6?ç     ˆÃ@rœ   rå   z - cdf-pdf relationshipr  )rk   )rë   r~   r}   r‡   rÒ   r	  )r’   r]   r
  ÚmedianZepsZpdfvZcdfdiffr^   r^   r_   rv   <  s    ÿÿÿrv   c              	   C   sž   t  dddddddg¡}| j|f|žŽ }|t  |¡ }| j|f|žŽ }| j|f|žŽ }||dkt  |¡@  }|t  |¡ }|d	7 }tjt  |¡|d
|d� d S )Nrî   ri   çš™™™™™Ù?rk   ç333333ã?çffffffæ?çš™™™™™é?r   ú - logpdf-log(pdf) relationshiprL   r  ©	ro   rÀ   rë   rù   r~   r   r‡   rÒ   Úlog©r’   Úargsr
  ÚpointsrÇ   r~   r   r^   r^   r_   rw   N  s    rw   c                 C   s”   t  ddg¡}| j|f|žŽ }|t  |¡ }| j|f|žŽ }| j|f|žŽ }||dkt  |¡@  }|t  |¡ }|d7 }tjt  |¡|d|d� d S )Nr   r   r  rL   r  r  r  r^   r^   r_   rx   [  s    rx   c                 C   s˜   t  ddddddddd	g	¡}| j|f|žŽ }|t  |¡ }| j|f|žŽ }| j|f|žŽ }||d
k }|t  |¡ }|d7 }tjt  |¡|d|d� d S )Nç        rî   ri   r  rk   r  r  r  r¼   r   z - logsf-log(sf) relationshiprL   r  )	ro   rÀ   rë   rù   rÁ   r�   r‡   rÒ   r  )r’   r  r
  r  rÇ   rÁ   r�   r^   r^   r_   rz   h  s    rz   c                 C   s˜   t  ddddddddd	g	¡}| j|f|žŽ }|t  |¡ }| j|f|žŽ }| j|f|žŽ }||dk }|t  |¡ }|d
7 }tjt  |¡|d|d� d S )Nr   rî   ri   r  rk   r  r  r  r¼   z - logcdf-log(cdf) relationshiprL   r  )	ro   rÀ   rë   rù   r}   r€   r‡   rÒ   r  )r’   r  r
  r  rÇ   r}   r€   r^   r^   r_   ry   u  s    ry   c                    sb   d‰ g ˆ  }|r"‡ fdd„|D ƒ}| j d|žŽ }| j d	|žŽ }|d7 }tj||gˆ  d|d� d S )
Nr   c                    s   g | ]}t  |gˆ  ¡‘qS r^   )ro   rÀ   )rÛ   Ú_©Znum_repeatsr^   r_   rÞ   ‡  s     z'check_ppf_broadcast.<locals>.<listcomp>rk   z - ppf multiplerL   r  )rk   )rk   )rë   r‡   rÒ   )r’   r]   r
  r  r  Zmediansr^   r  r_   r{   ‚  s    r{   c                 C   st   t j|| |dd�\}}||k rpt j| | |dd�\}}t ||kdt|ƒ d t|ƒ d t|ƒ d t|ƒ ¡ d S )Niè  )r  ÚNzD = z	; pval = z
; alpha = z
args = )r   Zkstestr‡   rÍ   Ústr)rµ   r  r.   rr   ÚDZpvalr^   r^   r_   r|   �  s     ÿÿÿÿr|   c                 C   s   t  | j|Ž | j|Ž ¡ d S rø   )r‡   rÃ   Z
vecentropyr†   )r’   r  r^   r^   r_   r„   ¢  s    r„   c           	      C   s`   t  ddg¡t  ddg¡ }}| j|||dœŽ\}}t || | |¡ t || | |¡ d S )Nç      $@g      4@©r¶   r·   )ro   rÀ   r   r‡   rÂ   )	r’   r]   r”   r•   r
  r¶   r·   ÚmtÚvtr^   r^   r_   Úcheck_loc_scale¦  s    r#  c                 C   s>   | j t dddg¡f|žŽ }t t t |¡¡ |d ¡ d S )Nrœ   rk   r  zppf private is nan)Z_ppfro   rÀ   r‡   rÍ   ÚanyÚisnan)r’   r]   r
  Zppfsr^   r^   r_   r�   ¯  s    r�   c                 C   sH   d\}}| j |Ž }| j |||dœŽ}t t |¡| | t |¡¡ d S )N)r   rH   r   )Úsupportr‡   rÒ   ro   rÀ   )r’   r  r¶   r·   ZsuppZsupp_loc_scaler^   r^   r_   r‹   µ  s    
ÿr‹   c              
   C   sž   t jdd��T t ¡ �@}|jtdd� |jtdd� | j||d�}| j|d|d�}W 5 Q R X W 5 Q R X t t|ƒd	t|ƒ k¡ t t|ƒd	t|ƒ k¡ d S )
Nr¦   r§   ú!The shape parameter of the erlang©ÚcategoryÚmessagezfloating point number truncatedrï   Zpowell)Z	optimizerr˜   rH   ©	ro   r©   r‡   rˆ   r‰   rŠ   rö   rÍ   Úlen)r’   r]   rr   r˜   r—   rÇ   Úvals2r^   r^   r_   r�   ½  s    ÿÿ$r�   c           
   
   C   s®  t jdd���– t ¡ ��€}|jtdd� | j|d|d�}| j|d|d�}t t|ƒd	t|ƒ k¡ t |d
 dk¡ t |d dk¡ t t|ƒd	t|ƒ k¡ t|ƒdkrò| j||d |d�}t t|ƒd	t|ƒ k¡ t |d |d k¡ t|ƒdk�rD| j||d |d�}t t|ƒd	t|ƒ k¡ t |d |d k¡ t|ƒd	k�r–| j||d	 |d�}	t t|	ƒd	t|ƒ k¡ t |	d	 |d	 k¡ W 5 Q R X W 5 Q R X d S )Nr¦   r§   r'  r(  r   )Zflocr˜   r   )Zfscaler˜   rH   rç   rÑ   )Zf0r˜   )Úf1r˜   )Úf2r˜   r+  )
r’   r]   rr   r˜   r—   rÇ   r-  Úvals3Úvals4Úvals5r^   r^   r_   r‘   Ê  s,    ÿr‘   r˜   r~   r   r}   r€   rÁ   r�   rë   rÄ   zdistname, argsc           	         s    t t|ƒ}t || ƒ‰ |dkr0|  d¡r0ddg}nddg}dd„ |D ƒ}d	dg}d
dg}ˆ |f|ž||dœŽ}tj|‡ fdd„t|f|||fžŽ D ƒddd� d S )Nr8   r  rh   rH   rœ   rî   c                 S   s   g | ]}|gd  ‘qS )rH   r^   )rÛ   rO   r^   r^   r_   rÞ   ñ  s     z+test_methods_with_lists.<locals>.<listcomp>r   r   g)\�Âõ(ð?r   c                    s   g | ]}ˆ |Ž ‘qS r^   r^   )rÛ   r•   ©r1   r^   r_   rÞ   ö  s     g›+¡†›„=r»   )r¾   Zatol)rm   r   Ú
startswithr‡   rÂ   rß   )	r˜   r\   r  rµ   r–   Zshape2r¶   r·   Úresultr^   r3  r_   Útest_methods_with_listsã  s    


  þr6  c              	   C   sR   t tj| ƒdƒ}tjtd| › d�d�� t tj| ƒdƒ}W 5 Q R X ||ksNt‚d S )Nr   z\s*`gilbrat\.z` is deprecated,.*©Úmatch©rm   r   ZgibratrV   ZwarnsÚDeprecationWarningZgilbratrš   )r˜   rÈ   r5  r^   r^   r_   Útest_gilbrat_deprecationú  s    
þr;  c              	   C   sP   t tj| ƒdƒ}tjtdd�� t ¡ }W 5 Q R X t || ƒdƒ}||ksLt‚d S )Nr   z\s*`gilbrat` is deprecatedr7  r9  )r˜   rÈ   Úgr5  r^   r^   r_   Útest_gilbrat_deprecation_frozen  s
    r=  c                  C   s>   t j ddd¡} t| tƒst‚t j dd¡}t|tƒs:t‚d S )Nr   r   rJ   rM   )r   r0   ÚmomentÚ
isinstanceÚfloatrš   r2   )Úvals0Úvals1r^   r^   r_   Ú(test_burr_fisk_moment_gh13234_regression  s    rC  c               
   C   s¸  t jjdt dddg¡dd�} t dddg¡}t | |¡ t jjdt dddg¡dd�}t tjtjtjg¡}t ||¡ t jjdt dddg¡d	dd
gd�}t tjdtjg¡}t ||¡ t jjdd
dd�}tj}t ||¡ t||j	ƒsòt
‚t jjddd
dgdddgd�}t dtjtjg¡}	t ||	¡ t jjdd
d
d
gdddgd�}
t dtjdg¡}t |
|¡ t jjdd
d
d
gdddgd�}t tjtjtjg¡}t ||¡ t jjddd
d
d�}tj}t ||¡ t||j	ƒ�sät
‚t jjddddgd
d
d�}t tjtjtjg¡}t ||¡ t jjddddgdddgdddgd�}t dtjtjg¡}tj||dd� t j dddgddg¡}t ddg¡}tj||dd� dd
dd tjg}dd
dd tjg}dd
t d¡g}d!d
dd tjg}t |¡ d"¡}t |¡ d#¡}t |¡ d$¡}t |¡}t jjd||||d%�}t ||||¡\}}}}t |¡D ]`}tjd&d&d'��F |d
 }t jjd|| || || || d%�}tj || |¡ W 5 Q R X �qRd S )(Nr   rH   rI   ©Úorderr¶   r·   r¼   rå   rä   rÑ   éýÿÿÿr   éüÿÿÿéûÿÿÿr  rj   rç   g      Y@g      9@r  g      Àg      YÀ©rE  Zdfr¶   r·   r  g      Àg ï²™"Ä@r¿   r½   r   g      :@g      Š@g‚vIhÂ%<=gš™™™™™ñ¿gš™™™™™@gÍÌÌÌÌÌ À)rÑ   r   r   r   )rÑ   r   r   )rÑ   r   )rE  rO   rá   r¶   r·   r¦   )ÚinvalidÚdivide)r   rË   r>  ro   rÀ   r‡   rÃ   Únanr?  r…   rš   r>   rÂ   Úpirò   Zreshaper=   Zbroadcast_arraysZndenumerater©   Útesting)rA  Ú	expected0rB  Ú	expected1r-  Ú	expected2r0  Ú	expected3r1  Z	expected4r2  Z	expected5Zvals6Z	expected6Zvals7Z	expected7Zvals8Z	expected8Zvals9Z	expected9Zvals10Z
expected10rO   rá   r¶   r·   Zvals11ÚirÈ   r^   r^   r_   Ú*test_moments_with_array_gh12192_regression  sr    ÿÿ
 ÿrT  c                  C   s„  t jjdt dddg¡dggd�} t dddgg¡}t | |¡ | j|jksPt‚t jjdt dgdgdgg¡dddgd�}t dddgdddgdddgg¡}t ||¡ |j|jks¸t‚t j	jddddgddd	�}t d
ddg¡}tj
||dd� |j|jk�st‚t j	jddgdgdggdddgdddgd	�}t tjtjdgtjtjdgtjtjdgg¡}tj
||dd� |j|jk�s€t‚d S )Nr   rH   rI   rD  r¼   rå   rä   r  rI  g Þe3Eˆé?g>¡® “ô?g Þe3Eˆù?r¿   r½   g      ð¿g@3Fó“@gw,×W.
@g€fŒæ3&@)r   rË   r>  ro   rÀ   r‡   rÃ   Úshaperš   r>   rÂ   rL  )rA  rO  rB  rP  r-  rQ  r0  rR  r^   r^   r_   Ú/test_broadcasting_in_moments_gh12192_regressionn  s.    "ÿ"ÿþrV  c                     sP   dddddg‰ d} t  ‡ fdd„| D ƒ¡}t  tjjˆ | d	�¡}t ||¡ d S )
Nrk   rh   ç      @ç      @ç      @r¥   c                    s   g | ]‰ ‡ fd d„ˆD ƒ‘qS )c                    s   g | ]}t jj |ˆ d �‘qS ©©r¤   )r   r4   )rÛ   rU  ©r>  r^   r_   rÞ   Œ  s   ÿz8test_kappa3_array_gh13582.<locals>.<listcomp>.<listcomp>r^   ©rÛ   ©Zshapesr\  r_   rÞ   Œ  s   ÿ
ÿz-test_kappa3_array_gh13582.<locals>.<listcomp>r[  )ro   rÀ   r   r4   r‡   rÂ   ©r¤   r  Zres2r^   r^  r_   Útest_kappa3_array_gh13582ˆ  s    ÿr`  c                     s.  t  dddddg¡‰ t  dddddg¡‰d	} t  ‡ ‡fd
d„| D ƒ¡}t  tjjˆ ˆ| d�¡}t ||¡ t  ddddddg¡‰ t  ddddddg¡‰t  ‡ ‡fdd„| D ƒ¡}t  tjjˆ ˆ| d�¡}t ||¡ t  dddg¡‰ t  ddddg¡d d …d f ‰t  tjjˆ ˆ| d�¡}|jdk�s*t‚d S )Nrg   rW  rX  rY  rF  r   g      ø¿r   r¥   c                    s&   g | ]‰ ‡‡‡ fd d„t dƒD ƒ‘qS )c                    s&   g | ]}t jj ˆ | ˆ| ˆd �‘qS rZ  ©r   r   ©rÛ   rS  ©Úhr«   r>  r^   r_   rÞ   —  s   ÿú8test_kappa4_array_gh13582.<locals>.<listcomp>.<listcomp>r   ©r±   r]  ©rd  r«   r\  r_   rÞ   —  s   ÿÿz-test_kappa4_array_gh13582.<locals>.<listcomp>r[  rÑ   g      Ð¿rk   gUUUUUUÕ¿c                    s&   g | ]‰ ‡‡‡ fd d„t dƒD ƒ‘qS )c                    s&   g | ]}t jj ˆ | ˆ| ˆd �‘qS rZ  ra  rb  rc  r^   r_   rÞ   Ÿ  s   ÿre  rK   rf  r]  rg  r\  r_   rÞ   Ÿ  s   ÿÿ)rJ   rJ   rI   )ro   rÀ   r   r   r‡   rÂ   rU  rš   r_  r^   rg  r_   Útest_kappa4_array_gh13582’  s&    ÿÿrh  c               	   C   sz   d} t jt| d�� t ¡ j W 5 Q R X t jt| d�� t ¡ j W 5 Q R X dtj_t ¡ }t|tƒsjt	‚t
tjdƒ d S )Nz.'rv_continuous_frozen' object has no attributer7  ZherringÚpmf)rV   r   ÚAttributeErrorr   rË   ri  Zlogpmfr?  r   rš   Údelattr)r*  Zfrozen_normr^   r^   r_   Útest_frozen_attributes«  s    rl  c                  C   sÄ   t j d¡} t j d }}t tj ||¡tj	 |¡¡ | jdd�| jdd� }}| jdd�dk }d||< || }tj ||¡}t || tj	 |¡¡ t ||  tj ||  ||  ¡¡ d S )Nr   )rI   rI   )rb   rk   )
ro   rp   Zdefault_rngrÓ   r‡   rÃ   r   rG   r~   rË   )r“   r–   rO   ÚmaskZx_normr  r^   r^   r_   Útest_skewnorm_pdf_gh16038¹  s    rn  rr   r>  ZentropyÚexpectr  ZmeanZstdr   Úintervalgffffffî?r&  r   ÚmvÚcasec                 C   sd   | \}}t t ¡ |ƒ}||Ž }| tkr8t|tjƒs`t‚n(t|d tjƒsLt‚t|d tjƒs`t‚d S )Nr   r   )rm   r   rË   Ú
scalar_outr?  ro   Únumberrš   )rr  Úmethod_namer  r˜   r  r^   r^   r_   Útest_scalar_for_scalarÎ  s    rv  c                  C   sœ   t j dddg¡} t| d tjƒs&t‚t| d tjƒs:t‚t j dddg¡} t| d tjƒs`t‚t| d tjƒstt‚t j ddddg¡} t| tjƒs˜t‚d S )Nr   rH   rI   r   rf   )	r   rË   rö   r?  ro   rt  rš   Zfit_loc_scaleZnnlf)r  r^   r^   r_   Útest_scalar_for_scalar2Ü  s    rw  )sÚnumpyro   Znumpy.testingrN  r‡   rV   r   rÎ   Zscipy.integrater   Ú	itertoolsZscipyr   Zcommon_testsr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Zscipy.stats._distr_paramsr   Z!scipy.stats._distn_infrastructurer   r	  rU   rZ   r¡   Zskip_fit_test_mleZslow_fit_test_mmZfail_fit_test_mmrŽ   Zskip_fit_fix_test_mleZfail_fit_fix_test_mmr�   r    rŒ   rT   Zcase1Zcase2Úproductrr  rQ   Z	histogramZ_histZrv_histogramZ_rv_histr²   Útupler`   rX   ÚfilterwarningsZparametrizer™   r›   r�   r£   rY   r¬   r¹   rÉ   rÐ   rÕ   rã   ræ   rê   rí   r÷   rs   rú   rû   rt   ru   rv   rw   rx   rz   ry   r{   r|   r„   r#  r�   r‹   r�   r‘   r6  r;  r=  rC  rT  rV  r`  r[   rh  rl  rn  rs  Zscalars_outrv  rw  r^   r^   r^   r_   Ú<module>   sl  X
    þ   ÿ               û	
        ü	
                û   ÿúø	ÿ               ú

                û  ÿúø	ÿ                             ö         ÿÿ
Y
"þ
1úÿ



	
   ÿ   ÿ

   ÿ

T

         ý
