o
    8Va                     @   sv  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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*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5 d dl6m7Z7 d dl8m9Z9 d dl:m;Z;m<Z<m=Z= d dl>m?Z?mZm@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZLmMZMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZ d dlmZmZmZ d dlmZmZ d d	lmZmZ d d
lmZ d dlmZ d dlmZmZmZmZ d dlmZ ejZeed\ZZZdd Zdd Zdd Zedd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( Zd)d* Zd+d, Zd-d. Zd/d0 Zd1d2 Zd3d4 Zd5d6 Zd7d8 Zd9d: Zd;d< Zd=d> Zd?d@ ZdAdB ZdCdD ZedEdF ZdGdH ZdIdJ ZdKdL ZdMdN ZdOdP ZdQdR ZdSdT ZdUdV ZdWdX ZdYdZ Zd[d\ Zd]d^ Zd_d` Zdadb Zdcdd Zdedf Zdgdh Zdidj Zdkdl Zdmdn Zdodp Zdqdr Zdsdt Zdudv Zdwdx Zdydz Zd{d| Zd}d~ Zedd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zedd Zedd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )    E)3SymbolAbsexpexpintSpisimplifyIntervalerferfcNe
EulerGammaEqlog
lowergamma
uppergammasymbolssqrtAndgammabeta	PiecewiseIntegralsincostanatansinhcoshbesselifloorexpand_funcRationalIreLambdaasinimlambdifyhyperdiffOrMulsignDummySum	factorialbinomialerfibesseljbesselk)erfinvmeijerg)	FiniteSet
ComplementIntersection)IPr   wheredensityvariance
covarianceskewnesskurtosismediangivenpspacecdfcharacteristic_functionmoment_generating_functionContinuousRVArcsinBeniniBetaBetaNoncentral	BetaPrimeCauchyChi
ChiSquaredChiNoncentralDagumErlang
ExGaussianExponentialExponentialPowerFDistributionFisherZFrechetGammaGammaInverseGompertzGumbelKumaraswamyLaplaceLevyLogistic	LogCauchyLogLogisticLogitNormal	LogNormalMaxwellMoyalNakagamiNormalGaussianInverseParetoPowerFunction
QuadraticURaisedCosineRayleigh
ReciprocalShiftedGompertzStudentTTrapezoidal
TriangularUniform
UniformSumVonMisesWeibull
coskewnessWignerSemicircleWaldcorrelationmomentcmomentsmomentquantileLomaxBoundedPareto)NormalDistributionExponentialDistributionContinuousDistributionHandmade)MultivariateLaplaceDistributionMultivariateNormalDistribution)SingleContinuousPSpaceSingleContinuousDomain)CompoundPSpace)Probability)raisesXFAILslowignore_warnings)verify_numericallyZxyzc               	   C   s|  t ddd} t ddd}tddd}|| |  }t|| ks J t||d	 ks*J t|}t ddd}||d	tj t||  d	  d	|d	    d	ttj  |  ksWJ t	|d	 dk t
d	tj d	 ksjJ t||}|ttttd	| td	|  d	|  td	| d   tt tt| ksJ t|t|| | ksJ t|tdksJ |jd dksJ d S )
NmuTrealsigmapositivexr         )r   rk   r   r@   r?   r   Halfr   r	   r=   r   r   r;   r<   r:   r   r7   r   oor   rD   rF   compute_expectationdoit)r   r   XYpdfr   Zans r   F/usr/lib/python3/dist-packages/sympy/stats/tests/test_continuous_rv.pytest_single_normal#   s.   8&.

r   c                  C   s   t ddd} t| | dk}td}t||dt| | ks!J |jjjtdtks-J t	|t
dt
t ks;J t	| d t	|d ksIJ d S )Nr   r   r   zr   )rk   rE   r   r?   rF   domainsetr   r   r   r   r	   )r   r   r   r   r   r   test_conditional_1d<   s     r   c                     s   t ddd t d dkjtddksJ t d dkj jks$J tt d dk dkjtddk tt fdd t  dk} | j	j
jtdtksSJ d S )Nr   r   r   r   c                      s   t t dkS Nr   )r>   r   r   r   r   r   <lambda>N       z'test_ContinuousDomain.<locals>.<lambda>)rk   r>   r   r   symbolr   r   
ValueErrorrE   rF   r   r   )r   r   r   r   test_ContinuousDomainI   s    &r   c                  C   s  t dddt ddd} }tddd}t| | dksJ t| | dks'J t| |  d	ks1J t| |dks:J td|  | |  d
t|  ksLJ t| dksTJ t| | dks^J t| dksfJ t| | dkspJ t| |dksyJ t| | | t| | | ksJ t| ddksJ t	| ddksJ t| | d	dksJ t	| dt| ksJ t
| |  ddksJ t
| | dt| | ksJ t
| | d	t| | ksJ t| t| | ddksJ t| t| | dtjksJ t| |tdtd| tj  ksJ d S )Nr   r   r   ypTr   r            )rk   r   r   r@   rA   rB   rC   r~   r   r   r   r   r   r   r   r   r7   One)r   r   r   r   r   r   test_multiple_normalU   s.   $ 0r   c                  C   sh  t ddd\} }t ddd\}}tddd}td| |}td||}td	|}t d
dd\}}	}
t|| ks8J t|| | | ksDJ t|| |	 |t| |	 ksVJ t||d ks`J t|||  |	 t||d t|  ksxJ t|d| ksJ t|| |	 |t| |	 ksJ t|||  |	 | ||  |	 ksJ t|t| ksJ d S )Nzmu1 mu2Tr   zsigma1 sigma2r   lambdar   r   r   a b cr   r   )r   r   rk   rW   r   r@   rD   r:   )Zmu1Zmu2s1s2rater   r   Zabcr   r   r   test_symbolicp   s    
$0$(r   c                     s   t ddd t } t dk | dtksJ | dtjks"J t  dk} | ddks1J tddt} | ddksBJ tdkd| d ksPJ tt	 fdd	 td
d}t|}|t
tdtt
  t
dkfdkswJ d S )Nr   r   r   r   
   r   c                      s   t   S N)rG   r   r   r   r   r   r          ztest_cdf.<locals>.<lambda>r   r   T)rk   rG   r=   rewriter   r   r   rW   r   r   r   r   r   )dr   fr   r   r   test_cdf   s   

,r   c                  C   s  t ddd} t| }|dt dtt  ksJ tddd}t|}|ddks+J |dtttj ks8J tdd}t|}|ddksIJ |d t	dd	tt	dd	  ks]J t
ddd} t| }|ddksoJ |dtdtdd
t   ksJ tdddd} t| }|ddksJ |ddt tt	dd
 d
 ksJ tddd}t|}|ddksJ |dttd
 tt  ksJ d S )Nr   r   r   r   r   r            r   )rw   rH   r%   r   rk   r   r   rW   expandr$   rl   r   rV   rb   )r   Zcfr   r   Lr   r   r   test_characteristic_function   s.   
($&(r   c                  C   s 
  t ddd} t d\}}}ttd||| }|t|f|| f| ks%J ttd|| }|td|  t|d tj  t|d tj ft	ddf| d d  t|d  t|d ftjf| d d  ksjJ tt
d|| }|dd|   | d  ksJ ttd||| }|d| |  |  ksJ ttd|||| }|t||  |d | d  d  d| |   ksJ ttd|| }||||   ksJ ttd||| }|| |  d |  ksJ ttd||| }|t||  t| |  d  ksJ ttd||| }||t| t| | | ks#J ttd||| }|t||  |d  | d  d  ksCJ ttd||| }|t||  t| |  d ||  d  ksfJ ttd||| }|t||  |d | d  d  ksJ ttd||| }||| |  |  t| | |   ksJ ttd||| }t|d	ksJ ttd||| }|td t||   t||   ||  |d | d  td    ksJ ttd|| }|tdtt | |  ttd| |  d d  t|d | d  d  d d ks J tt d|||| }t|d
ks4J tt!d||| }|t||   t||   | | |   ksWJ tt"d|| }|t| d |  | ksoJ tt#d|| }|dt$d||   ||   ksJ ttddd| }|%| &| dtdddd ksJ ttdd| }|%| &| dtdtdt	ddftj tt tt	ddft	ddftj dtd tdt	ddftj dtt   ksJ tt
dd| }|%| &| dt'ksJ ttddd| }|%| &| ddks%J ttdddd| }|%| &| dtd ksAJ ttdd| }|%| &| ddksXJ ttddd| }|%| &| ddkspJ ttddd| }|%| &| dt(d ksJ ttddd| }|%| &| dt) t*ddd ksJ ttddd| }|%| &| ddksJ ttddd| }|%| &| dtddksJ ttddd| }|%| &| dttjksJ ttddd| }|%| &| dtddksJ ttddd| }|%| &| ddt) dtd  ks2J ttddd| }|%| &| ddt) td  td dtd  d  t)td  t+d dtd    kslJ ttdd| }|%| &| dtdtt d ksJ tt dddd| }|%| &| dt) td ksJ tt!ddd| }|%| &| ddksJ tt"dd| }|%| &| ddksJ tt#dd| }|%| &| ddt$dd t$dd t$dd ksJ d S )NtTr   r   r   r   r   r   zk(3*(t*(-4*b + (a + b)**2) + 4)*exp(b*t) - 3*(t*(a**2 + 2*a*(b - 2) + b**2) + 4)*exp(a*t))/(t**2*(a - b)**3)zb(-2*(-a + b)*exp(c*t) + 2*(-a + c)*exp(b*t) + 2*(b - c)*exp(a*t))/(t**2*(-a + b)*(-a + c)*(b - c)))r   )r   )r   r   r   )r   )r   r   ))r   r   r   r   ir   ),r   rI   rM   r+   rQ   r   r   r   r   r$   rR   rU   rV   r   rW   r\   r_   r^   r   ra   rc   r   rk   rm   r   ro   strrp   r	   r   rq   r   rv   rw   rx   r|   r!   r,   subsr%   r   er9   r    )r   r   r   r   Zmgfr   r   r   test_moment_generating_function   s   &

4($,2*.J42$(,
" """,&,&&r   c                  C   st  t dttd  d  dt t  } tt| dd}tddd}t|t|ks*J t|dkt|dkks8J tttt t	dt
d}|jjjt	dt
ksQJ t|dksYJ t|dktd	kseJ ttd
d  tddd\}}}dt|||   ||d   t| |  } t|| t	dt
d}td||}t|t|  dksJ t|t|  dksJ d S )Nr   T)checkr   r   r   r   r   r   c                   S   s   t ttt tddddS )Nr   r   T)r   r   )rJ   r   r   r   r   r   r   r   r   R  s    z#test_ContinuousRV.<locals>.<lambda>z	x k thetar   )r   r   r   r	   rJ   rk   r@   r=   r   r   r   rF   r   r   r   r   r   r   r   r\   r
   )r   r   r   r   Z_xkthetar   r   r   test_ContinuousRVF  s    &. r   c               	   C   s   t ddd} t ddd}td| |}t|tdttt | t|     ks)J t|ttd| tkfdtt|  t |  |   t |tkfd	ksOJ t	|j
jt| |ks\J d S )
Nr   Tr   r   r   r   r   r   r   T)r   rK   r?   r   r	   r   rG   r   r(   rF   r   r   r   r   r   r   r   r   r   test_arcsin^  s   .*
r   c                      sP  t dddt dddt dddtd t tt d tt  t  t tt  tt d    ksFJ t jjt	t
ksSJ tt fdd	 t ddd
ttfdd	 t ddd
ttfdd	 t dddttfdd	 t dddt ddd
ttfdd	 d S )NalphaTr   r   r   r   r   c                         t  S r   rI   r   r   r   r   r   t      ztest_benini.<locals>.<lambda>nonpositivec                         t d S Nr   rL   r   r   r   r   r   r   r   v      c                      r   r   r   r   r   r   r   r   y  r   c                      r   r   r   r   r   r   r   r   |  r   c                      r   r   r   r   r   r   r   r     r   )r   rL   r?   r   r   r   rF   r   r   r   r   r   NotImplementedErrorr   r   r   )r   r   r   r   r   test_beninij  s$   ((
r   c                  C   s  t ddd\} }td| |}t|jjtddksJ t|tt| f| | ft	t ks/J t
|tt| d  dt |d   t| | ksJJ tt|| | |  ksXJ tt|| | | d d| d  |  | d  d|  |d   d|  |  |d  |d   ksJ d	\} }td| |}tt|| t| |  ksJ tt|| | t| | d | | d   ksJ t|tddtd  ksJ d S )
Nz
alpha betaTr   r   r   r   r   r   )r   r   )r   rM   rF   r   r   r   rH   r   r+   r%   r?   r   r
   r   r@   r#   r   rD   r:   r   )r   r   Br   r   r   	test_beta  s   (6d 4$r   c                     s~  t ddd\ tdddtd} td }t|jjtdd	ks&J t|}td
}t	||   d	  d |   d	| d	   t
 d  t|   t|   | dtf}|||seJ t d\ td suJ tdddd tt fdd tddd tddddtt fdd tddd tdddtddddtt fdd d S )Na bTr   r   )nonnegativer   r   r   r   r   r   r   r   Fr   r   c                      r   r   rN   r   r   r   r   r   r   r     r   z&test_beta_noncentral.<locals>.<lambda>r   c                      r   r   r   r   r   r   r   r     r   )r   r   c                      r   r   r   r   r   r   r   r     r   )r   r   r0   rN   rF   r   r   r   r?   r1   r   r   r2   r   dummy_eqr   r   )_kr   densr   resr   r   r   test_beta_noncentral  s0   :r   c                     s   t ddd t dddtd } t| tt d  td      t  ks.J t ddd tt fdd	 t ddd t dddtt fd
d	 tddd} t| tdksdJ d S )Nr   Tr   r   r   r   r   c                         t d S r   rO   r   r   Zbetapr   r   r     r   z test_betaprime.<locals>.<lambda>c                      r   r   r   r   r   r   r   r     r   )	r   rO   r?   r   r   r   r   rD   r:   r   r   r   r   test_betaprime  s   8r   c                     s  t ddd\ tt fdd t ddd\ tt fdd t ddd	\ tt fd
d tdd } | jjjt ksIJ t| t	dd  t	d dd  d     kseJ t
| t	t d  d  t	d  d d     d  d d    t	kfdksJ t|  d      ksJ tdddd} t|  tdksJ t| ttddksJ t|  ddtdd   ksJ d S )NzL, HTnegativec                         t dd S Nr   r   r   r   Hr   r   r   r     r   z$test_BoundedPareto.<locals>.<lambda>Fr   c                      r   r  r  r   r  r   r   r     r   r   c                      r   )Nr   r   r  r   r  r   r   r     r   r   r   r   r   r   r         )r   r   r   r   rF   r   r   r   r?   r   rG   r   r   r
   r   rD   r:   r$   r@   r   r   r  r   test_BoundedPareto  s*   84
$(r  c                     sH  t dddt dddt ddd} td t tt tt tt   ks/J tt fdd	 t	 td
t
 d
t d d     ksRJ tt ttt	 tkscJ t | tt
| tj    ksxJ t dddttfdd	 t dddttfdd	 t tksJ d S )Nx0Tr   r   r   r   r   c                      r   r   r   r   r   r   r   r     r   ztest_cauchy.<locals>.<lambda>r   r   x1Fc                         t d S r   rP   r   )r   r	  r   r   r     r   r   c                      r
  r   r  r   )r   r  r   r   r     r   )r   rP   rH   r   r   r   r%   r   r   r?   r	   r,   rG   r   r   r   r   r   rD   r:   )r   r   )r   r   r  r	  r   test_cauchy  s   .4"*r  c                     s  ddl m}  tddd td }t|td  d d  t d   ttd  d  t d  ks7J t|tt	d|  t t d t
dd   t d t
dd  ft
d	d ftd  d  t d  t d ft
dd ftd  d  ksJ t|tt	dt t d t
dd   t d t
dd  ft
d	d ftd d  t d  t d ft
dd ftd d  ksJ tddd
d tt fdd tdd
dd tt fdd d S )Nr   )r%   r   Tintegerr   r   r   r   Fr  r   c                      
   t d S r   rQ   r   r   r   r   r        
 ztest_chi.<locals>.<lambda>c                      r  r   r  r   r  r   r   r     r  )sympyr%   r   rQ   r?   r   r   r   rH   r   r   r+   rI   r   r   )r%   r   r   r  r   test_chi  s,   
LF
$
B
"
r  c                     s  t ddd t dtd } t| tt   t   d   ttd  d d d   t d d t  ksAJ t dddd	 tt fd
d t dddd	 t dddtt fdd t ddd t dddtt fdd d S )Nr   Tr  lr   r   r   Fr  c                      r   r   rS   r   r   r  r   r   r     r   z%test_chi_noncentral.<locals>.<lambda>r   c                      r   r   r  r   r  r   r   r     r   r   c                      r   r   r  r   r  r   r   r     r   )r   rS   r?   r   r   r!   r   r   r   r   r  r   test_chi_noncentral  s    &
r  c                     s|  t ddd td } t| tdt t d   d  ks J t| td  d  t d d   tt d  t d  ksDJ t| tt	t
 d td t d  tdkfd	ksbJ t|  ksjJ t| d  kstJ tdd
} t| ddtd ttdd dtt  ttdd  ksJ t dddd tt fdd t dddd tt fdd d S )Nr   Tr  r   r   r   r   r   r      r   i   i  Fr  c                      r  r   rR   r   r  r   r   r   '  r  z"test_chi_squared.<locals>.<lambda>c                      r  r   r  r   r  r   r   r   *  r  )r   rR   rH   r   r%   r?   r   r   rG   r   r   r   r@   r   r$   r	   r   r   r   r   r   r  r   test_chi_squared  s   
*H<
Fr  c                     sR  t dddt dddt ddd td } t| t  t     t   d  d   t ks<J t| ttdt       tdkfd	ksWJ t ddd
tt fdd t dddt ddd
tt fdd t dddt ddd
 tt fdd tdddd} t| t	dksJ d S )Nr   Tr   r   r   r   r   r   r   r   c                         t d S r   rT   r   r   r   r   r   r   r   8  r   ztest_dagum.<locals>.<lambda>c                      r  r   r   r   r!  r   r   r   <  r   c                      r  r   r   r   r!  r   r   r   @  r   )
r   rT   r?   r   rG   r   r   r   rD   r:   r   r   r!  r   
test_dagum-  s$   F*
r"  c                  C   s   t dddd} t ddd}td| |}t|tt| d  ||   tt |  t|  ks0J t|ttt| |t t|  tdkfd	ksJJ d S )
Nr   Tr  r  r   r   r   r   r   )	r   rU   r?   r   r   r   rG   r   r   )r   r  r   r   r   r   test_erlangD  s   :(r#  c            
      C   s|  t d\} }t ddd\}}td| ||}t|||t|||d  d|   d|   d  ttd||d  |  |  d|   d ksIJ |||   }|| }ttdd||}ttd|d ||}|t| |d d  t|  }	t|||	ksJ t	|
 |d |d  ksJ t|
 d|d	 |d  t|d |d   |t|d |d     ksJ d S )
Nzm, zzs, lTr   r   r   r   r   r   )r   rV   r?   r   r   r   rG   rk   r   r@   r   rB   )
mr   sr  r   uvZGaussianCDF1ZGaussianCDF2Zactual_outputr   r   r   test_exgaussianN  s$   4&
" 0r(  c            
   	   C   sF  t ddd} td| }t ddddd}t|d|  ksJ t|d| d  ks)J t|dks1J t|t|d	ks<J t|d
ksDJ t|t|dksOJ td| dt|dks]J t|d	d| d	  ksjJ t|dkt	j
u suJ t|dkt|  ksJ t|dktd|  ksJ t||td|  |  ksJ t|dkjtddksJ tdd}t|ttdksJ td}t||kt| |  ksJ t||k dksJ t d}td}t|td}ttH tdtd|  |d	tf}|j|d	kddt|sJ tdtd|  |ddf}	|j|dk ddt|	s1J W d    n	1 s<w   Y  tdd|  }t|||t|ksUJ t||| |  |d|  |  dtddd| d    tddd| d      ksJ t|d|  || |d|  |d	ktdtd
d ksJ d S )Nr   Tr   r   r   )r   r   Zfiniter   r   r   	   r   r  r   r   ir   r   _zr   FZevaluate   U   ) r   rW   r   r@   rB   r   rC   r   r=   r   r   r   r   r   r>   r   r   rD   r:   r0   r   r   r   UserWarningr   r   probabilityr   r   r{   r   r$   )
r   r   r   r   r   r   r*  r   	expected1	expected2r   r   r   test_exponentialg  sL   
"

$&2
$r2  c                  C   s   t d} t d}t ddd}t ddd}td| ||}t|||tt| | | |   d| td	|   ks<J t||tjt	d	| t| | | | t
|  |  dtd	|    kseJ d S )
Nr   r   r   Tr   r   r   r   r   )r   rX   r?   r   r   r   rG   r   r   r   r/   )r   r   r   r   r   r   r   r   test_exponential_power  s"   
r3  c                      s  t dddt dddtd t td  tt  t       ttd d   ks>J tt fdd t ddd	ttfd
d t ddddttfdd t dddt ddd	ttfdd t ddddttfdd d S )Nd1Tr   d2r   r   c                      r   r   r   r   r   r   r   r     r   z%test_f_distribution.<locals>.<lambda>r   c                         t d  S r   rY   r   r4  r   r   r     r   F)r   r  c                      r6  r   r7  r   r8  r   r   r     r   c                      r   r   r7  r   r4  r5  r   r   r     r   c                      r   r   r7  r   r9  r   r   r     r   )	r   rY   r?   r   r   r   r   r   r   r   r   )r   r4  r5  r   test_f_distribution  s    :
r:  c                  C   s   t ddd} t ddd}td| |}t|td| | d   ||d   | tdt  | |  d |d    t| t  t| d |d  ksJJ d S )Nr4  Tr   r5  r   r   )r   rZ   r?   r   r   r   )r4  r5  r   r   r   r   test_fisher_z  s   6
r;  c                  C   s   t ddd} t ddd}t ddd}td| ||d}t|t| t| | |  d	   tt| | |     | ks=J t|ttt| t | |    |tkfd
ksYJ d S )Nr   Tr   r%  r$  r   r   )r%  r$  r   r   )r   r[   r?   r   r   rG   r   )r   r%  r$  r   r   r   r   test_frechet  s   F<r<  c                  C   s  t ddd} t ddd}td| |}t|tt | t d |   ks&J t|tt| d  ||    tt |  t|  ksDJ t|ddt	t
|  t| d t| d  | t| t	|  t| d   t	dkfd	ksrJ t|t|dks}J td
dd\} }td| |}t|| | ksJ t|| |d  ksJ t| dt|  ksJ t| dd|   ksJ tdd|  d| }t||| | | | |  dd|    t|  | ddd|    dd|     t| d d t|d d   ksJ d S )Nr   Tr   r   r   r   r8   r   r   zk thetar   r   r  r   i r      )r   r\   rH   r   r%   r?   r   r   rG   r   r   r   r   r   r   r@   rB   r   r   rC   r{   r
   )r   r   r   r   r   r   r   
test_gamma  s4   (<
4r>  c                     s   t ddd} t ddd}td| | t tt|  d  ||   t| t  t|  ks0J t ttt| |t t|  tdkfdksJJ t	 td	t
 | t | d	   t| d	t| tt
 t   t|  kssJ tt fd
d d S )Nr   Tr   r   r   r   r   r   r   c                      r   r   r   r   r   r   r   r     r   z$test_gamma_inverse.<locals>.<lambda>)r   r]   r?   r   r   r   rG   r   r   rH   r%   r6   r   r   r   r   r   r   r   r   test_gamma_inverse  s   <4"
r@  c                  C   s   t ddd} t ddd}td| |}t|t| | t| t| t  t| t| t   ks3J t|tdt|t| t| t    ksLJ tt|ttt|tks]J d S Nr   Tr   etar   r   )r   r^   r?   r   r   rG   r,   r   rB  r   r   r   r   test_gompertz  s   B2&rD  c                  C   sR  t ddd} t d}t d}t d}td| |}td| |dd}t|| t||  t| |   tt||   t| |    |  ksIJ t|| t| |  t||   tt| |   t||    |  ksrJ t|| tt||   t| |   ksJ t||tt| | tt |  | d  ksJ d S )	Nr   Tr   r   r   r   )Zminimumr   )	r   r_   r?   r   r   rG   rH   r%   r   )r   r   r   r   r   r   r   r   r   test_gumbel  s    <<:rE  c                  C   s   t ddd} t ddd}td| |}t|tt| d  |  | t|   d |d   ks/J t|ttdtdk ft|   d |  d tdkfdksOJ d S )	Nr   Tr   r   r   r   r   r   )r   r`   r?   r   rG   r   r   r   r   r   test_kumaraswamy  s   :rF  c                  C   s  t d} t ddd}td| |}t|ttt|  t |d td  d  ks*J t|tttt|   | d|  ksAJ t|tt	t|  t | d | tkft| t |  d d dfkshJ tdddgddgddgg}t
t|jtsJ d S )	Nr   r   Tr   r   r   r   r   )r   ra   rH   r   r   r%   r?   r   rG   r   
isinstancerF   distributionr   )r   r   r   r   r   r   test_laplace  s   4.(
rI  c                      s$  t dddt dddtd  jjjttksJ t tt	dt
  t dt    t tjtj   ksCJ t ttt	dt   ksWJ tt fdd	 t dd
dttfdd	 t dddttfdd	 t dddttfdd	 d S )Nr   Tr   r   r   r   r   c                      r   r   r   r   r   r   r   r   0  r   ztest_levy.<locals>.<lambda>Fc                      r
  r   rb   r   r   r   r   r   r   2  r   r   c                      r
  r   rJ  r   rK  r   r   r   5  r   c                      r
  r   rJ  r   rK  r   r   r   8  r   )r   rb   rF   r   r   r   r   r?   r   r   r	   r   r   r   r   rG   r   r   r   r   r   r   )r   r   r   r   	test_levy'  s   J(rL  c                  C   s   t ddd} t ddd}td| |}t|t|tt |d |  tt d    ks-J t|tttt|  | t tj	 ksDJ d S )Nr   Tr   r   r   r   )
r   rd   r?   r   r	   r   rG   r   r   r   )r   r   r   r   r   r   test_logcauchy:  s
   62rM  c                  C   s  t ddd} t ddd}t ddd}td| |}t|ttt| t tt|  t  tt| t  t	tdfd	ks>J t
|ttt |  | |tt |  | d
 d   ks^J t|td
t| t | d
  ksrJ t||| |ttj d
|    ksJ d S )Nr   Tr   r%  r   r   r   r   r   r   r   )r   rc   rH   r   r   r	   r   r%   r   r   r?   rG   r   r   r   r   )r   r%  r   r   r   r   r   test_logisticD  s   
:@(0rN  c                     s  t d\ td sJ tddd tdddtt fdd	 tddd tdddtt fd
d	 t ddd\ } }td }t|| |   d    |    d d   kshJ t|| dd|       ks{J t|| |d|  d   ksJ t|t	t
jdkft  tt   dfksJ t dddtd }t|t  tt   ksJ tddd}t|tdksJ d S )Nr   r   r   Tr   r   r   c                      r   r   re   r   r?  r   r   r   Y  r   z"test_loglogistic.<locals>.<lambda>c                      r   r   rO  r   r?  r   r   r   ]  r   za b z pr   r   )Zprime)r   re   r   r   r   r?   rG   r   r   r   r   ZNaNr	   r   rD   r:   )r   r   r   r   r?  r   test_loglogisticS  s&   <&(8$rP  c                  C   s   t ddd} t ddd}td| |}t d}t||tdt|  t|d|   d  d|d    dtt | | d|   ksFJ t||ttd|  t|d|    d|  d t	dd  kskJ d S )	Nr   Tr   r%  r   r   r   r   )
r   rf   r?   r   r   r   r	   rG   r   r   )r   r%  r   r   r   r   r   test_logitnormalm  s   `NrQ  c                     sH  t ddd} t ddd}td| | tt fdd t ddd}t ddd}td|| t ttd	t| tt d	  d	|d	    d	t tt	 |  ksUJ t
 ttttd	| tt  d	|  d	 td
d	  tdkfdks}J tddd
 t ttd	tttd	  d	  d	t tt	  ksJ d S )Nr   Tr   r   r   r   c                      r   r   r   r   r   r   r   r     r   z test_lognormal.<locals>.<lambda>r   r   r   r   )r   rg   r   r   r?   r   r   r   r   r	   rG   r   r   r   )ZmeanZstdr   r   r   r   r   test_lognormalv  s,   $

$

BrR  c                     sH  t ddd\ tt fdd t ddd\ tt fdd t ddd	\ td
 } | jjjtdtks>J t	| t
 dt
    d    ksUJ t| t
tddt
      t
dkfdksoJ d td
 } t| d ksJ t| tddtdd   ksJ t| dd  d ksJ d S )Nza, lTr   c                      r   Nr   r   r   r   r  r   r   r     r   ztest_Lomax.<locals>.<lambda>Fr   c                      r   rS  rT  r   rU  r   r   r     r   r   r   r   r   r   r   r   r   r   )r   r   r   r   rF   r   r   r   r   r?   r   rG   r   r   rD   r:   r$   r@   r   r   rU  r   
test_Lomax  s   .4& rV  c                  C   s,  t ddd} td| }t|ttdtd  ttd  d| d    tt| d   ks0J t|dtd |  tt ksBJ t|d| d  t d| d   ksVJ t	|tt
tdt d|   tdt ttd  d| d    tt|    ksJ tt	|ttt|tksJ d S )Nr   Tr   r   r   r   i)r   rh   r?   r   r   r   r	   r   r@   rG   r   r,   )r   r   r   r   r   test_maxwell  s   
2
$(Z&rW  c                     s  t ddd t ddddtt fdd t ddd t dddd	tt fd
d t ddddtd } t| ttdtt t   d   t d    dtt   kseJ t	| t
 dttdt t d   d  ksJ t| tdt  t  tt  t  tt  t tdd  tt ksJ t|  t  td  ksJ t| td t  t t  t t tdd  tt ksJ d S )Nr   Fr   r   T)r   r   c                      r   NMri   r   r   r   r   r   r     r   ztest_Moyal.<locals>.<lambda>)r   r   c                      r   rX  rZ  r   r[  r   r   r     r   rY  r   r   )r   r   r   ri   r?   r   r   r   r	   rG   r
   r   rH   r%   r   r$   r   r   r   rI   )rY  r   r[  r   
test_Moyal  s2   &
<*
$"r\  c                  C   sX  t ddd} t ddd}td| |}t|tdtd|  d   | |   ||    ttd  |  |  t|  ks<J tt|t| t| t| t	j
  t| d  ksYJ tt|||t| t	j
 d  t| t| d    ksxJ t|ttt| | td  | t|  tdkfd	ksJ tddd}t|tttdksJ d S )
Nr   Tr   omegar   r   r   r   r   )r   rj   r?   r   r   r   r
   r   r   r   r   r@   rG   r   r   rD   r:   r   )r   r]  r   r   r   r   test_nakagami  s,   .



,$
 r^  c                     s"  t d\ td sJ t d\ } td }t|| tdt| d   t   |  d  d d  |    dtt  ksIJ t ddd\ tddd} td }t|| tdt t| d	  t   |  d  d d  |    dtt  ksJ t| ksJ t	|
  d  ksJ t|| tjttdt d
|     dt|   d  td    ttdt d|     dt|   d  tj ksJ t ddd tt fdd t ddd t dddtt fdd d S )Nr   r   za b zr   r   Tr   r   r  r   r   r   r   c                      r   r   rl   r   r?  r   r   r     r   z'test_gaussian_inverse.<locals>.<lambda>r   c                      r   r   r_  r   r?  r   r   r     r   )r   rl   r}   r?   r   r   r	   r   r   r@   r   rG   r   r   r   r   r   )r   r   r   r?  r   test_gaussian_inverse  s*   \`N.
r`  c                  C   s   t ddd\} }|d }td| |}t|}t|ttt| d   | |d   d t| kfdks5J t|tt t |  |d  |d  t| d t t |   ksYJ |tt|d   | |  | kslJ t	t
|||  |d  ks|J d S )Nzxm betaTr   r   r   r   r   )r   rm   r?   rG   r   r   rH   r%   r   r
   r   )xmr   r   r   r   r   r   r   test_pareto  s   
,
6&$rb  c                  C   s   d\} }|d }t d| |}t|||  t|d  ksJ t|| d | t|d d |d   ks6J t|tddtdd  ksGJ d S )N)r   r   r   r   r   r   r      )rm   r   r   r@   rD   r:   r$   )ra  r   r   r   r   r   r   test_pareto_numeric  s    0&rd  c                     s  t dddtddd\ tt fdd tddd\ tt fd	d t ddd
tddd\ ttfdd tdd } t| td  dt     d  ksaJ t| tt d  d d    d   d  t  d d    d    td  d d    d     tkfdksJ tdddd} t| tdt ksJ t| tttd tdkfdksJ t	| t
ddksJ t| dk dksJ t| dk dksJ t| tdtd ksJ d S )Nr   Tr   za, br   c                         t d S r   rn   r   r   r   r   r   r   r     r   z$test_PowerFunction.<locals>.<lambda>Fc                      re  r   rf  r   rg  r   r   r     r   r   c                      s   t d ddS )Nr   r   r   rf  r   )r   r   r   r     r   r   r   r   r   r   r   r   )r   r   r   r   rn   r?   r   rG   r   r   r$   r=   rD   r:   r   r   r   rg  r   test_PowerFunction  s4   ..&"
& rh  c               	   C   sD  t ddd} t ddd}td| |}t|jjt| | | | ks#J t|ttt	t
 t |  | d ttt | ft	t
t |  | d ttt| ftd t	t
|  t  t|t  |t |d  td  td    dfksxJ t|ttttt|   | d d|  tt| | k| | tkfd	ksJ d S )
Nr   Tr   r%  r   r   r   r   r   )r   rp   rF   r   r   r   rH   r   r   r   r%   r	   r   r   r?   r   r   )r   r%  r   r   r   r   test_raised_cosine+  s   "
*ri  c                  C   sV  t ddd} td| }t|ttd tt |  t ttd|  t d t  t| d  td  d  d d ks?J t	|ttttd  d| d    | d  ksZJ t
|tdtt |  d kslJ t|t | d  d d| d   ksJ t|tdttd  d| d    ksJ tt|ttt	|tksJ d S )Nr   Tr   r   r   r   )r   rq   rH   r   r   r	   r4   r%   r   r?   r   r@   rG   r,   )r   r   r   r   r   test_rayleigh:  s   
h6$*.&rj  c                     s  t ddd t dddtd } t| tdtt  t   ks'J t| ttt t t  ttt t    tkfdksNJ tddd	} t| d
td	td  ksdJ t| dk t	j
ksoJ t| dk tdtd	td  tdtd	td   ksJ t| dtdtd	td  tdtd	td   ksJ tddd tt fdd tddd tdddtt fdd d S )Nr   Tr   r   r   r   r   r      r   r      r   r   c                      r   r   rr   r   r?  r   r   r   W  r   z!test_reciprocal.<locals>.<lambda>r   c                      s   t d   S r   rm  r   r?  r   r   r   [  r   )r   rr   r?   r   r   rG   r   r   r=   r   Zeror   r   r   r   r   r?  r   test_reciprocalH  s   *N @@ro  c                  C   s|   t ddd} t ddd}td| |}t|t| |dt|  t   d  t|  t  t| t|  t   ks<J d S rA  )r   rs   r?   r   r   rC  r   r   r   test_shiftedgompertz]  s   Xrp  c                     s   t ddd} td|  t tdtd |   |  d tj  t| ttj| d   ks/J t ttjtt	| d tj  t
tj| d tj ftddftd  |   ttt|  t	| d    ksjJ tt fdd	 d S )
NnuTr   r   r   r   r   c                      r   r   r   r   r   r   r   r   k  r   ztest_studentt.<locals>.<lambda>)r   rt   r?   r   r   r   r   r   rG   r   r+   r$   r	   r   r   )rq  r   r   r   test_studenttd  s   
H6rr  c                  C   sd  t ddd} t ddd}t ddd}t ddd}td| |||}t|ttd|  d	t  |  | |  | | |   | tkt|k @ fd	|  | | |  |tkt|k @ fd	| d	t  | | |  | | |   |tkt|k@ fd
ksxJ tdddd	d}t|tdd	ksJ t|tddksJ t|d	k tddksJ t	|t
tdd	ksJ d S )Nr   Tr   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   ru   r?   r   r   r   r$   r@   r=   rD   r:   )r   r   r   r   r   r   r   r   test_trapezoidalm  s   F$:
rs  c                  C   s   t d} t d}t d}td| ||}t|jjt| |ks J tt|tdks,J t	|t
 d|  |  t|t  d|  |  t|t   d||  t| t   td |  |  |  |  ||   
 kspJ tt|tdks|J d S )	Nr   r   r   r   zPiecewise(((-2*a + 2*x)/((-a + b)*(-a + c)), (a <= x) & (c > x)), (2/(-a + b), Eq(c, x)), ((2*b - 2*x)/((-a + b)*(b - c)), (b >= x) & (c < x)), (0, True))r   r   zg(2*(-a + b)*exp(I*c*x) - 2*(-a + c)*exp(I*b*x) - 2*(b - c)*exp(I*a*x))/(x**2*(-a + b)*(-a + c)*(b - c)))r   rv   rF   r   r   r   r   r?   r   rI   r   r   rH   )r   r   r   r   r   r   r   test_triangular  s   rrt  c                  C   s0  t ddd} t ddd}td| |}tddd}t|jjt| |ks%J t|ddtd d	td  ks9J t|dd
td d dtd d  ksQJ t|ddt	 ddt	   tt	tdt	   ksmJ t
|ttdt| d  |d  d  |  | d  tt|k| tkfdksJ d S )Nr   Tr   r   r   r   r   i   ir      r   r   r   r   )r   ro   rF   r   r   r   rI   r   rH   r%   r?   r   r   r   )r   r   r   r   r   r   r   test_quadratic_u  s   (084rw  c                  C   s  t ddd} t ddd}td| | | }t|| |d  ks J t| |d d ks.J tdd	d
}t|d	k dkrDt|d
kdksFJ t|dk t|dk  krZtjks]J  J t|t	dksgJ t d}t
||}||dtjks|J ||ddksJ ||ddksJ t|}|ddkr|d	dksJ |tddtddksJ |d
dkr|ddksJ d S )Nr  Tr   wr   r   r   r   r   r   r   r   r   g@r   r  rc  r   )r   rw   r   r@   r   r=   r   r   rD   r:   r?   r   rG   r$   )r  rx  r   r   r   r   r   r   r   test_uniform  s$   $. ry  c                  C   sT   t ddd} t ddd}td| | | }t|| k dkr&t|| | kdks(J dS )	a   This stopped working because SingleContinuousPSpace.compute_density no
    longer calls integrate on a DiracDelta but rather just solves directly.
    integrate used to call UniformDistribution.expectation which special-cased
    subsed out the Min and Max terms that Uniform produces

    I decided to regress on this class for general cleanliness (and I suspect
    speed) of the algorithm.
    r  Tr   rx  r   r   r   N)r   rw   r=   )r  rx  r   r   r   r   test_uniform_P  s   
,rz  c                  C   s   t ddd} td}t d}td| }td| | | | d   t| | |dt|ft| d  }t|||s>J |j	j
jtd| ksJJ t||t tt| d  | |  ksaJ t||t|d | |  kssJ d S )	NnTr  r   r   r   r   r   )r   r0   rx   r1   r3   r"   r2   r?   r   rF   r   r   r   rH   r%   r   rI   )r{  r   r   r   r   r   r   r   test_uniformsum  s   
@.(r|  c                  C   sZ   t d} t ddd}td| |}t|tt|tt|   dt td|  ks+J d S )Nr   r   Tr   r   r   r   )r   ry   r?   r   r   r   r	   r!   )r   r   r   r   r   r   test_von_mises  s   :r}  c                  C   s  t ddd\} }td| |}t| | tdd|   ks J t| | d tdd|   t|d   ks<J tt|dtdd|  d  dtdd|   tdd|    tdd|   tdd|  d  tdd|   tdd  ksJ tt	|dtdd|  d	  d
tdd|  d  tdd|    d	tdd|   tdd|    tdd	|   tdd|  d tdd|   d  ksJ d S )Nr   Tr   r   r   r   r   r  r   r  )
r   rz   r   r   r   r@   r
   rB   r$   rC   r   r   r   r   test_weibull  s   $8 &"&r~  c               	   C   s   d} t jdtdddg}|D ]<}td| |}tt|t| tddt |   ks,J tt|t| d tddt |   t|d  ksJJ qd S )Nr   r   r   r   r   )	r   r   r$   rz   r
   r   r#   r   r@   )r   Zbvalsr   r   r   r   r   test_weibull_numeric  s   ,&r  c                  C   s   t ddd} td| }t|jjt|  | ksJ t|tdttd  | d   t	| d   ks4J t
|dks<J t|ttdtd| t  | t  ttdfdksYJ d S )	NRTr   r   r   r   r   r   )r   r|   rF   r   r   r   r?   r   r   r	   r   rH   r   r5   r   )r  r   r   r   r   test_wignersemicircle  s   
6
(r  c                     s   t d\} }t ddd\}t dddd\ttdd	  ttfd
d	 td|  ttfdd	 td ttttfD ] tt fdd	 tt fdd	  d| qBd S )Nr   zp qTr   zm nFr   c                   S   s   t dddS )Nr   r   r   rk   r   r   r   r   r     r   z-test_input_value_assertions.<locals>.<lambda>c                      r   r   r  r   )r$  r{  r   r   r     r   r   c                      r  r   )rW   r   )r$  r   r   r     r  ZExc                      s    dS r   r   r   )fnr$  r   r   r   r     r   c                      s    dS r   r   r   )r  r{  r   r   r   r     r   r   )	r   r   r   rk   rW   rm   rz   rM   r\   )r   r   qr   )r  r$  r{  r   r   test_input_value_assertions  s   
r  c                  C   s*  t ddd} td}ttd| t|d  d  dtt  |t tf}ttdt|d  d  dtt  |dtf}tt8 t	| dd
t|sRJ t	| d dd
t|d sdJ t| dkdd
t|stJ W d    n1 s~w   Y  t| dk| d dk tjksJ d S )Nr   r   r   r   r   Fr+  )rk   r0   r   r   r   r	   r   r   r.  r   r   r   r=   r   r   )r   r   Zexpr1Zexpr2r   r   r   test_unevaluated  s   82
$"$r  c                  C   sV   t ddd} tt tt| dkddtksJ W d    d S 1 s$w   Y  d S )NTrk  r   !   Fr+  )rk   r   r.  typer=   r   )r  r   r   r   test_probability_unevaluated(  s   
"r  c                  C   s:   t ddd} t ddd}tt| | ddttsJ d S )Nr   r   r   r   r   Fr+  )rk   rG  r?   r   r   r   r   r   r   test_density_unevaluated.  s   "r  c            	      C   s  t dd} td}| |ttd| d d tj ksJ | d|dks)J | ||dks3J | |d |dks?J t|t dd}t	d}t
tdt|d d  d  dtt  |t df}|j|dk d	d
|du swJ t
tdt|d d  d  dtt  |dtf}|j|dkd	d
|du sJ t|t dd}t
tdt|d d  d  dtt  |dtf}|j|dkd	d
|du sJ t
tdt|d d  d  dtt  |t df}|j|dk d	d
|du sJ d S )Nr   r   r   r   r   r*      r  Fr+  Tr)     r=  r  )r   r   rG   r   r   r   r   Zexpectationr   r0   r   r   r	   r   r/  r   )	Zndr   r   r*  r0  r1  r   Z	expected3Z	expected4r   r   r   test_NormalDistribution4  s"   
,8 6 6 8&r  c                  C   s   t ddd} t d| d}t|ddtsJ tt|tsJ t dddgdd	gd	dgg}tt|jts7J t|t t	d
t
td  d td
  tdd
   dt	t  ks^J d S )Nr   r   r   r  r   Fr+  r   r   r   rl  r   )rk   r?   r   rG  rF   r   rH  r   r
   r   r   r   r	   )r   measr   r   r   r   test_random_parametersN  s   Rr  c                  C   s<   t ddd} t d| d}t|t| dt dddksJ d S )Nr   r   r   r  r   r   )rk   rE   r   )r   r  r   r   r   test_random_parameters_givenX  s   $r  c                  C   sB   t ddd} t d| d}ttt| t|tddttsJ d S )Nr   r   r   r   r   Fr+  )rk   rG  r
   r?   r   r   r   r.   )r   r   r   r   r   test_conjugate_priors^  s
   r  c                  C   sD   t ddd} t| d sJ tt| d sJ tt| s J dS )z Since using solve in place of deltaintegrate we're able to perform
    substantially more complex density computations on single continuous random
    variables r   r   r   r   r   N)rk   r?   r   r   r   r   r   r   test_difficult_univariatee  s   r  c                  C   sF   t dd} tddd}t| dk tju sJ t|dk tju s!J d S )Nr   r   gr   r   r   )rW   r\   r=   r   rn  )r   Gr   r   r   test_issue_10003o  s   
r  c            	      C   s   t ddd} t ddd}t ddd\}}}t dddd}td	||td
||td|td|g}|D ]}t|| t|jj	 |  }t|
t}|dksQJ q2d S )Nr   Tr   r   zsigma xm alphar   r{  r  r   r=   Cr   r   )r   rk   rm   rR   rW   rG   r
   rF   r?   Zcompute_cdfr   r   )	r   r   r   ra  r   r{  distribsr   Zcompdiffr   r   r   test_precomputed_cdfv  s   

 r  c                     s   dd l   fdd} | tddddd | tddd j | tddd j | td	d
d j | tddd j  j | tddd j  j | tddddd | t	ddd j | t
ddddd | tdddd d S )Nr   c           
         s   t | }td}t|gt| |d}tt|g|tttt |  d  fdd}dD ]&}||}||}	tt|t|	 dk sHJ tt	|t	|	 dk sVJ q0d S )Nr   mpmathc                    s   j  fddgddS )Nc                    s
    | S r   r   r  )r   r   r   r   r     r  z^test_precomputed_characteristic_functions.<locals>.test_cf.<locals>.<lambda>.<locals>.<lambda>r   )Z	maxdegree)Zquadr   )r   r  support_lower_limitsupport_upper_limitr  r   r     s    zLtest_precomputed_characteristic_functions.<locals>.test_cf.<locals>.<lambda>)r   r   r     g-q=)
r?   r   r*   rH   r   r   r%   absr&   r)   )
Zdistr  r  r   r   Zcf1Zcf2Z
test_pointZn1Zn2r  )r   r  r  r   test_cf  s   $z:test_precomputed_characteristic_functions.<locals>.test_cfr   r   r   r   r   r   r  r  r{  r   r   rr         ?r&  rx  r  )r  rM   rQ   infrR   rW   rc   rk   rp   rq   rw   r|   )r  r   r  r   )test_precomputed_characteristic_functions  s   r  c                  C   s2  t ddd} tdddtddd	d
tdddtddddtdddtdd
dtdddtdddt	dddt
dddtddg}|D ]!}tdD ]}ttt|| | t|| | dddddsbJ qHqBtdd}t|| t| d }t|d d!| t| d }tt|| || dddddsJ d S )"Nr   Tr   Ar   r)  Dr   r   r   r      r   Fr   r  r  r  rc  ZGIKr  ZLAr   iNr   r   r   )r   r   r   r   USFr+  )r   rK   rT   rU   r[   r\   r]   r`   ra   rc   rj   rt   rangetnr,   rG   r?   rx   r   r"   r   )r   r  Zdistr_r  Zpdf01Zcdf01r   r   r   test_long_precomputed_cdf  s*   







2
 $r  c                  C   sF   t ddd} t| | tjktddksJ t| | dktjks!J d S )Nr   r   r   r   r   )rw   r   r   r   r$   r   r   r   r   test_issue_13324  s   r  c                  C   sv   t ddd} t ddd}t| | tjksJ t| |d d  tjks&J t|| | d  | |    tjks9J d S )Nr   r   r   r   )rw   r   r   rn  r   r   r   r   test_issue_20756  s
   *r  c                  C   sb   t dd} tddd}tt| dtju sJ tt|dtju s#J tt|ttju s/J d S )Nr   r   r  r   rc  r   r   )rW   rk   r=   r   r   rn  r   )r   r  r   r   r   test_FiniteSet_prob  s
   
r  c                  C   s   t dd} tdd}tt| ddksJ tt|ddks J tt|ddks+J tt|ddks6J tt| tdksAJ d S )Nr   r   r   r   r   r   )rW   rR   r=   r   r   )r   r   r   r   r   test_prob_neq  s   

r  c                  C   s   t ddd} tt| d |  dkttd d ttdd d  tdd ks,J tt| d d dktdtd d  d ttdd d  tdd ksVJ d S )Nr  r   r   r   r   r   )rk   r
   r=   r   r   r   r$   r  r   r   r   
test_union  s   .6r  c                  C   s   t ddd} ttt| dk| dk ttd d ttdd d  tdd ks-J tt| dk | dk t| dk ks@J tt| dk| dk dksOJ d S )Nr  r   r   r   r   )rk   r
   r=   r-   r   r   r   r$   r  r   r   r   test_Or  s   .&"r  c                  C   s   t dd} tt| dt| ddksJ tt| dt| ddks#J t| dkt| ddks1J t| dk t| ddks?J d S )Nr   r   r   r   )rW   r=   r   r   r   r   r   test_conditional_eq  s
   
 r  c               
   C   s  t d} td}t| ttjd| k| dk @ fd| dk| dk @ ftj| dk| dk @ fd}t|tddd}t||}|j	t| td	| dk| dk @ fd| dk| dk @ fd	| dk| dk @ fdksaJ t
|jtddksmJ t|jtddksyJ t|jtd
dksJ d S )Nr   r   r   r   r   r   r   r   r     r   )r   r0   r'   r   r   r   r   r   r   r   rD   valuer   r$   r@   )r   r   r   Zspacer   r   r   #test_ContinuousDistributionHandmade  s   ,
&r  c                      s&   t ttdd tt fdd d S )Nr   r   c                      s   t  td tthS r   )r   r   r   r   r   r  r   r   r     s    z"test_issue_16318.<locals>.<lambda>)r   r   r   r   r   r   r   r  r   test_issue_16318  s   r  N)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#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   Z'sympy.functions.special.error_functionsr7   Zsympy.functions.special.hyperr9   Zsympy.sets.setsr:   r;   r<   Zsympy.statsr=   r>   r?   r@   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   rr   rs   rt   ru   rv   rw   rx   ry   rz   r{   r|   r}   r~   r   r   r   r   r   r   Zsympy.stats.crv_typesr   r   r   Zsympy.stats.joint_rv_typesr   r   Zsympy.stats.crvr   r   Zsympy.stats.compound_rvr   Z sympy.stats.symbolic_probabilityr   Zsympy.testing.pytestr   r   r   r   Zsympy.testing.randtestr   r  ZInfinityr   mapr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r"  r#  r(  r2  r3  r:  r;  r<  r>  r@  rD  rE  rF  rI  rL  rM  rN  rP  rQ  rR  rV  rW  r\  r^  r`  rb  rd  rh  ri  rj  ro  rp  rr  rs  rt  rw  ry  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   <module>   s    . 
  !
+	


		




"	