U
    /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 ZJdd ZKdd ZLdd ZMdd ZNdd ZOdd ZPdd ZQdd ZRdd ZSdd ZTdd ZUdd ZVdd ZWdd ZXdd ZYdd ZZdd Z[dd Z\dd Z]dd Z^dd Z_dd Z`dd Zadd Zbdd Zcej@Adiej@Bdddddddddgej@Bde#dd Zdej@Bdddddddddgdd Zeej@Bdddddddddgdd ZfddĄ ZgddƄ ZhddȄ Ziddʄ Zjej@jkdd̄ Zldd΄ ZmddЄ Zndg 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Zoddggdg gddgggZpej@Bdeoep dd Zqdd 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dweibullZerlanggammaZgengammagennormloggammaZlogisticZ
loguniformZmaxwell
reciprocalriceskewnorm                  	   )aZbins
   TFdensity)rP   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]   K/tmp/pip-unpacked-wheel-9gxwnfpp/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rt|||  |jdkrt|| |j j!tj"j!kr| dkrt#||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rt0|||  dD ]N}| t1| krt2|||d | | | t3| krt4|||d | | qd S )Nr,   i )sizerandom_state>   laplace_asymmetric{Gz?r!   r   r               ?g	@333333?      @)Zweibull_maxr5   r9   r<   r7   r,         ?r8   r   r&   )rH   )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rngrq   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,   ra   r]   )rl   r   rm   rn   Zisscalarrq   AssertionError)r[   r\   r   r]   r]   r^   test_rvs_scalar   s    
r   c                   C   s   t tjd d S )N)rj   皙?)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)reasonrQ   F)
setr   rS   distxslow_test_momentsrU   rV   rW   rZ   listZxfail)Zfail_normalizationZfail_higherr[   r\   Zcond1Zcond2rR   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\ |rt	|||  |rt
||||  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)rl   r   rm   r   r   r   r   rn   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    rE   rF   ZsemicircularrB   rC   rG   )rH   r   rH   rI   rk   r   d)rU   skiprl   r   rn   zerosonesr   rangeappendinsertextendr   )distZ
shape_argsZ
shape_onlyZdistfunclocscalenargsallargsZbshaper   Zshpr]   r]   r^   test_rvs_broadcastG  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&   rn   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   rb   r   z0All the values are equal, but they shouldn't be!rG   rH   rI   )rG   rG   )rI   )rn   ro   rp   r   normrq   r   Zdiffr   assert_r   r   r   Zravelassert_raises
ValueErrorrA   )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   gA?g|N?)r   r#   r   assert_almost_equalr|   rn   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   rG   rH   rI   r   rJ   rL          0   c                 S   s    g | ]\}}t jd ||qS )rK   r   rD   r|   .0_a_br]   r]   r^   
<listcomp>  s     z4test_broadcast_gh9990_regression.<locals>.<listcomp>rK   c                 S   s    g | ]\}}t jd ||qS rk   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     )rn   r   zipr   assert_array_almost_equalr   rD   r|   )rN   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   rg   g      @ri   g      @)rN   r   r   r   )r   r#   r~   rn   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 )NrG   y             @Y@2   3   c                 S   s"   g | ]\}}t j||tjqS r]   )r   r#   r}   rn   r   )r   _xr   r]   r]   r^   r     s     z*test_gh2002_regression.<locals>.<listcomp>)
rn   Zr_r   r   r   r#   r}   r   r   r   )r   rN   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(\@rj   )r   r3   ppfrn   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   皙?rG   rH   r   r;   r   rI   )decimal)rn   ro   seedsqrtsupertyper   uniformfitr   r   )r   rN   r   r   r   r]   r]   r^   test_method_of_moments  s     r   c                 C   s,   t | rt||  t |r(t|| d S N)rn   isfinitecheck_sample_meancheck_sample_var)popmeanpopvarsampler]   r]   r^   rr     s    


rr   c                 C   s   t | |j}|dkstd S )Nrd   )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 )NgMbP?rj   g+?z - cdf-ppf roundtripr   err_msg)r   r   r|   r   DECIMAL)r   r\   msgvaluesr]   r]   r^   rs   +  s    
  rs   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   rj   ?z - sf-isf roundtripr  r   z - cdf-sf relationship)r   r   r   r   r	  r|   )r   r\   r
  r]   r]   r^   rt   2  s    $   rt   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 )
Nrj   gư>g-C6?     @r   r   z - cdf-pdf relationshipr  )rj   )r   r}   r|   r   r   r	  )r   r\   r
  medianZepsZpdfvZcdfdiffr]   r]   r^   ru   <  s    ru   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   rh   皙?rj   333333?ffffff?皙?r    - logpdf-log(pdf) relationshiprK   r  	rn   r   r   r   r}   r~   r   r   logr   argsr
  pointsr   r}   r~   r]   r]   r^   rv   N  s    rv   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  rK   r  r  r  r]   r]   r^   rw   [  s    rw   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   rh   r  rj   r  r  r  r   r   z - logsf-log(sf) relationshiprK   r  )	rn   r   r   r   r   r   r   r   r  )r   r  r
  r  r   r   r   r]   r]   r^   ry   h  s    ry   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   rh   r  rj   r  r  r  r   z - logcdf-log(cdf) relationshiprK   r  )	rn   r   r   r   r|   r   r   r   r  )r   r  r
  r  r   r|   r   r]   r]   r^   rx   u  s    rx   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]   )rn   r   )r   _Znum_repeatsr]   r^   r     s     z'check_ppf_broadcast.<locals>.<listcomp>rj   z - ppf multiplerK   r  )rj   )rj   )r   r   r   )r   r\   r
  r  r  Zmediansr]   r  r^   rz     s    rz   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.   rq   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   )rn   r   r   r   r   )	r   r\   r   r   r
  r   r   mtZ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   rj   r  zppf private is nan)Z_ppfrn   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   rG   r   )supportr   r   rn   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   rG   	rn   r   r   r   r   r   r   r   len)r   r\   rq   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   rG   r   r   )Zf0r   )f1r   )f2r   r*  )
r   r\   rq   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  rg   rG   r   r   c                 S   s   g | ]}|gd  qS )rG   r]   )r   rN   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)rl   r   
startswithr   r   r   )	r   r[   r  r   r   Zshape2r   r   resultr]   r2  r^   test_methods_with_lists  s    


  r5  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rl   r   ZgibratrU   ZwarnsDeprecationWarningZgilbratr   )r   r   r4  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 deprecatedr6  r8  )r   r   gr4  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   rI   rL   )r   r0   moment
isinstancefloatr   r2   )vals0vals1r]   r]   r^   (test_burr_fisk_moment_gh13234_regression  s    rB  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	st
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	st
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   rG   rH   orderr   r   r   r   r   r   r   r  ri   r   g      Y@g      9@r  g      g      YrD  Zdfr   r   r  g      g ﲙ"@r   r   r   g      :@g      @gvIh%<=gg@g )r   r   r   r   )r   r   r   )r   r   )rD  rN   r   r   r   r   )invaliddivide)r   r   r=  rn   r   r   r   nanr>  r   r   r>   r   pir   Zreshaper=   Zbroadcast_arraysZndenumerater   testing)r@  	expected0rA  	expected1r,  	expected2r/  	expected3r0  Z	expected4r1  Z	expected5Zvals6Z	expected6Zvals7Z	expected7Zvals8Z	expected8Zvals9Z	expected9Zvals10Z
expected10rN   r   r   r   Zvals11ir   r]   r]   r^   *test_moments_with_array_gh12192_regression  sr    
 rS  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st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std S )Nr   rG   rH   rC  r   r   r   r  rH  g e3E?g> ?g e3E?r   r   g      g@3F@gw,W.
@gf3&@)r   r   r=  rn   r   r   r   shaper   r>   r   rK  )r@  rN  rA  rO  r,  rP  r/  rQ  r]   r]   r^   /test_broadcasting_in_moments_gh12192_regressionn  s.    ""rU  c                     sP   dddddg d} t  fdd| D }t tjj | d	}t|| d S )
Nrj   rg         @      @      @r   c                    s   g | ]  fd dD qS )c                    s   g | ]}t jj | d qS r   )r   r4   )r   rT  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>rZ  )rn   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 )Nrf   rV  rW  rX  rE  r   g      r   r   c                    s&   g | ]  fd dt dD qS )c                    s&   g | ]}t jj  | | d qS rY  r   r   r   rR  hr   r=  r]   r^   r     s   8test_kappa4_array_gh13582.<locals>.<listcomp>.<listcomp>r   r   r\  rc  r   r[  r^   r     s   z-test_kappa4_array_gh13582.<locals>.<listcomp>rZ  r   g      пrj   gUUUUUUտc                    s&   g | ]  fd dt dD qS )c                    s&   g | ]}t jj  | | d qS rY  r`  ra  rb  r]   r^   r     s   rd  rJ   re  r\  rf  r[  r^   r     s   )rI   rI   rH   )rn   r   r   r   r   r   rT  r   r^  r]   rf  r^   test_kappa4_array_gh13582  s&    rg  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 attributer6  Zherringpmf)rU   r   AttributeErrorr   r   rh  Zlogpmfr>  r   r   delattr)r)  Zfrozen_normr]   r]   r^   test_frozen_attributes  s    rk  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   )rH   rH   )ra   rj   )
rn   ro   Zdefault_rngr   r   r   r   rF   r}   r   )r   r   rN   maskZx_normr  r]   r]   r^   test_skewnorm_pdf_gh16038  s    rm  rq   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   )rl   r   r   
scalar_outr>  rn   numberr   )rq  method_namer  r   r  r]   r]   r^   test_scalar_for_scalar  s    ru  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std S )Nr   rG   rH   r   re   )	r   r   r   r>  rn   rs  r   Zfit_loc_scaleZnnlf)r  r]   r]   r^   test_scalar_for_scalar2  s    rv  )sZnumpyrn   Znumpy.testingrM  r   rU   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	  rT   rY   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   rS   Zcase1Zcase2productrq  rP   Z	histogramZ_histZrv_histogramZ_rv_histr   tupler_   rW   filterwarningsZparametrizer   r   r   r   rX   r   r   r   r   r   r   r   r   r   r   rr   r   r   rs   rt   ru   rv   rw   ry   rx   rz   r{   r   r"  r   r   r   r   r5  r:  r<  rB  rS  rU  r_  rZ   rg  rk  rm  rr  Zscalars_outru  rv  r]   r]   r]   r^   <module>   sl  X
                      	
        	
                   	               

                  	                                      
Y
"
1

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

   

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