o
    i~                     @   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<di e:de;iZ=ej>e=e;dZ?e6@e?eA f qd d! ZBejCDd"eB ejCDd#d$gd%d& ZEd'd( ZFd)d* ZGejCDd+eF ejCDd,d-gd.d/ ZHejCDd"eB d0d1 ZId2d3 ZJd4d5 ZKejCjLejCDd6eK d7d8 ZMejCDd9e#d:d; ZNejCDd<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jCDdxg dyejCDdzek d{d| Zld}d~ Zmdd Zndd ZoejCjLdd ZpejCjqdd Zrdd Zsdd Ztdg gdd ggdd ggdd ggdd ggdd ggdd ggdd ggdd ggddggdg gdg gdg gdg gdg gdg ggZuddggdg gddgggZvejCDdeuev dd Zwdd 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        >
   rel_breitwignernorminvgausskstworecipinvgauss
gausshyperkappa4vonmisesstudentized_rangeksonevonmises_line>   pearson3crystalballpowerlognorm>   r   r   r!   r"   r#   r$   r%   >   genhyperbolic	exponweibgenexponr(   	johnsonsbr!   tukeylambda>   ncfncx2r   r    r%   >   r   	trapezoid	irwinhallr$   truncparetolevy_stabler#   >   
loguniformchi2ZlognormpowerlawZexpon
reciprocal>   argusZexponpowr   	kstwobignr/   Z
wrapcauchyhalfgennormbetagengammar,   ZgompertzZgenhalflogisticr    truncweibull_mingeninvgauss	truncnorm>)   r'   
foldcauchyZ
skewcauchykappa3r(   r!   	genparetor-   	johnsonsur2   Z	powernormr.   r   alphacauchyr*   r1   invgammaZ
truncexponr"   nctZbradfordr%   Zlevylevy_lZmielke	betaprimeZlomaxr0   	jf_skew_tfburr
genextreme
halfcauchyparetoZburr12tfiskdpareto_lognormZ
loglaplacelandau>   r)   r   r+   r   r#   r$   r3   >8   r9   r   erlangr@   gennormdweibullrB   r-   r$   Zrdistr.   r   r7   loggammarE   chir:   ZmaxwellZhalflogisticr<   r1   rF   r"   rG   r>   r6   skewnormr%   rv_histogram_instancedgammar)   rH   r4   r/   rI   r;   r   rJ   rK   r,   r    ZcosineZnakagamir#   r?   r8   rN   Zlogisticricer5   r&   rP   r=   rR   gammarS   )r      r^      r_   r_      r`   r`   r`   r   r   r   r   r      ra   ra   ra      rb   rb      rc   	   rc   )aZbins)r   r   
   TFdensity)rg   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 ru   a/home/kim/smarthome/.venv/lib/python3.10/site-packages/scipy/stats/tests/test_continuous_basic.pycases_test_cont_basicn   s   rw   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rt|j||| n| dkrt| ||| d}	|j|j|j|j|jg}
ddd	d
ddd}|| d}| dkrd}n| dkrd}t||||	|
 t|| | dv rtrtd nt|| t|| | dvrt |||  |j!dkrt"|| |j#j$tj%j$kr| dkrt&||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 )NrZ    sizerandom_state>   Zlaplace_asymmetric{Gz?r>   r   r               ?g	@333333?      @)Zweibull_maxrH   rO   r2   r-   rZ         ?
invweibullr   r$   )r_   r   fails on Linux 32-bit)r9   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_32BITrl   skipr   r   r   numargscheck_vecentropy	__class___entropyZrv_continuousr   nptsuppress_warningsfilterr   RuntimeWarningr   check_retrieving_supportr   r   r   fails_cmplxr   check_ppf_private)rs   rt   rx   distfnrngr   mvrD   Zlocscale_defaultsZmethsZspec_xxsupru   ru   rv   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 rt j|||||dV  q)|dkr|tv rt j|||||dV  q)|dkr|tv rt 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   rh   r   )rl   rn   ro   rq   r   r   rj   slow_fit_mlerm   xslow_fit_mlexfail_fit_mleskip_fit_mleslow_fit_mmxslow_fit_mmxfail_fit_mmskip_fit_mm)ro   rq   Zfailr   rs   rt   methodfix_argsru   ru   rv   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   ru   ru   ru   rv   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 )Nry   rz   )	r   r   r   r   r   r   r   check_fit_args_fixcheck_fit_args)rs   rt   r   r   r   r   r   r   ru   ru   rv   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 )NrZ   r{   ru   )r   r   r   r   Zisscalarr   )rs   rt   r   ru   ru   rv   test_rvs_scalar  s   r   c                   C   s   t tjd d S )N)r   皙?)r   r   r3   ru   ru   ru   rv   &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.   rC   r3   Ttoo slowr   rh   F)
setr   rj   xslow_test_momentsrl   rm   rn   rq   listZxfail)	Zfail_normalizationZfail_higherZfail_momentrs   rt   Zcond1Zcond2Zcond3ri   ru   ru   rv   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||||	|  |rt||||	|  W d    d S W d    d S 1 sw   Y  d S )	NrZ   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   )rs   rt   Znormalization_okZ	higher_okZ	moment_okZis_xfailingr   r   r   r   skru   ru   rv   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   )r8   rI   r[   rR   rV   Z	exponnormr)   r>   rS   r3   rG   r   r\   rY   ZsemicircularrU   rW   r^   )r_   r   r_   r`   r   r   d)rl   r   r   r   r   r   zerosonesr   rangeappendinsertextendr   )distZ
shape_argsZ
shape_onlyZdistfunclocscalenargsZallargsZbshaper   Zshpru   ru   rv   test_rvs_broadcastr  s"   




r   zx,n,sf,cdf,pdf,rtol))gh㈵> ʚ;g$?gm%?g0eD@g+<)g&.!>r   gי?gscl)D>g ^RUU!@vIh%,=)gMb@?r   g_H'9$      ?gL.'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   :0yE>)r   r$   r   arraysfr   r   r   assert_allcloseassert_equalisf)	r   nr   r   r   r   ksvalsexpectedru   ru   rv   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!)r^   r_   r`   r   )r^   r^   )r   r   r   r   )r   r   r   r   r^   )r`   )r   r   r   r   normr   r   diffr   assert_r   r   r   Zravelassert_raises
ValueErrorr]   )r   r   r   ru   ru   rv   test_rvs_gh2069_regression  s,   


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   gA?g|N?)r   r?   r   assert_almost_equalr   r   infZ_cdf)tnru   ru   rv   test_nomodify_gh9900_regression  s8   r  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   r^   r_   r`   r   ra   )rc      r       r   0   c                 S       g | ]\}}t jd ||qS )rb   r   r7   r   .0_a_bru   ru   rv   
<listcomp>       z4test_broadcast_gh9990_regression.<locals>.<listcomp>rb   c                 S   r	  r   r
  r  ru   ru   rv   r    r  r   c                 S   s    g | ]\}}t j|||qS ru   r
  r  ru   ru   rv   r    r  c                 S   s    g | ]\}}t j|||qS ru   r
  r  ru   ru   rv   r    r  )r   r   zipr   assert_array_almost_equalr   r7   r   )re   bansru   ru   rv    test_broadcast_gh9990_regression  s   r  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      @r  )re   r  r   r   )r   r?   r   r   r   r  ru   ru   ru   rv    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 )Nr^   y             @Y@2   3   c                 S   s"   g | ]\}}t j||tjqS ru   )r   r?   r   r   r  )r  Z_xr  ru   ru   rv   r  +  s   " z*test_gh2002_regression.<locals>.<listcomp>)
r   Zr_r   r  r   r?   r   r  r   r  )r   re   r   r  ru   ru   rv   test_gh2002_regression&  s
   r  c                  C   s(   d} t jdt| g| d gg d S )Ng(\@r   )r   rM   ppfr   r   )cru   ru   rv   test_gh1320_regression0  s   $r  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   皙?r^   r_   r   r   r   r`   )decimal)r   r   seedsqrtsupertyper   uniformfitr   r  )r   re   r  r   r   ru   ru   rv   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sampleru   ru   rv   r   H  s
   


r   c                 C   s   t | |j}|dksJ d S )Nr}   )r   Zttest_1sampZpvalue)r/  r-  Zprobru   ru   rv   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   )Zddofaxis)var)r   r0  ru   ru   rv   <lambda>[  s    z"check_sample_var.<locals>.<lambda>gףp=
?)Zconfidence_level)r   Z	bootstrapZconfidence_intervallowhigh)r/  r.  resZconfr3  r4  ru   ru   rv   r,  U  s    r,  c                 C   s>   g d}t j| j| j|g|R  g|R  |t|d d d S )N)gMbP?r   g+?z - cdf-ppf roundtripr"  err_msg)r   r  r   r  DECIMAL)r   rt   msgvaluesru   ru   rv   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 roundtripr6  )r   r  r   r   r8  r   rt   r9  ru   ru   rv   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   r<  r   z - cdf-sf relationshipr6  )r   r  r   r   r8  r=  ru   ru   rv   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   r<  r   z - ppf-isf relationshipr6  )r   r   r   r  r   r  r8  )r   rt   r9  pru   ru   rv   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   r  z - cdf-pdf relationshipr6  )r  r   r   r   r  r8  )r   rt   r9  medianepsZpdfvZcdfdiffru   ru   rv   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)r   r   皙?r   333333?ffffff?皙?r    - logpdf-log(pdf) relationshiprb   r6  	r   r   r  r*  r   r   r   r  logr   argsr9  pointsr   r   r   ru   ru   rv   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   rF  rb   r6  rG  rI  ru   ru   rv   r     rL  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)	        r   r   rB  r   rC  rD  rE  r   r   z - logsf-log(sf) relationshiprb   r6  )	r   r   r  r*  r   r   r   r  rH  )r   rJ  r9  rK  r   r   r   ru   ru   rv   r        r   c                 C   rM  )N)	r   r   r   rB  r   rC  rD  rE  r   r   z - logcdf-log(cdf) relationshiprb   r6  )	r   r   r  r*  r   r   r   r  rH  )r   rJ  r9  rK  r   r   r   ru   ru   rv   r     rO  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 ru   )r   r   )r  _Znum_repeatsru   rv   r    s    z'check_ppf_broadcast.<locals>.<listcomp>r   z - ppf multiplerb   r6  )r  r   r  )r   rt   r9  rJ  r@  Zmediansru   rQ  rv   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  )rJ  NzD = z	; pval = z
; alpha = z
args = )r   Zkstestr   r   str)r   rJ  rD   r   DZpvalru   ru   rv   r     s    
r   c                 C   s   t | j| | j|  d S r   )r   r   Z
vecentropyr   )r   rJ  ru   ru   rv   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   rt   r   r   r9  r   r   mtvtru   ru   rv   r     s   r   c                 C   s>   | j tg dg|R  }ttt| |d  d S )Nr;  zppf private is nan)Z_ppfr   r   r   r   anyisnan)r   rt   r9  Zppfsru   ru   rv   r     s   "r   c                 C   sH   d\}}| j | }| j |||d}tt|| | t| d S )N)r   r^   rV  )supportr   r  r   r   )r   rJ  r   r   ZsuppZsupp_loc_scaleru   ru   rv   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 truncatedr!  Zpowell)Z	optimizerr   r^   	r   r   r   r   r   r   r(  r   r   )r   rt   r   r   r   r   vals2ru   ru   rv   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 sw   Y  W d    d S W d    d S 1 sw   Y  d S )Nr   r   r\  r]  r   )Zflocr   r   )Zfscaler   r^   r  r  )Zf0r   )f1r   )f2r   r`  )
r   rt   r   r   r   r   ra  vals3vals4vals5ru   ru   rv   r     s0   Pr   c                  c   s>    t D ]\} }| tv rtj| |tjjdV  q| |fV  qd S )Nrh   )r   slow_with_listsrl   rm   rn   ro   rr   ru   ru   rv   cases_test_methods_with_lists%  s   rh  r   )r   r   r   r   r   r   r  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   rH  r   r^   r   r   c                 S   s   g | ]}|gd  qS )r^   ru   )r  re   ru   ru   rv   r  :  s    z+test_methods_with_lists.<locals>.<listcomp>r   r   g)\(?rV  c                    s   g | ]} | qS ru   ru   )r  r   rK   ru   rv   r  ?  s    g+=r   )r   Zatol)r   r   
startswithr   r   r  )	r   rs   rJ  r   r   Zshape2r   r   resultru   ri  rv   test_methods_with_lists-  s   


$
rl  c                  C   s>   t jddd} t| tsJ t jdd}t|tsJ d S )Nr   r   r`   rc   )r   rL   moment
isinstancefloatrQ   )vals0vals1ru   ru   rv   (test_burr_fisk_moment_gh13234_regressionC  s   rr  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	sJ 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 sw   Y  qd S )'Nr   r   r^   r_   orderr   r   r   r  r  r  )r   r   r  r^   r   )r   r   r^   )r_   rx  rU  )r   r   r   )r   r  g      Y@g      9@r?  )g      r  g      Yru  Zdfr   r   )r   rN  r  )r   g      rN  g ﲙ"@r   r   r   r   g      :@g      @gvIh%<=gg@g )r  r   r   r   )r  r   r   )r  r   )ru  re   r  r   r   r   )invaliddivide)r   r   rm  r   r   r   r   nanrn  r   rX   r   pir$  Zreshaper;   Zbroadcast_arraysZndenumerater   testing)rp  	expected0rq  	expected1ra  	expected2rd  	expected3re  Z	expected4rf  Z	expected5Zvals6Z	expected6Zvals7Z	expected7Zvals8Z	expected8Zvals9Z	expected9Zvals10Z
expected10re   r  r   r   Zvals11ir   ru   ru   rv   *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sJ d S )Nr   rs  rt  rv  r^   r_   )r   r   r   )r  r  r  )r  r  r  rN  r   rz  )g e3E?g> ?g e3E?r   r   r  r  )rN  r   r  )g      rN  r  g@3F@gw,W.
@gf3&@)r   r   rm  r   r   r   r   shaperX   r   r}  )rp  r  rq  r  ra  r  rd  r  ru   ru   rv   /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   rA   )r  r  rm  ru   rv   r    s    z8test_kappa3_array_gh13582.<locals>.<listcomp>.<listcomp>ru   r  Zshapesr  rv   r    s
    

z-test_kappa3_array_gh13582.<locals>.<listcomp>r  )r   r   r   rA   r   r   r   r5  Zres2ru   r  rv   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sJ d S )N)r   r  r  r  rw  )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   rm  ru   rv   r        8test_kappa4_array_gh13582.<locals>.<listcomp>.<listcomp>r   r   r  r  r   r  rv   r    
    
z-test_kappa4_array_gh13582.<locals>.<listcomp>r  )r        пr  r   r  r   )r   r   r   gUUUUUUտr  r   c                    r  )c                    r  r  r  r  r  ru   rv   r    r  r  ra   r  r  r  r  rv   r    r  )r  r   r   )r  r   r   r   )r`   r`   r_   )r   r   r   r!   r   r   r  r  ru   r  rv   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)matchZherringpmf)
rl   r   AttributeErrorr   r   r  Zlogpmfrn  r   delattr)r_  Zfrozen_normru   ru   rv   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   )r_   r_   )r{   r   )
r   r   Zdefault_rngr  r   r   r   rY   r   r   )r   r   re   maskZx_normr5  ru   ru   rv   test_skewnorm_pdf_gh16038  s   ,r  r   r   r   r   r   r   r   r  r   rm  Zentropyexpectr@  meanZstdr1  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_outrn  r   number)r  method_namerJ  r   r5  ru   ru   rv   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 )Nrs  r   r   r~   )r   r   r(  rn  r   r  Zfit_loc_scaleZnnlf)r5  ru   ru   rv   test_scalar_for_scalar2  s   r  ru   )ysysnumpyr   Znumpy.testingr  r   rl   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   Zscipy.stats._distr_paramsr   Z!scipy.stats._distn_infrastructurer   r8  maxsizer   rp   rk   r   r   r   r   r   r   r   r   r   r   rg  rj   Zcase1Zcase2productr  rg   Z	histogramZ_histZrv_histogramZ_rv_histr   tuplerw   rn   Zparametrizer   r   r   r   r   r   r   ro   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   r   r   rh  rl  rr  r  r  r  rq   r  r  r  r  Zscalars_outr  r  ru   ru   ru   rv   <module>   s    T
U%
%&
5

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

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