o
    ñh~§  ã                   @   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
 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! d dl"m#Z# d dl$m%Z% 	 d	Z&e j'd
k Z(h d£Z)h d£Z*h d£Z+h d£Z,h d£Z-h d£Z.ddhZ/h d£Z0h d£Z1h d£Z2h d£Z3h d£Z4dhZ5g Z6g d¢ddœZ7ddgg d¢dœZ8e 9e7e8gddg¡D ]\Z:Z;ej<d¥i e:¤de;i¤ŽZ=ej>e=e;dZ?e6 @e?eAƒ f¡ qµd d!„ ZBejC Dd"eBƒ ¡ejC Dd#d$g¡d%d&„ ƒƒZEd'd(„ ZFd)d*„ ZGejC Dd+eFƒ ¡ejC Dd,d-g¡d.d/„ ƒƒZHejC Dd"eBƒ ¡d0d1„ ƒZId2d3„ ZJd4d5„ ZKejCjLejC Dd6eKƒ ¡d7d8„ ƒƒZMejC Dd9e#¡d:d;„ ƒZNejC Dd<g d=¢¡d>d?„ ƒZOd@dA„ ZPdBdC„ ZQdDdE„ ZRdFdG„ ZSdHdI„ ZTdJdK„ ZUdLdM„ ZVdNdO„ ZWdPdQ„ ZXdRdS„ ZYdTdU„ ZZdVdW„ Z[dXdY„ Z\dZd[„ Z]d\d]„ Z^d^d_„ Z_d`da„ Z`dbdc„ Zaddde„ Zbdfdg„ Zcdhdi„ Zddjdk„ Zedldm„ Zfdndo„ Zgdpdq„ Zhdrds„ Zidtdu„ Zjdvdw„ ZkejC Ddxg dy¢¡ejC Ddzekƒ ¡d{d|„ ƒƒZld}d~„ Zmdd€„ Zndd‚„ ZoejCjLdƒd„„ ƒZpejCjqd…d†„ ƒZrd‡dˆ„ Zsd‰dŠ„ Ztd‹g gdŒd ggdd ggdŽd ggdd ggdd 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Zud›dœggdg gdždŸgggZvejC Dd euev ¡d¡d¢„ ƒZwd£d¤„ Zxd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_munp_expect)Údistcont)Úrv_continuous_frozené   l        >
   ÚksoneÚkstwoÚkappa4ÚvonmisesÚ
gausshyperÚnorminvgaussÚrecipinvgaussÚvonmises_lineÚrel_breitwignerÚstudentized_range>   Úpearson3ÚcrystalballÚpowerlognorm>   r   r   r   r   r"   r#   r%   >   r   ÚgenexponÚ	exponweibÚ	johnsonsbÚtukeylambdar(   Úgenhyperbolic>   ÚncfÚncx2r    r"   r#   >   r   r   Ú	irwinhallÚ	trapezoidÚtruncparetoÚlevy_stabler%   >   Úchi2ÚexponÚlognormÚpowerlawÚ
loguniformÚ
reciprocal>   Úbetar/   ÚargusÚexponpowÚgengammaÚgompertzr+   Ú	kstwobignÚ	truncnormr    Ú
wrapcauchyÚgeninvgaussÚhalfgennormr!   ÚgenhalflogisticÚtruncweibull_min>)   ÚfÚtr.   ÚnctÚburrÚfiskÚlevyÚalphaÚlomaxÚburr12ÚcauchyÚkappa3r   ÚlandauÚlevy_lÚmielkeÚparetoÚbradfordÚinvgammar   Ú	betaprimer*   Ú	genparetor0   Ú	jf_skew_tÚ	johnsonsuÚ	powernormr1   Ú
foldcauchyÚ
genextremeÚ
halfcauchyÚ
loglaplaceÚ
skewcauchyÚ
truncexponr'   r2   r,   r(   r#   Údpareto_lognormr$   >   r   r   r)   r3   r-   r"   r%   >8   rF   rG   Úchir.   rH   r:   r4   r/   Úricer;   Úgammar   r   ÚrdistrO   ÚcosineÚdgammaÚerlangrQ   rR   ÚgennormÚmaxwellÚdweibullr=   rV   ÚloggammaÚlogisticÚnakagamir&   r7   Úskewnormr   rW   rX   r0   rY   r+   r?   r@   r\   r    r^   r8   r9   rB   rC   r,   Úhalflogisticr!   r-   r#   rb   r$   rE   r%   Úrv_histogram_instance)r   é   rs   é   rt   rt   é   ru   ru   ru   r   r   r   r   r   é   rv   rv   rv   é   rw   rw   é   rx   é	   rx   )ÚaÚbins)r   r   é
   TFÚdensity)r}   c                  c   st    t d d … t D ].\} }| dkrq	| tv r"tj| |tjjdV  q	| tv r2tj| |tjjdV  q	| |fV  q	d S )Nr3   ©Úmarks)	r   Úhistogram_test_instancesÚslow_test_cont_basicÚpytestÚparamÚmarkÚslowÚxslow_test_cont_basicÚxslow©ÚdistnameÚarg© r‹   ú[/var/www/vscode/kcb/lib/python3.10/site-packages/scipy/stats/tests/test_continuous_basic.pyÚcases_test_cont_basicn   s   €ør   zdistname,argÚsniô  c                 C   s²  zt t| ƒ}W n ty   | }d} Y nw tj d¡}|j|||dœŽ}|j|Ž \}}| dvr5t|||ƒ 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r¯d}n| dkrµd}t||||	|
ƒ t||ƒ | dv rÎtrÎt d¡ nt||ƒ t||ƒ | dvrât ||| ƒ |j!dkrìt"||ƒ |j#j$tj%j$krÿ| dkrÿt&||tj%ƒ t' (¡ }| )t*d¡ | )t*d¡ | )t+d¡ t,||ƒ W d   ƒ n	1 s&w   Y  t-||ƒ t.||ƒ t/|||
ƒ t0||ƒ | t1vrJt2||ƒ | dkrWt3||| ƒ d S d S )Nrr   é® ©ÚsizeÚrandom_state>   Úlaplace_asymmetricç{®Gáz„?rB   ©r   r   ç      à¿ç      ø?gš™™™™™	@ç333333Ó?ç      @)Úweibull_maxrR   rT   r2   r,   rr   ç      à?Ú
invweibull©r   r   )rt   ©r$   úfails on Linux 32-bit)r?   r   r.   r   r   z The occurrence of roundoff errorzExtremely bad integrandzinvalid valuer@   )4Úgetattrr   Ú	TypeErrorÚnpÚrandomÚRandomStateÚrvsÚcheck_sample_meanvar_Úcheck_cdf_ppfÚcheck_sf_isfÚcheck_cdf_sfÚcheck_ppf_isfÚ	check_pdfÚcheck_pdf_logpdfÚcheck_pdf_logpdf_at_endpointsÚcheck_cdf_logcdfÚcheck_sf_logsfÚcheck_ppf_broadcastÚcheck_distribution_rvsÚcdfÚpdfÚlogpdfÚlogcdfÚlogsfÚgetr   r   Ú	_IS_32BITr‚   Úskipr   r   r   ÚnumargsÚcheck_vecentropyÚ	__class__Ú_entropyÚrv_continuousr   ÚnptÚsuppress_warningsÚfilterr   ÚRuntimeWarningr   Úcheck_retrieving_supportr   r   r   Úfails_cmplxr   Úcheck_ppf_private)r‰   rŠ   rŽ   ÚdistfnÚrngr¥   ÚmÚvrL   Úlocscale_defaultsÚmethsÚspec_xÚxÚsupr‹   r‹   rŒ   Útest_cont_basicz   s†   þÿþ





ü





ÿrÏ   c               
   c   s®   t jj} t jj}t jjdd}t jjdd}td d … t D ]µ\}}dD ]®}dD ]©}|dkr?|tv r?t j||||| dV  q)|dkrS|t	v rSt j|||||dV  q)|dkrg|t
v rgt j|||||dV  q)|dkr{|tv r{t j|||||dV  q)|dkr|tv rt j||||| dV  q)|dkr£|tv r£t j|||||dV  q)|dkr·|tv r·t j|||||dV  q)|dkrË|tv rËt j|||||dV  q)||||fV  q)q%qd S )	NzTest fails and may be slow.©Úreasonz*Test too slow to run to completion (>10m).)ÚMLEÚMM)TFrÒ   r~   rÓ   )r‚   r„   r…   r‡   r¹   r   r€   Úslow_fit_mlerƒ   Úxslow_fit_mleÚxfail_fit_mleÚskip_fit_mleÚslow_fit_mmÚxslow_fit_mmÚxfail_fit_mmÚskip_fit_mm)r…   r‡   Úfailr¹   r‰   rŠ   ÚmethodÚfix_argsr‹   r‹   rŒ   Úcases_test_cont_basic_fitÑ   sH   €æÿÿrß   c                   C   sd   t t t¡ t¡ƒt tƒt tƒ t tƒ ksJ ‚t t t¡ t¡ƒt tƒt tƒ t tƒ ks0J ‚d S ©N)ÚlenrÕ   ÚunionrÖ   r×   rÙ   rÚ   rÛ   r‹   r‹   r‹   rŒ   Útest_cont_basic_fit_casesö   s   ÿÿrã   zdistname, arg, method, fix_argsÚn_fit_sampleséÈ   c                 C   sl   zt t| ƒ}W n ty   | }Y nw tj d¡}|j|||dœŽ}|r-t||||ƒ d S t||||ƒ d S )Nr   r   )	r    r   r¡   r¢   r£   r¤   r¥   Úcheck_fit_args_fixÚcheck_fit_args)r‰   rŠ   rä   rÝ   rÞ   rÆ   rÇ   r¥   r‹   r‹   rŒ   Útest_cont_basic_fitþ   s   ÿrè   c                 C   sv   zt t| ƒ}W n ty   | }d} Y nw t |j|Ž ¡sJ ‚t |j|ddiŽ¡s,J ‚t |j|dd iŽ¡s9J ‚d S )Nrr   r‘   r‹   )r    r   r¡   r¢   Úisscalarr¥   )r‰   rŠ   rÆ   r‹   r‹   rŒ   Útest_rvs_scalar  s   þrê   c                   C   s   t tjdƒ d S )N)r›   çš™™™™™¹?)r   r   r3   r‹   r‹   r‹   rŒ   Ú&test_levy_stable_random_state_property  s   rì   c            	      c   sÒ    t ƒ } dh}dh}td d … t D ]T\}}|dkrq|tv r2tj||ddddtjjdddV  q|| v}||v}||v}tƒ }tj|||||d|dV  |rT|rT|sftj||ddddtjj	g| dV  qd S )	Nr.   rZ   r3   Tútoo slowrÐ   r~   F)
Úsetr   r€   Úxslow_test_momentsr‚   rƒ   r„   r‡   ÚlistÚxfail)	Úfail_normalizationÚfail_higherÚfail_momentr‰   rŠ   Úcond1Úcond2Úcond3r   r‹   r‹   rŒ   Úcases_test_moments#  s2   €ÿ	ÿÿ€ärø   z=distname,arg,normalization_ok,higher_ok,moment_ok,is_xfailingc              	   C   sd  zt t| ƒ}W n ty   | }d} Y nw t ¡ }| td¡ | td¡ | td¡ |r3| t¡ |j|ddiŽ\}}	}
}tjdd9 |rNt	||| ƒ |rwt
|||| ƒ t||||	|
| ƒ t||||	| ƒ t||||	|| ƒ t||| ƒ W d   ƒ n1 sw   Y  t||||	| ƒ |r t||||	| ƒ W d   ƒ d S W d   ƒ d S 1 s«w   Y  d S )	Nrr   z9The integral is probably divergent, or slowly convergent.z#The maximum number of subdivisions.z The algorithm does not converge.ÚmomentsÚmvskÚignore©Úall)r    r   r¡   r¿   rÀ   rÁ   r   r¢   Úerrstater   r   r
   r	   r   r   Úcheck_loc_scaler   )r‰   rŠ   Únormalization_okÚ	higher_okÚ	moment_okÚis_xfailingrÆ   rÎ   rÈ   rÉ   ÚsÚkr‹   r‹   rŒ   Útest_momentsH  sH   þ
ÿÿÿ
€÷å"ær  zdist,shape_argsc                 C   sÐ   | dv r	t  d¡ | dv rtrt  d¡ | dv }tt| ƒ}t d¡}t d¡}|j}g }ddg}t	|ƒD ]!}	|	d	 fd
|	d   }
| 
||	 t |
¡ ¡ | d|	d	 ¡ q4| ||g¡ t|| |||dƒ d S )N)r    r%   rí   rž   rŸ   )r;   rW   rh   rb   rl   Ú	exponnormr-   rB   rQ   r3   rH   r!   rd   rp   Úsemicircularrj   rm   rs   )rt   r   rt   ru   r   r   Úd)r‚   r¹   r¸   r    r   r¢   ÚzerosÚonesrº   ÚrangeÚappendÚinsertÚextendr   )ÚdistÚ
shape_argsÚ
shape_onlyÚdistfuncÚlocÚscaleÚnargsÚallargsÚbshaper  Úshpr‹   r‹   rŒ   Útest_rvs_broadcastr  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   r¢   ÚarrayÚsfr²   r³   r¿   Úassert_allcloseÚassert_equalÚisf)	rÍ   Únr"  r²   r³   r  ÚksÚvalsÚexpectedr‹   r‹   rŒ   Útest_gh17775_regression¨  s   ( r*  c                  C   st  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g d¢dddƒ tttjjg d	¢g d
¢dgdggdƒ d S )Né{   r   r   )r  r  r’   r   z0All the values are equal, but they shouldn't be!)rs   rt   ru   r   )rs   rs   )r   r   r   r   )r   r   r   r   rs   )ru   )r¢   r£   r¤   r   Únormr¥   r
  Údiffr¿   Úassert_rý   r  r!  ÚravelÚassert_raisesÚ
ValueErrorre   )rÇ   r(  r	  r‹   r‹   rŒ   Útest_rvs_gh2069_regressionÄ  s,   


ÿÿÿr2  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²   r¢   ÚinfÚ_cdf)Útnr‹   r‹   rŒ   Útest_nomodify_gh9900_regressioná  s8   ÿÿÿÿÿÿÿÿÿr8  c                  C   sÐ   t  g d¢¡} t  g d¢¡}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 )
N)r   rs   rt   ru   r   rv   )rx   é   r   é    r   é0   c                 S   ó    g | ]\}}t j d ||¡‘qS )rw   ©r   r9   r²   ©Ú.0Ú_aÚ_br‹   r‹   rŒ   Ú
<listcomp>  ó     z4test_broadcast_gh9990_regression.<locals>.<listcomp>rw   c                 S   r<  r   r=  r>  r‹   r‹   rŒ   rB    rC  r   c                 S   s    g | ]\}}t j |||¡‘qS r‹   r=  r>  r‹   r‹   rŒ   rB    rC  c                 S   s    g | ]\}}t j |||¡‘qS r‹   r=  r>  r‹   r‹   rŒ   rB    rC  )r¢   r!  Úzipr¿   Úassert_array_almost_equalr   r9   r²   )rz   ÚbÚansr‹   r‹   rŒ   Ú test_broadcast_gh9990_regression  s   rH  c                   C   sB   t jjt g d¢¡dt g d¢¡ d tjt g d¢¡dd d S )N)ç      @ç       @r  r—   )g      @r™   g      @rI  )rz   rF  r  r  )r   r@   r´   r¢   r!  r5  r‹   r‹   r‹   rŒ   Ú test_broadcast_gh7933_regression  s   
ûrK  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éþÿÿÿrs   y             @Y@é2   é3   c                 S   s"   g | ]\}}t j ||tj¡‘qS r‹   )r   r@   r³   r¢   r5  )r?  Ú_xr@  r‹   r‹   rŒ   rB  +  s   " z*test_gh2002_regression.<locals>.<listcomp>)
r¢   Úr_r  rD  r   r@   r³   r5  r¿   rE  )rÍ   rz   r)  rG  r‹   r‹   rŒ   Útest_gh2002_regression&  s
   rQ  c                  C   s(   d} t j dt | g| d gg¡¡ d S )Ngö(\Âõ@r›   )r   r]   Úppfr¢   r!  )Úcr‹   r‹   rŒ   Útest_gh1320_regression0  s   $rT  c                  C   sˆ   t j d¡ g d¢} 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   r   r   r   çš™™™™™É?rs   rt   r   rÓ   ©rÝ   ru   )Údecimal)r¢   r£   ÚseedÚsqrtÚsuperÚtyper   ÚuniformÚfitr¿   r4  )rÍ   rz   rF  r  r  r‹   r‹   rŒ   Útest_method_of_moments<  s    r^  c                 C   s0   t  | ¡r
t|| ƒ t  |¡rt||ƒ d S d S rà   )r¢   ÚisfiniteÚcheck_sample_meanÚcheck_sample_var)ÚpopmeanÚpopvarÚsampler‹   r‹   rŒ   r¦   H  s
   


ÿr¦   c                 C   s   t  | |¡j}|dksJ ‚d S )Nr”   )r   Úttest_1sampÚpvalue)rd  rb  Úprobr‹   r‹   rŒ   r`  O  s   r`  c                 C   sJ   t j| fdd„ dd}|j}|j|j}}||  kr |ks#J ‚ J ‚d S )Nc                 S   s   | j d|dS )Nr   )ÚddofÚaxis)Úvar)rÍ   ri  r‹   r‹   rŒ   Ú<lambda>[  s    z"check_sample_var.<locals>.<lambda>g×£p=
×ï?)Úconfidence_level)r   Ú	bootstrapÚconfidence_intervalÚlowÚhigh)rd  rc  ÚresÚconfro  rp  r‹   r‹   rŒ   ra  U  s   ý ra  c                 C   s>   g d¢}t j| j| j|g|¢R Ž g|¢R Ž |t|d d d S )N)gü©ñÒMbP?r›   g+‡ÙÎ÷ï?z - cdf-ppf roundtrip©rW  Úerr_msg)r¿   r4  r²   rR  ÚDECIMAL)rÆ   rŠ   ÚmsgÚvaluesr‹   r‹   rŒ   r§   c  s   "ÿ
ÿr§   c                 C   s>   t j| j| jg d¢g|¢R Ž g|¢R Ž g d¢t|d d d S )N©rë   r›   çÍÌÌÌÌÌì?z - sf-isf roundtriprs  )r¿   r4  r"  r%  ru  ©rÆ   rŠ   rv  r‹   r‹   rŒ   r¨   j  s
   &
ÿ
ÿr¨   c                 C   sB   t j| jddgg|¢R Ž d| jddgg|¢R Ž  t|d d d S )Nrë   ry  r  z - cdf-sf relationshiprs  )r¿   r4  r²   r"  ru  rz  r‹   r‹   rŒ   r©   p  s   ÿ
þr©   c                 C   sH   t  ddg¡}tj| j|g|¢R Ž | jd| g|¢R Ž t|d d d S )Nrë   ry  r   z - ppf-isf relationshiprs  )r¢   r!  r¿   r4  r%  rR  ru  )rÆ   rŠ   rv  Úpr‹   r‹   rŒ   rª   w  s   (ÿ
ÿrª   c                 C   s¤   | j dg|¢R Ž }d}| j|g|¢R Ž }|dk s|dkr)|d }| j|g|¢R Ž }| j|| g|¢R Ž | j|| g|¢R Ž  | d }|d7 }tj||t|d d S )	Nr›   gíµ ÷Æ°>g-Cëâ6?ç     ˆÃ@rë   rJ  z - cdf-pdf relationshiprs  )rR  r³   r²   r¿   r4  ru  )rÆ   rŠ   rv  ÚmedianÚepsÚpdfvÚcdfdiffr‹   r‹   rŒ   r«   ~  s   ÿÿÿr«   c                 C   sš   t  g d¢¡}| j|g|¢R Ž }|t  |¡ }| j|g|¢R Ž }| j|g|¢R Ž }||dkt  |¡@  }|t  |¡ }|d7 }tjt  |¡|d|d d S )N)rU  r˜   çš™™™™™Ù?r›   ç333333ã?çffffffæ?çš™™™™™é?r   ú - logpdf-log(pdf) relationshiprw   rs  ©	r¢   r!  rR  r_  r³   r´   r¿   r4  Úlog©rÆ   Úargsrv  Úpointsr(  r³   r´   r‹   r‹   rŒ   r¬     ó   r¬   c                 C   sš   t  ddg¡}| j|g|¢R Ž }|t  |¡ }| j|g|¢R Ž }| j|g|¢R Ž }||dkt  |¡@  }|t  |¡ }|d7 }tjt  |¡|d|d d S )Nr   r   r…  rw   rs  r†  rˆ  r‹   r‹   rŒ   r­     r‹  r­   c                 C   ó   t  g d¢¡}| j|g|¢R Ž }|t  |¡ }| j|g|¢R Ž }| j|g|¢R Ž }||dk }|t  |¡ }|d7 }tjt  |¡|d|d d S )N)	ç        rU  r˜   r  r›   r‚  rƒ  r„  r  r   z - logsf-log(sf) relationshiprw   rs  )	r¢   r!  rR  r_  r"  r¶   r¿   r4  r‡  )rÆ   r‰  rv  rŠ  r(  r"  r¶   r‹   r‹   rŒ   r¯   ª  ó   r¯   c                 C   rŒ  )N)	r   rU  r˜   r  r›   r‚  rƒ  r„  r  r   z - logcdf-log(cdf) relationshiprw   rs  )	r¢   r!  rR  r_  r²   rµ   r¿   r4  r‡  )rÆ   r‰  rv  rŠ  r(  r²   rµ   r‹   r‹   rŒ   r®   ·  rŽ  r®   c                    sj   d‰ g ˆ  }|r‡ fdd„|D ƒ}| j dg|¢R Ž }| j dg|¢R Ž }|d7 }tj||gˆ  d|d d S )Nr   c                    s   g | ]
}t  |gˆ  ¡‘qS r‹   )r¢   r!  )r?  Ú_©Únum_repeatsr‹   rŒ   rB  É  s    z'check_ppf_broadcast.<locals>.<listcomp>r›   z - ppf multiplerw   rs  )rR  r¿   r4  )rÆ   rŠ   rv  r‰  r}  Úmediansr‹   r  rŒ   r°   Ä  s   r°   c                 C   sx   t j|| |dd\}}||k r:t j| | |dd\}}t ||kdt|ƒ d t|ƒ d t|ƒ d t|ƒ ¡ d S d S )Niè  )r‰  ÚNzD = z	; pval = z
; alpha = z
args = )r   Úkstestr¿   r.  Ústr)r  r‰  rL   r¥   ÚDÚpvalr‹   r‹   rŒ   r±   Ñ  s    ÿÿÿ
ÿùr±   c                 C   s   t  | j|Ž | j|Ž ¡ d S rà   )r¿   r$  Ú
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  )r¢   r!  r   r¿   r#  )	rÆ   rŠ   rÈ   rÉ   rv  r  r  ÚmtÚvtr‹   r‹   rŒ   rÿ   è  s   rÿ   c                 C   s>   | j t g d¢¡g|¢R Ž }t t t |¡¡ |d ¡ d S )Nrx  zppf private is nan)Ú_ppfr¢   r!  r¿   r.  ÚanyÚisnan)rÆ   rŠ   rv  Úppfsr‹   r‹   rŒ   rÅ   ñ  s   "rÅ   c                 C   sH   d\}}| j |Ž }| j |||dœŽ}t t |¡| | t |¡¡ d S )N)r   rs   rš  )Úsupportr¿   r4  r¢   r!  )rÆ   r‰  r  r  ÚsuppÚsupp_loc_scaler‹   r‹   rŒ   rÃ   ÷  s   
ÿrÃ   c              	   C   sÆ   t jdd9 t ¡ %}|jtdd |jtdd | j||d}| j|d|d}W d   ƒ n1 s3w   Y  W d   ƒ n1 sBw   Y  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 truncatedrV  Úpowell)Ú	optimizerrÝ   rs   ©	r¢   rþ   r¿   rÀ   rÁ   rÂ   r]  r.  rá   )rÆ   rŠ   r¥   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rw| 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¡ t|ƒd	krÇ| j||d	 |d}	t t|	ƒd	t|ƒ k¡ t |	d	 |d	 k¡ W d   ƒ n1 sÑw   Y  W d   ƒ d S W d   ƒ d S 1 séw   Y  d S )Nrû   rü   r¤  r¥  r   )ÚflocrÝ   r   )ÚfscalerÝ   rs   rL  r3  )Úf0rÝ   )Úf1rÝ   )Úf2rÝ   rª  )
rÆ   rŠ   r¥   rÝ   rÎ   r(  r«  Úvals3Úvals4Úvals5r‹   r‹   rŒ   ræ     s0   ÿ€Përæ   c                  c   s>    t D ]\} }| tv rtj| |tjjdV  q| |fV  qd S )Nr~   )r   Úslow_with_listsr‚   rƒ   r„   r…   rˆ   r‹   r‹   rŒ   Úcases_test_methods_with_lists%  s   €ürµ  rÝ   )r³   r´   r²   rµ   r"  r¶   rR  r%  zdistname, argsc           	         s¦   t t|ƒ}t || ƒ‰ |dkr|  d¡rddg}nddg}dd„ |D ƒ}d	dg}d
dg}ˆ |g|¢R ||dœŽ}tj|‡ fdd„t|g|¢|‘|‘R Ž D ƒddd d S )Nrœ   r‡  r—   rs   rë   rU  c                 S   s   g | ]}|gd  ‘qS )rs   r‹   )r?  rz   r‹   r‹   rŒ   rB  :  s    z+test_methods_with_lists.<locals>.<listcomp>r   r   g)\Âõ(ð?rš  c                    s   g | ]}ˆ |Ž ‘qS r‹   r‹   )r?  rÉ   ©rF   r‹   rŒ   rB  ?  s    g›+¡†›„=r  )r  Úatol)r    r   Ú
startswithr¿   r#  rD  )	rÝ   r‰   r‰  r  rÍ   Úshape2r  r  Úresultr‹   r¶  rŒ   Útest_methods_with_lists-  s   


$
þr»  c                  C   s>   t j ddd¡} t| tƒsJ ‚t j dd¡}t|tƒsJ ‚d S )Nr   r   ru   rx   )r   rI   ÚmomentÚ
isinstanceÚfloatrJ   )Úvals0Úvals1r‹   r‹   rŒ   Ú(test_burr_fisk_moment_gh13234_regressionC  s   rÁ  c               	   C   s®  t jjdt g d¢¡dd} t g d¢¡}t | |¡ t jjdt g d¢¡dd}t tjtjtjg¡}t ||¡ t jjdt g d¢¡g d¢d}t tjdtjg¡}t ||¡ t jjdd	d
d}tj}t ||¡ t||j	ƒstJ ‚t jjdg d¢g d¢d}t dtjtjg¡}	t ||	¡ t jjdg d¢g d¢d}
t dtjdg¡}t |
|¡ t jjdg d¢g d¢d}t tjtjtjg¡}t ||¡ t j
jddd	d	d}tj}t ||¡ t||j	ƒsæJ ‚t j
jdg d¢d	d	d}t tjtjtjg¡}t ||¡ t j
jdg d¢g d¢g d¢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&( |d	 }t jjd|| || || || d$}tj || |¡ W d   ƒ n	1 sÎw   Y  q™d S )'Nr   ©r   rs   rt   ©Úorderr  r  ©r  rJ  rI  r3  )éýÿÿÿr   r   rJ  rs   r   éüÿÿÿ)r   r   rs   )rt   rÇ  éûÿÿÿr™  )r   r   r   )r™   rL  g      Y@g      9@r|  )g      ÀrL  g      YÀ©rÄ  Údfr  r  )r  r  rJ  )r  g      Àr  g ï²™"Ä@r   r  r   r  g      :@g      Š@g‚vIhÂ%<=gš™™™™™ñ¿gš™™™™™@gÍÌÌÌÌÌ À)r3  r   r   r   )r3  r   r   )r3  r   )rÄ  rz   rF  r  r  rû   )ÚinvalidÚdivide)r   r,  r¼  r¢   r!  r¿   r$  Únanr½  r¼   rc   r#  ÚpirY  Úreshaper:   Úbroadcast_arraysÚndenumeraterþ   Útesting)r¿  Ú	expected0rÀ  Ú	expected1r«  Ú	expected2r±  Ú	expected3r²  Ú	expected4r³  Ú	expected5Úvals6Ú	expected6Úvals7Ú	expected7Úvals8Ú	expected8Úvals9Ú	expected9Úvals10Ú
expected10rz   rF  r  r  Úvals11Úir)  r‹   r‹   rŒ   Ú*test_moments_with_array_gh12192_regressionK  sv   ÿÿ
ÿû€ÿrå  c                  C   sl  t jjdt g d¢¡dggd} t g d¢g¡}t | |¡ | j|jks&J ‚t jjdt dgdgdgg¡g d¢d}t g d¢g d¢g d	¢g¡}t ||¡ |j|jksVJ ‚t jjdg d¢d
dd}t g d¢¡}tj	||dd |j|jksyJ ‚t jjddgdgdggg d¢g d¢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´J ‚d S )Nr   rÂ  rÃ  rÅ  rs   rt   )r  r  r  )rJ  rJ  rJ  )rI  rI  rI  r  r  rÉ  )g Þe3Eˆé?g>¡® “ô?g Þe3Eˆù?r   r  rJ  rI  )r  r  rJ  )g      ð¿r  rI  g@3Fó“@gw,×W.
@g€fŒæ3&@)r   r,  r¼  r¢   r!  r¿   r$  Úshaperc   r#  rÍ  )r¿  rÓ  rÀ  rÔ  r«  rÕ  r±  rÖ  r‹   r‹   rŒ   Ú/test_broadcasting_in_moments_gh12192_regressionŸ  s.    ÿÿþrç  c                     sJ   g d¢‰ d} t  ‡ fdd„| D ƒ¡}t  tjjˆ | d¡}t ||¡ d S )N)r›   r—   ç      @ç      @ç      @rú   c                    s   g | ]‰ ‡ fd d„ˆD ƒ‘qS )c                    s   g | ]
}t jj |ˆ d ‘qS ©©rù   )r   rP   )r?  ræ  ©r¼  r‹   rŒ   rB  ¾  s    ÿz8test_kappa3_array_gh13582.<locals>.<listcomp>.<listcomp>r‹   ©r?  ©Úshapesrí  rŒ   rB  ¾  s
    
ÿ
ÿz-test_kappa3_array_gh13582.<locals>.<listcomp>rì  )r¢   r!  r   rP   r¿   r#  ©rù   rq  Úres2r‹   rï  rŒ   Útest_kappa3_array_gh13582¹  s   ÿró  c                     s
  t  g d¢¡‰ t  g d¢¡‰d} t  ‡ ‡fdd„| D ƒ¡}t  tjjˆ ˆ| d¡}t ||¡ t  g d¢¡‰ t  g d¢¡‰t  ‡ ‡fd	d„| D ƒ¡}t  tjjˆ ˆ| d¡}t ||¡ t  g d
¢¡‰ t  g d¢¡d d …d f ‰t  tjjˆ ˆ| d¡}|jdksƒJ ‚d S )N)r–   rè  ré  rê  rÆ  )r–   r   g      ø¿r   ré  rú   c                    ó&   g | ]‰ ‡‡‡ fd d„t dƒD ƒ‘qS )c                    ó&   g | ]}t jj ˆ | ˆ| ˆd ‘qS rë  ©r   r   ©r?  rä  ©Úhr  r¼  r‹   rŒ   rB  É  ó    ÿú8test_kappa4_array_gh13582.<locals>.<listcomp>.<listcomp>r   ©r  rî  ©rù  r  rí  rŒ   rB  É  ó
    ÿ
ÿz-test_kappa4_array_gh13582.<locals>.<listcomp>rì  )r3  ç      Ð¿rÿ  r   r3  r   )r   r   r›   gUUUUUUÕ¿r3  r   c                    rô  )c                    rõ  rë  rö  r÷  rø  r‹   rŒ   rB  Ñ  rú  rû  rv   rü  rî  rý  rí  rŒ   rB  Ñ  rþ  )r3  r–   r   )r3  r–   r   r   )ru   ru   rt   )r¢   r!  r   r   r¿   r#  ræ  rñ  r‹   rý  rŒ   Útest_kappa4_array_gh13582Ä  s&   ÿÿr   c                  C   s¢   d} t jt| d t ¡ j W d   ƒ n1 sw   Y  t jt| d t ¡ j W d   ƒ n1 s5w   Y  dtj_t ¡ }t|tƒsIJ ‚t	tjdƒ d S )Nz.'rv_continuous_frozen' object has no attribute)ÚmatchÚherringÚpmf)
r‚   r   ÚAttributeErrorr   r,  r  Úlogpmfr½  r   Údelattr)r§  Úfrozen_normr‹   r‹   rŒ   Útest_frozen_attributesÝ  s   ÿÿr  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   )rt   rt   )r‘   r›   )
r¢   r£   Údefault_rngr5  r¿   r$  r   rp   r³   r,  )rÇ   rÍ   rz   ÚmaskÚx_normrq  r‹   r‹   rŒ   Útest_skewnorm_pdf_gh16038ë  s   ,r  r¥   r³   r´   r²   rµ   r"  r¶   rR  r%  r¼  ÚentropyÚexpectr}  ÚmeanÚstdrj  Úintervalgffffffî?r¡  r   ÚmvÚcasec                 C   sf   | \}}t t ¡ |ƒ}||Ž }| tv rt|tjƒsJ ‚d S t|d tjƒs'J ‚t|d tjƒs1J ‚d S )Nr   r   )r    r   r,  Ú
scalar_outr½  r¢   Únumber)r  Úmethod_namer‰  rÝ   rq  r‹   r‹   rŒ   Útest_scalar_for_scalar   s   r  c                  C   s–   t j g d¢¡} t| d tjƒsJ ‚t| d tjƒsJ ‚t j g d¢¡} t| d tjƒs.J ‚t| d tjƒs8J ‚t j dg d¢¡} t| tjƒsIJ ‚d S )NrÂ  r   r   r•   )r   r,  r]  r½  r¢   r  Úfit_loc_scaleÚnnlf)rq  r‹   r‹   rŒ   Útest_scalar_for_scalar2  s   r  r‹   )yÚsysÚnumpyr¢   Únumpy.testingrÒ  r¿   r‚   r   r0  Úscipy.integrater   Ú	itertoolsÚscipyr   Úcommon_testsr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   Úscipy.stats._distr_paramsr   Ú!scipy.stats._distn_infrastructurer   ru  Úmaxsizer¸   r†   r   rï   rÔ   rÕ   rÖ   r×   rØ   rÙ   rÚ   rÛ   rÄ   r´  r€   Úcase1Úcase2Úproductr  r}   Ú	histogramÚ_histÚrv_histogramÚ_rv_histr  Útupler   r„   ÚparametrizerÏ   rß   rã   rè   rê   rì   rø   r…   r  r  r*  r2  r8  rH  rK  rQ  rT  r^  r¦   r`  ra  r§   r¨   r©   rª   r«   r¬   r­   r¯   r®   r°   r±   r»   rÿ   rÅ   rÃ   rç   ræ   rµ  r»  rÁ  rå  rç  ró  r‡   r   r  r  r  Úscalars_outr  r  r‹   r‹   r‹   rŒ   Ú<module>   sÞ    T
ÿU%ÿ
%þ&
5ÿ

$
	T


 ý
