o
    tBhr                     @   s  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
m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  d dl!m"Z" 	 d	Z#g d
Z$dgZ%g dZ&g dZ'g dg d dg Z(e&e'e( dZ)g dZ*g dg d dg Z+e*e'e+ dZ,e-g dZ.ej/g dddZ0e1e0Z2dd Z3ej45de3 ej45ddgdd Z6ej45de3 d d! Z7d"d# Z8d$d% Z9ej4j:ej45d&e9 d'd( Z;ej45d)e"d*d+ Z<d,d- Z=d.d/ Z>d0d1 Z?d2d3 Z@d4d5 ZAd6d7 ZBd8d9 ZCd:d; ZDd<d= ZEd>d? ZFd@dA ZGdBdC ZHdDdE ZIdFdG ZJdHdI ZKdJdK ZLdLdM ZMdNdO ZNdPdQ ZOdRdS ZPdTdU ZQdVdW ZRdXdY ZSdZd[ ZTd\d] ZUej45d^g d_ej45d`e"dadb ZVdcdd ZWdedf ZXdgdh ZYdS )i    N)raises)IntegrationWarning)stats)betainc   )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)distcont   )kstwogenexponksonerecipinvgaussvonmiseskappa4vonmises_line
gausshypernorminvgaussgeninvgaussgenhyperbolicstudentized_range)exponpow	exponweibr"   r   halfgennormgompertz	johnsonsb	johnsonsur    r   r   	kstwobignmielkencfnctpowerlognorm	powernormr   	trapezoidr   r!   levy_stablerv_histogram_instancer&   )argusr'   r(   r"   r   genhalflogisticr)   r*   r+   r    r-   r   skewnormr3   
truncexponr   r!   r&   )alpha	betaprimebradfordburrburr12cauchycrystalballffisk
foldcauchy
genextreme	genpareto
halfcauchyinvgammakappa3levylevy_l
loglaplacelomaxr.   nakagamir/   
skewcauchyttukeylambda
invweibull)r%   r,   r   r   r0   paretor2   r1   pearson3MLEMM)r=   r'   r(   r"   r   r)   r*   r+   r,   r    r   r   r-   r4   r.   r/   ncx2r1   r2   rdistr   r3   r   r!   r&   )r:   r;   r=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   r.   rM   r/   r0   rN   rO   rQ   )r%   r,   r   r   rR   r2   r1   ),r6   betar;   chichi2cosinedgammadweibullerlangrA   gammar"   gengammar%   r$   gennormrE   r)   rG   r   r   r-   rJ   loggammalogistic
loguniformmaxwellrM   r/   r0   rW   r#   rS   rX   
reciprocalricer8   rO   rP   r   r!   r5   	truncnormr&   )r      rj      rk   rk      rl   rl   rl   r   r   r   r   r      rm   rm   rm      rn   rn      ro   	   ro   )binsc                  c   s|    t d d  tt fg D ].\} }| dkrq| tv r&tj| |tjjdV  q| tv r6tj| |tjj	dV  q| |fV  qd S )Nr4   marks)
r   histogram_test_instancetupledistslowpytestparammarkslow	distxslowxslow)distnamearg r   ~/var/www/html/riverr-enterprise-integrations-main/venv/lib/python3.10/site-packages/scipy/stats/tests/test_continuous_basic.pycases_test_cont_basicw   s    r   zdistname,argzsn, n_fit_samples)i     c              
   C   s  zt t| }W n ty   | }d} Y nw tjd}|j|||d}| }| }|j| \}	}
t	|||	|
|||| d  t
|||  t|||  t|||  t|||  t|||  t|||  t|||  t|||  d}| dkrt|j||| n| dkrt| ||| d}|j|j|j|j|jg}ddd	d
dd}|| d}| dkrd}n| dkrd}t||||| t|| 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,||| t-|| | t.vr<t/|| | dkrGt0|||  dD ]'}| t1| vr]t2|||d | | | t3| vrot4|||d | | qId S )Nr5   i )sizerandom_statezsample mean test{Gz?r$   )r   r   g            ?333333?      @)weibull_maxrJ   rR   rP   r5         ?rQ   r   r   )rk   )r-   r   r   r   z The occurrence of roundoff errorzExtremely bad integrandzinvalid valueri   rT   )5getattrr   	TypeErrornprandomRandomStatervsmeanvar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_broadcastcheck_distribution_rvscdfpdflogpdflogcdflogsfgetr   r   r   r   r   numargscheck_vecentropy	__class___entropy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~   snn_fit_samplesdistfnrngr   smsvmvr:   locscale_defaultsmethsspec_xxsupmethodr   r   r   test_cont_basic   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 )Nr5   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   r4   r   r   r   r   &test_levy_stable_random_state_property   s   r   c            	      c   s    t dg} t ddg}t ddg}td d  tt fg D ]L\}}|dkr'q|dkr@d}tj||ddddtjj|d	d
V  q|| v}||v}||v}|||||dfV  |r[|r[|sjtj||ddddtjjd
V  qd S )Nr   r/   rH   r    r4   r&   zstudentized_range is far too slow for this test and it is redundant with test_distributions::TestStudentizedRange::test_moment_against_mpT)reasonrr   F)	setr   rt   ru   rw   rx   ry   r|   xfail)	fail_normalizationfail_higherfail_loc_scaler}   r~   msgcond1cond2cond3r   r   r   cases_test_moments   s.   
 r   z@distname,arg,normalization_ok,higher_ok,loc_scale_ok,is_xfailingc                 C   s  zt t| }W n ty   | }d} Y nw t _}|td |r'|t |j|ddi\}}	}
}|r;t|||  |r^t||||  t	||||	|
|  t
||||	|  t||||	||  |rht||||	|  t||||	|  W d    d S 1 s{w   Y  d S )Nr5   z9The integral is probably divergent, or slowly convergent.momentsmvsk)r   r   r   r   r   r   r   r   r	   r   r
   r   check_loc_scaler   )r}   r~   normalization_ok	higher_okloc_scale_okis_xfailingr   r   r   r   skr   r   r   test_moments  s0   

"r   zdist,shape_argsc                 C   s   | dv 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  q)|||g t|| |||d
 d S )N)r"   r   r&   ztoo slow)r6   r;   r]   r^   	exponnormr%   r$   r4   r0   r#   rh   r8   semicircularrj   )rk   r   rk   rl   r   r   d)rw   skipr   r   r   zerosonesr   rangeappendinsertextendr   )dist
shape_args
shape_onlydistfunclocscalenargsallargsbshaper   shpr   r   r   test_rvs_broadcast2  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!)rj   rk   rl   r   )rj   rj   )r   r   r   r   )r   r   r   r   rj   )rl   )r   r   r   r   normr   r   diffr   assert_allr   arrayravelassert_raises
ValueErrorr`   )r   valsr   r   r   r   test_rvs_gh2069_regressionX  s,   


r   c                  C   s   t j} t| ddtjd t| ddtjd t| dtj dd t| dtj dd t| ddtjd t| ddtjd t| dtj dd t| dtj dd t| dtj dd d S )Nr   r   gA?g|N?)r   ri   r   assert_almost_equalr   r   inf_cdf)tnr   r   r   test_nomodify_gh9900_regressionu  s   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   rj   rk   rl   r   rm   )ro      r       r   0   c                 S       g | ]\}}t jd ||qS )rn   r   rg   r   .0_a_br   r   r   
<listcomp>       z4test_broadcast_gh9990_regression.<locals>.<listcomp>rn   c                 S   r  r   r  r  r   r   r   r    r  r   c                 S   s    g | ]\}}t j|||qS r   r  r  r   r   r   r    r  c                 S   s    g | ]\}}t j|||qS r   r  r  r   r   r   r    r  )r   r   zipr   assert_array_almost_equalr   rg   r   )abansr   r   r    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   )g      @r   g      @r  )r  r  r   r   )r   ri   r   r   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 )Nrj   y             @Y@2   3   c                 S   s"   g | ]\}}t j||tjqS r   )r   ri   r   r   r   )r  _xr	  r   r   r   r    s   " z*test_gh2002_regression.<locals>.<listcomp>)
r   r_r   r  r   ri   r   r   r   r  )r   r  expectedr  r   r   r   test_gh2002_regression  s
   r  c                  C   s(   d} t jdt| g| d gg d S )Ng(\@r   )r   rD   ppfr   r   )cr   r   r   test_gh1320_regression  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   皙?rj   rk   r   rV   r   rl   )decimal)r   r   seedsqrtsupertyper   uniformfitr   r   )r   r  r  r   r   r   r   r   test_method_of_moments  s    r*  c                 C   s6   t |rt|||| t |rt||| d S d S N)r   isfinitecheck_sample_meancheck_sample_var)r   r~   r   r   r   r   r   r   r   r   r   r     s
   

r   c                 C   sr   |d }|d | t | }| | t|d|   }td| d||||   }t|dkd|||| f  d S )Nr   r  r   r   z'mean fail, t,prob = %f, %f, m, sm=%f,%f)floatr   r%  r   r   r   )r   r   npopmeandfsvarrO   probr   r   r   r-    s   

r-  c                 C   sL   |d }|d |  | }t jj||d }t|dkd|||| f  d S )Nr   rj   r   z(var fail, t, pval = %f, %f, v, sv=%f, %f)r   distributionsr[   sfr   r   )r   r0  popvarr2  r[   pvalr   r   r   r.    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   r~   r   valuesr   r   r   r     s   "
r   c                 C   s|   t j| j| jg dg|R  g|R  g dt|d d t j| jddgg|R  d| jddgg|R   t|d d d S )Nr   r   ?z - sf-isf roundtripr9  r   r>  r  z - cdf-sf relationship)r   r   r6  isfr;  r   )r   r~   r   r   r   r   r     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 relationshipr9  )r  r   r   r   r   r;  )r   r~   r   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)r!  r   皙?r   333333?ffffff?皙?r    - logpdf-log(pdf) relationshiprn   r9  )	r   r   r  r,  r   r   r   r   log)r   argsr   pointsr   r   r   r   r   r   r     s   r   c           	      C   s   t ddg}| j|g|R  }|t | }t M}g d}|D ]	}|jt|d q"| j|g|R  }| j	|g|R  }||dkt |@  }|t | }|d7 }tj
t ||d|d W d    d S 1 skw   Y  d S )Nr   r   )z)divide by zero encountered in true_dividez!divide by zero encountered in logz#divide by zero encountered in powerz invalid value encountered in addz%invalid value encountered in subtractcategorymessagerI  rn   r9  )r   r   r  r,  r   r   r   r   r   r   r   rJ  )	r   rK  r   rL  r   r   suppress_messsagesr   r   r   r   r   r   %  s   
"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   rE  r   rF  rG  rH  r  r   z - logsf-log(sf) relationshiprn   r9  )	r   r   r  r,  r6  r   r   r   rJ  )r   rK  r   rL  r   r6  r   r   r   r   r   ?     r   c                 C   rQ  )N)	r   r!  r   rE  r   rF  rG  rH  r  r   z - logcdf-log(cdf) relationshiprn   r9  )	r   r   r  r,  r   r   r   r   rJ  )r   rK  r   rL  r   r   r   r   r   r   r   L  rS  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   r  ^  s    z'check_ppf_broadcast.<locals>.<listcomp>r   z - ppf multiplern   r9  )r  r   r   )r   r~   r   rK  rA  mediansr   rU  r   r   Y  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  )rK  NzD = z	; pval = z
; alpha = z
args = )r   kstestr   r   str)r   rK  r:   r   Dr8  r   r   r   r   f  s    
r   c                 C   s   t | j| | j|  d S r+  )r   assert_equal
vecentropyr   )r   rK  r   r   r   r   y  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   assert_allclose)	r   r~   r   r   r   r   r   mtvtr   r   r   r   }  s   r   c                 C   s>   | j tg dg|R  }ttt| |d  d S )Nr=  zppf private is nan)_ppfr   r   r   r   anyisnan)r   r~   r   ppfsr   r   r   r     s   "r   c                 C   sH   d\}}| j | }| j |||d}tt|| | t| d S )N)r   rj   r_  )supportr   r   r   r   )r   rK  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 )
Nignorer   !The shape parameter of the erlangrM  zfloating point number truncatedr"  powell)	optimizerr   rj   	r   errstater   r   r   r   r)  r   len)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 sw   Y  W d    d S W d    d S 1 sw   Y  d S )Nrj  rk  rl  rM  r   )flocr   r   )fscaler   rj   r  r   )f0r   )f1r   )f2r   ro  )
r   r~   r   r   r   r   rr  vals3vals4vals5r   r   r   r     s0   Pr   r   )r   r   r   r   r6  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 )NrQ   rJ  r   rj   r   r!  c                 S   s   g | ]}|gd  qS )rj   r   )r  r  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   rA   r   r   r    s    g+=gvIh%,=)rtolatol)r   r   
startswithr   r`  r  )	r   r}   rK  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   rl   ro   )r   r=   moment
isinstancer/  rB   )vals0vals1r   r   r   (test_burr_fisk_moment_gh13234_regression  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	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   rj   rk   r0  r   r   r  r  r  r   )r   r   r  rj   r   )r   r   rj   )rk   r  r^  )r   r   r   )r   r  g      Y@g      9@r@  )g      r  g      Yr0  r2  r   r   )r  rR  r  )r  g      rR  g ﲙ"@:0yE>r|  r   r  g      :@g      @gvIh%<=gg@g )r   r   r   r   )r   r   r   )r   r   )r0  r  r  r   r   rj  )invaliddivide)r   r   r  r   r   r   r\  nanr  r   rZ   r`  pir%  reshaperY   broadcast_arraysndenumeraterp  testing)r  	expected0r  	expected1rr  	expected2rx  	expected3ry  	expected4rz  	expected5vals6	expected6vals7	expected7vals8	expected8vals9	expected9vals10
expected10r  r  r   r   vals11ir  r   r   r   *test_moments_with_array_gh12192_regression  sr    
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   r  r  r  rj   rk   )r  r  r  )r  r  r  )r  r  r  rR  r  r  )g e3E?g> ?g e3E?r  r  r  r  )rR  r  r  )g      rR  r  g@3F@gw,W.
@gf3&@)r   r   r  r   r   r   r\  shaperZ   r`  r  )r  r  r  r  rr  r  rx  r  r   r   r   /test_broadcasting_in_moments_gh12192_regression+  s.    r  )Znumpyr   numpy.testingr  r   rw   r   r   scipy.integrater   scipyr   scipy.specialr   common_testsr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   scipy.stats._distr_paramsr   r;  rv   r{   skip_fit_test_mleslow_fit_test_mmfail_fit_test_mmr   skip_fit_fix_test_mlefail_fit_fix_test_mmr   r   r   	histogram_hrv_histogramrt   r   ry   parametrizer   r   r   r   rz   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  r  r   r   r   r   <module>   s   P			
	

X

%


	S