U
    	-eq                     @   sT  d dl mZ d dlmZmZmZ d dlmZ d dlm	Z	 d dl
mZmZmZmZ d dlmZmZ d dlmZ d dlmZmZmZ d d	lmZmZ d d
lmZmZmZm Z  d dl!m"Z"m#Z# d dl$m%Z%m&Z& d dl'm(Z( d dl)m*Z* d dl+m,Z, d dl-m.Z.m/Z/m0Z0m1Z1m2Z2 d dl3m4Z4m5Z5m6Z6 d dl7m8Z8 d dl9m:Z:m;Z;m<Z<m=Z= d dl>m?Z?m@Z@mAZA d dlBmCZC d dlDmEZE d dlFmGZGmHZH d dlImJZJ d dlKmLZL d dlMmNZN d dl9mOZO d dlBmPZP d dlImQZQmRZRmSZS d dlTmUZUmZmVZVmWZWmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ 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, Zd-d. Zd/d0 Zd1d2 Zd3d4 Zd5d6 Zd7d8 Zd9d: Zd;d< Zd=d> Zd?d@ ZdAdB ZdCdD ZdEdF ZdGdH ZdIdJ ZdKdL ZdMdN ZdOdP ZdQdR ZedSdT ZdUdV ZdWdX ZdYdZ Zd[d\ Zed]d^ Zd_d` Zdadb Zdcdd Zdedf Zdgdh Zdidj Zdkdl Zdmdn Zdodp Zdqdr Zdsdt Zdudv Zdwdx Zedydz Zd{d| Zd}d~ Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zeedd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z dd Zedd Zdd Zdd Zdd Zdd ZddĄ ZddƄ ZddȄ Z	ddʄ Z
dd̄ Zdd΄ ZdS )    )Sum)Lambdadiffexpand_func)Mul)
EulerGamma)EIRationalpi)EqNe)S)DummySymbolsymbols)binomial	factorial)Absimresign)explog)coshsinh)floor)sqrt)	Piecewise)asinatancossintan)besselibesseljbesselk)beta)erferfcerfiexpint)gamma
lowergamma
uppergamma)hyper)Integral)AndOr)Interval)simplify)lambdify)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@tt||d	 ksTtt|}t ddd}||d	tj t||  d	  d	|d	    d	t	tj  |  kstt
|d	 dk td	tj d	 kstt||}|ttttd	| td	|  d	|  td	| d   tt tt| ks6tt|t|| | ksPtt|tdksft|jd dkstd S )
NmuTrealsigmapositivexr         )r   rj   r   AssertionErrorr?   r>   r   Halfr   r   r<   r(   r   r:   r;   r9   r   r6   r3   oor   rC   rE   compute_expectationdoit)r   r   XYpdfr   Zans r   e/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/stats/tests/test_continuous_rv.pytest_single_normal6   s.    8&.
r   c                  C   s   t ddd} t| | dk}td}t||dt| | ksBt|jjjtdt	ksZtt
|tdtt ksvtt
| d t
|d kstd S )Nr   r   r   zr   )rj   rD   r   r>   r   rE   domainsetr3   r   r   r   r   )r   r   r   r   r   r   test_conditional_1dO   s     r   c                     s   t ddd t d dkjtddks,tt d dkj jksHttt d dk dkjtddksrttt fdd t	  dk} | j
jjtdtkstd S )Nr   r   r   r   c                      s   t t dkS Nr   )r=   r"   r   r   r   r   <lambda>a       z'test_ContinuousDomain.<locals>.<lambda>)rj   r=   r   r3   r   symbolr1   r   
ValueErrorrD   rE   r   r   )r   r   r   r   test_ContinuousDomain\   s     *r   c                  C   s2  t dddt ddd } }tddd}t| | dks:tt| | dksNtt| |  d	ksbtt| |dkstttd|  | |  d
t|  kstt| dkstt| | dkstt| dkstt| | dkstt| |dkstt| | | t| | | kstt	| ddks(tt
| ddks<tt	| | d	dksTtt
| dt| ksltt| |  ddkstt| | dt| | kstt| | d	t| | kstt| t| | ddkstt| t| | dtjkstt| |tdtd| tj  ks.td S )Nr   r   r   ypTr   r            )rj   r   r   r   r?   r@   rA   rB   r}   r~   r   r   r   r   r   r   r   r6   One)r   r   r   r   r   r   test_multiple_normalh   s.    $"   r   c                  C   sp  t ddd\} }t ddd\}}tddd}td| |}td||}td	|}t d
dd\}}	}
t|| ksptt|| | | kstt|| |	 |t| |	 kstt||d kstt|||  |	 t||d t|  kstt|d| kstt|| |	 |t| |	 ks,tt|||  |	 | ||  |	 ksVtt|t| ksltd S )Nzmu1 mu2Tr   zsigma1 sigma2r   lambdar   r   r   a b cr   r   )	r   r   rj   rV   r   r   r?   rC   r9   )Zmu1Zmu2s1s2rater   r   Zabcr   r   r   test_symbolic   s     
$0&*r   c                     s   t ddd t } t dk | dtks2t| dtjksDtt  dk} | ddksbttddt} | ddksttdkd| d kstt	t
 fdd	 td
d}t|}|ttdtt  tdkfdkstd S )Nr   r   r   r   
   r   c                      s   t   S N)rF   r   r   r   r   r   r      r   ztest_cdf.<locals>.<lambda>r   r   T)rj   rF   r<   rewriter)   r   r   r   rV   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s2ttddd}t|}|ddksVt|dtttj kspttdd}t|}|ddkst|d	 t
dd	td d	  ksttddd} t| }|ddkst|dtdtdd
t   ksttdddd} t| }|ddks*t|ddt tt
dd
 d
 ksRttddd}t|}|ddksxt|dttd
 tt  kstd S )Nr   r   r   r   r   r            r   )rv   rG   r	   r   r   rj   r   r   rV   expandr
   rk   r   rU   ra   )r   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sJt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stttd|| }|dd|   | d  kstttd||| }|d| |  |  ks6tttd|||| }|t||  |d | d  d  d| |   kstttd|| }||||   kstttd||| }|| |  d |  kstttd||| }|t||  t| |  d  kstttd||| }||t| t| | | ksPtttd||| }|t||  |d  | d  d  kstttd||| }|t||  t| |  d ||  d  kstttd||| }|t||  |d | d  d  kstttd||| }||| |  |  t| | |   ksVtttd||| }t|d	ks|tttd||| }|td t||   t||   ||  |d | d  td    kstttd|| }|tdtt | |  t td| |  d d  t|d | d  d  d d ksJttt!d|||| }t|d
ksrttt"d||| }|t||   t||   | | |   ksttt#d|| }|t| d |  | ksttt$d|| }|dt%d||   ||   kstttddd| }|&| '| dtdddd ksZt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stttdd| }|&| '| dt(ks$tttddd| }|&| '| ddksTtttdddd| }|&| '| dtd kstttdd| }|&| '| ddkstttddd| }|&| '| ddkstttddd| }|&| '| dt)d kstttddd| }|&| '| dt* t+ddd ks\tttddd| }|&| '| ddkstttddd| }|&| '| dtddkstttddd| }|&| '| dttj	kstttddd| }|&| '| dtddks.tttddd| }|&| '| ddt* dtd  ksnt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stttdd| }|&| '| dtdtt d k	s ttt!dddd| }|&| '| dt* td k	s\ttt"ddd| }|&| '| ddk	sttt#dd| }|&| '| ddk	sttt$dd| }|&| '| ddt%dd t%dd t%dd k
st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   rH   rL   r/   r   rP   r   r,   r   r   r
   rQ   rT   rU   r   rV   r[   r^   r]   r+   r`   rb   r'   rj   rl   r.   rn   strro   r   r   rp   r(   ru   rv   rw   r{   r$   r   subsr	   r   er8   r   )r   r   r   r   Zmgfr   r   r   test_moment_generating_function   s    &

 6($,2*.J42$(,
 
"  """,&,&&r   c                  C   sx  t dttd  d  dt t  } tt| dd}tddd}t|t|ksTtt|dkt|dkkspttt	tt	 t
dtd}|jjjt
dtkstt|dkstt|dktd	kstttd
d  tddd\}}}dt|||   ||d   t| |  } t|| t
dtd}td||}t|t|  dksVtt|t|  dkstt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   )rI   r   r   r3   r   r   r   r   r   e  r   z#test_ContinuousRV.<locals>.<lambda>z	x k thetar   )r   r   r   r   rI   rj   r?   r   r<   r   r3   r   rE   r   r   r   r   r   r   r,   r[   r4   )r   r   r   r   Z_xkthetar   r   r   test_ContinuousRVY  s     &.r   c               	   C   s   t ddd} t ddd}td| |}t|tdttt | t|     ksRtt|ttd| tkfdt	t|  t |  |   t |tkfd	kstt
|jjt| |kstd S )
Nr   Tr   r   r   r   r   r   r   T)r   rJ   r>   r   r   r   r   rF   r   r   rE   r   r   r3   r   r   r   r   r   r   test_arcsinq  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stt jj	t
tkst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                      s   t  S r   rH   r   r   r   r   r     r   ztest_benini.<locals>.<lambda>nonpositivec                      s   t d S Nr   rK   r   r   r'   r   r   r   r     r   c                      s   t d S r   r   r   r   r   r   r     r   c                      s   t d S r   r   r   r   r   r   r     r   c                      s   t d S r   r   r   r   r   r   r     r   )r   rK   r>   r   r   r   r   rE   r   r   r3   r   r   NotImplementedErrorr   r   r   )r   r   r'   r   r   test_benini}  s$    ((
r   c                  C   s  t ddd\} }td| |}t|jjtddks6tt|tt	| f| | ft
t ks^tt|tt| d  dt |d   t| | ksttt|| | |  ksttt|| | | d d| d  |  | d  d|  |d   d|  |  |d  |d   kstd	\} }td| |}tt|| t| |  ksLttt|| | t| | d | | d   kstt|tddtd  kstd S )
Nz
alpha betaTr   r   r   r   r   r   )r   r   )r   rL   rE   r   r   r3   r   rG   r   r/   r	   r>   r'   r4   r   r?   r   r   rC   r9   r   )r   r   Br   r   r   	test_beta  s    (6f"6r   c                     s~  t ddd\ tdddtd} td }t|jjtdd	ksLtt	|}td
}t
||   d	  d |   d	| d	   t d  t|   t|   | dtf}|||stt d\ td st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                      s   t d S r   rM   r   r   r   r   r   r   r     r   z&test_beta_noncentral.<locals>.<lambda>r   c                      s   t d S r   r   r   r   r   r   r     r   )r   r   c                      s   t d S r   r   r   r   r   r   r     r   )r   r   r   rM   rE   r   r   r3   r   r>   r   r   r'   r   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\t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std S )Nr   Tr   r'   r   r   r   c                      s   t d S r   rN   r   r   Zbetapr   r   r     r   z test_betaprime.<locals>.<lambda>c                      s   t d S r   r   r   r   r   r   r     r   )
r   rN   r>   r   r'   r   r   r   rC   r9   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stt	| t
dd  t
d dd  d     kstt| t
t d  d  t
d  d d     d  d d    t
kfdks,tt|  d      ksRttdddd} t|  tdksztt| ttddkstt|  ddtdd   kstd S )NzL, HTnegativec                      s   t dd S Nr   r   r   r   Hr   r   r   r     r   z$test_BoundedPareto.<locals>.<lambda>Fr   c                      s   t dd S r   r   r   r   r   r   r     r   r   c                      s   t dd S )Nr   r   r   r   r   r   r   r     r   r   r   r   r   r   r         )r   r   r   r   rE   r   r   r3   r   r>   r   rF   r   r   r4   r   rC   r9   r
   r?   r   r   r   r   test_BoundedPareto  s*    84&r  c                     sJ  t dddt dddt ddd} td t tt tt tt   ks^ttt	 fdd	 t
 td
t d
t d d     ksttt ttt
 tkstt | tt| tj    kstt dddttfdd	 t dddttfdd	 t tksFtd S )Nx0Tr   r,   r   r   r   c                      s   t  S r   r   r   r   r   r   r     r   ztest_cauchy.<locals>.<lambda>r   r   x1Fc                      s   t d S r   rO   r   )r,   r  r   r   r     r   r   c                      s   t d S r   r  r   )r,   r  r   r   r     r   )r   rO   rG   r   r   r   r	   r   r   r   r>   r   r   rF   r   r#   r   r   r   rC   r9   )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snt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st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st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                      s
   t d S r   rP   r   r   r   r   r     r   ztest_chi.<locals>.<lambda>c                      s
   t d S r   r	  r   r
  r   r   r     r   )sympy.core.numbersr	   r   rP   r>   r   r   r,   r   rG   r   r   r/   rH   r   r   )r	   r   r   r
  r   test_chi  s0    
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st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                      s   t d S r   rR   r   r   r  r   r   r     r   z%test_chi_noncentral.<locals>.<lambda>r   c                      s   t d S r   r  r   r  r   r   r   #  r   r   c                      s   t d S r   r  r   r  r   r   r   '  r   )	r   rR   r>   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@tt| td  d  t d d   tt d  t d  kstt	| tt
t d td t d  tdkfd	kstt|  kstt| d  ksttdd
} t	| ddtd ttdd dtt  ttdd  ks:t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                      s
   t d S r   rQ   r   r
  r   r   r   :  r   z"test_chi_squared.<locals>.<lambda>c                      s
   t d S r   r  r   r
  r   r   r   =  r   )r   rQ   rG   r   r	   r   r>   r   r,   rF   r   r-   r   r?   r   r
   r   r(   r   r   r   r   r
  r   test_chi_squared*  s    
*H<
Hr  c                     sT  t dddt dddt ddd td } t| t  t     t   d  d   t ksxtt| ttdt       tdkfd	kst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sPtd S )Nr   Tr   r   r   r   r   r   r   r   c                      s   t d S r   rS   r   r   r   r   r   r   r   K  r   ztest_dagum.<locals>.<lambda>c                      s   t d S r   r  r   r  r   r   r   O  r   c                      s   t d S r   r  r   r  r   r   r   S  r   )r   rS   r>   r   r   rF   r   r   r   rC   r9   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s`tt|ttt	| |t t|  tdkfd	kstd S )
Nr   Tr  r  r   r   r   r   r   )
r   rT   r>   r   r   r,   r   rF   r   r-   )r   r  r   r   r   r   test_erlangW  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st|||   }|| }ttdd||}ttd|d ||}|t| |d d  t	|  }	t|||	ks
tt
| |d |d  ks,tt| d|d	 |d  t|d |d   |t|d |d     ks~td S )
Nzm, zzs, lTr   r   r   r   r   r   )r   rU   r>   r   r)   r   r   rF   rj   r   r?   r   rA   )
mr   sr  r   uvZGaussianCDF1ZGaussianCDF2Zactual_outputr   r   r   test_exgaussiana  s$    4&
""0r  c            
   	   C   s<  t ddd} td| }t dddd}t|d|  ks8tt|d| d  ksPtt|dks`tt|t|d	ksvtt|d
kstt|t|dksttd| dt|dkstt|d	d| d	  kstt	|dkt
jkstt	|dkt|  kstt	|dktd|  ks"tt||td|  |  ksFtt|dkjtddksdttdd}t|ttdksttd}t	||kt| |  kstt	||k dkstt d}td}t|td}tt tdtd|  |d	tf}|j|d	kddt|s.ttdtd|  |ddf}	|j|dk ddt|	sntW 5 Q R X tdd|  }t|||t|kstt||| |  |d|  |  dtddd| d    tddd| d      kstt|d|  || |d|  |d	ktdt d
d ks8td S )Nr   Tr   r   r   r   r   r   r   	   r   r  r   r   ir   r   _zr   Fevaluate   U   )!r   rV   r   r   r?   rA   r   rB   r~   r<   r   r   r   r   r   r=   r   r3   rC   r9   r   r   r   r   UserWarningr0   r   probabilityr   r   rz   r   r
   )
r   r   r   r   r   r   r   r   	expected1	expected2r   r   r   test_exponentialz  sJ    
$
 
$.2
$r)  c                  C   s   t d} t d}t ddd}t ddd}td| ||}t|||tt| | | |   d| td	|   ksxtt||tj	t
d	| t| | | | t|  |  dtd	|    kstd S )
Nr   r   r   Tr   r'   r   r   r   )r   rW   r>   r   r   r,   r   rF   r   r   r-   r   )r   r   r   r'   r   r   r   r   test_exponential_power  s"    
r*  c                      s  t dddt dddtd t td  tt  t       ttd d   ks|t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                      s   t  S r   r   r   r   r   r   r     r   z%test_f_distribution.<locals>.<lambda>r   c                      s   t d  S r   rX   r   r+  r   r   r     r   F)r   r  c                      s   t d  S r   r-  r   r.  r   r   r     r   c                      s   t d S r   r-  r   r+  r,  r   r   r     r   c                      s   t d S r   r-  r   r/  r   r   r     r   )
r   rX   r>   r   r   r'   r   r   r   r   r   r   )r   r+  r,  r   test_f_distribution  s     :
r0  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std S )Nr+  Tr   r,  r   r   )r   rY   r>   r   r   r'   r   )r+  r,  r   r   r   r   test_fisher_z  s    6
r1  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sztt|ttt| t | |    |tkfd
kstd S )Nr   Tr   r  r  r   r   )r  r  r   r   )r   rZ   r>   r   r   r   rF   r   )r   r  r  r   r   r   r   test_frechet  s    Fr2  c                  C   s  t ddd} t ddd}td| |}t|tt | t d |   ksLtt|tt| d  ||    tt |  t|  kstt	|ddt
t|  t| d t| d  | t| t
|  t| d   t
dkfd	kstt|t|dksttd
dd\} }td| |}t|| | ks,tt|| |d  ksFtt| dt|  ksdtt| dd|   ksttdd|  d| }t||| | | | |  dd|    t|  | ddd|    dd|     t| d d t|d d   kstd S )Nr   Tr   r   r   r   r7   r   r   zk thetar   r   r  r   i r      )r   r[   rG   r   r	   r   r>   r   r,   rF   r   r   r-   r   r~   r   r?   rA   r   r   rB   rz   r4   )r   r   r   r   r   r   r   
test_gamma  s4    (<
4r4  c                     s   t ddd} t ddd}td| | t tt|  d  ||   t| t  t|  ks`tt ttt	| |t t|  tdkfdkstt
 td	t | t | d	   t| d	t| tt t   t|  ksttt fd
d d S )Nr   Tr   r   r   r   r   r   r   c                      s   t  S r   r   r   r   r   r   r     r   z$test_gamma_inverse.<locals>.<lambda>)r   r\   r>   r   r   r,   r   rF   r   r.   rG   r	   r&   r   r   r   r   r   r   r   r   test_gamma_inverse  s    <4"
r6  c                  C   s   t ddd} t ddd}td| |}t|t| | t| t| t  t| t| t   ksftt|tdt|t| t| t    ksttt|ttt|tkstd S Nr   Tr   etar   r   )r   r]   r>   r   r   r   rF   r   r   r8  r   r   r   r   test_gompertz  s    B2r:  c                  C   sV  t ddd} t d}t d}t d}td| |}td| |dd}t|| t||  t| |   tt||   t| |    |  kstt|| t| |  t||   tt| |   t||    |  kstt|| tt||   t| |   kstt||tt| | t	t |  | d  ksRtd S )	Nr'   Tr   r   r   r   )minimumr   )
r   r^   r>   r   r   r   rF   rG   r	   r,   )r'   r   r   r   r   r   r   r   r   test_gumbel  s     <<
r<  c                  C   s   t ddd} t ddd}td| |}t|tt| d  |  | t|   d |d   ks^tt|ttdtdk ft|   d |  d tdkfdkstd S )	Nr   Tr   r   r   r   r   r   )r   r_   r>   r   r   rF   r   r   r   r   r   test_kumaraswamy!  s    :r=  c                  C   s  t d} t ddd}td| |}t|ttt|  t |d td  d  ksTtt|tttt|   | d|  kstt	|tt
t|  t | d | tkft| t |  d d dfksttdddgddgddgg}tt|jtstd S )	Nr   r   Tr   r   r   r   r   )r   r`   rG   r   r   r	   r   r>   r   rF   r   
isinstancerE   distributionr   )r   r   r   r   r   r   test_laplace,  s    4.(
r@  c                      s$  t dddt dddtd  jjjttks<tt t	t
dt  t dt	    t	 tjtj   kstt t	tt
dt	   kst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                      s   t  S r   r   r   r   r   r   r   D  r   ztest_levy.<locals>.<lambda>Fc                      s   t d S r   ra   r   r   r   r   r   r   F  r   r   c                      s   t d S r   rA  r   rB  r   r   r   I  r   c                      s   t d S r   rA  r   rB  r   r   r   L  r   )r   ra   rE   r   r   r3   r   r   r>   r   r   r   r   r   r   r   rF   r)   r   r   r   r   r   )r   r   r   r   	test_levy;  s    J(rC  c                  C   s   t ddd} t ddd}td| |}t|t|tt |d |  tt d    ksZtt|tttt|  | t t	j
 kstd S )Nr   Tr   r   r   r   )r   rc   r>   r   r   r   r   rF   r    r   r   )r   r   r   r   r   r   test_logcauchyN  s
    6rD  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|t
t|ttt |  | |tt |  | d
 d   kst
t|td
t| t | d
  kst
t||| |ttj d
|    kst
d S )Nr   Tr   r  r   r   r   r   r   r   r   )r   rb   rG   r   r   r   r   r	   r   r   r   r>   rF   r   r   r   r   )r   r  r   r   r   r   r   test_logisticX  s    
:@(rE  c                     s  t d\ td st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stt|| dd|       kstt|| |d|  d   ks tt	|t
tjdkft  tt   dfksZtt dddtd }t	|t  tt   ksttddd}t|tdkstd S )Nr   r   r   Tr   r   r   c                      s   t d S r   rd   r   r5  r   r   r   m  r   z"test_loglogistic.<locals>.<lambda>c                      s   t d S r   rF  r   r5  r   r   r   q  r   za b z pr   r   )prime)r   rd   r   r   r   r   r>   rF   r   r   r   r   NaNr   r"   rC   r9   )r   r   r   r   r5  r   test_loglogisticg  s&    <&*:&rI  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stt||t	td|  t|d|    d|  d t
dd  kstd S )	Nr   Tr   r  r   r   r   r   )r   re   r>   r   r   r   r   r   rF   r(   r   )r   r  r   r   r   r   r   test_logitnormal  s    `rJ  c                     sJ  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st
t ttttd	| tt  d	|  d	 td
d	  tdkfdkst
tddd
 t ttd	tttd	  d	  d	t tt	  ksFt
d S )Nr   Tr   r   r   r   c                      s   t  S r   r   r   r   r   r   r     r   z test_lognormal.<locals>.<lambda>r   r   r   r   )r   rf   r   r   r>   r   r   r   r   r   r   rF   r   r(   r   )ZmeanZstdr   r   r   r   r   test_lognormal  s,    $

$

rK  c                     sN  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|t	t
| t dt    d    kst	t| ttddt      tdkfdkst	d td
 } t| d kst	t| tddtdd   ks,t	t| dd  d ksJt	d S )Nza, lTr   c                      s   t d S Nr   r   r   r   r  r   r   r     r   ztest_Lomax.<locals>.<lambda>Fr   c                      s   t d S rL  rM  r   rN  r   r   r     r   r   r   r   r   r   r   r   r   r   )r   r   r   r   rE   r   r   r3   r   r   r>   r   rF   r   r   rC   r9   r
   r?   r   r   rN  r   
test_Lomax  s    .4(rO  c                  C   s0  t ddd} td| }t|ttdtd  ttd  d| d    tt| d   ks`tt|dtd |  tt kstt	|d| d  t d| d   kstt
|tttdt d|   tdt ttd  d| d    tt|    ksttt
|ttt|tks,td S )Nr   Tr   r   r   r   i)r   rg   r>   r   r   r   r   r   r   r?   rF   r(   r   )r   r   r   r   r   test_maxwell  s    
2
$(\rP  c                     s  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| ttdtt t   d   t d    dtt   kst	t
| t dttdt t d   d  kst	t| tdt  t  tt  t  tt  t tdd  tt ksZt	t|  t  td  kst	t| td t  t t  t t tdd  tt kst	d S )Nr   Fr   r   Tr   c                      s   t d S NMrh   r   r   r   r   r   r     r   ztest_Moyal.<locals>.<lambda>r   c                      s   t d S rQ  rS  r   rT  r   r   r     r   rR  r   r   )r   r   r   rh   r>   r   r   r   r   r   rF   r4   r(   rG   r	   r,   r
   r   r   r   rH   )rR  r   rT  r   
test_Moyal  s2    &
>*&"rU  c                  C   s\  t ddd} t ddd}td| |}t|tdtd|  d   | |   ||    ttd  |  |  t|  ksxttt|t	| t	| t| t
j  t| d  ksttt|||t| t
j d  t| t| d    kstt|ttt| | td  | t|  tdkfd	ks.ttddd}t|tt	tdksXtd S )
Nr   Tr   omegar   r   r   r   r   )r   ri   r>   r   r   r,   r   r4   r   r   r   r   r?   rF   r   r-   rC   r9   r   )r   rV  r   r   r   r   test_nakagami  s,    .



,$rW  c                     s*  t d\ td stt d\ } td }t|| tdt| d   t   |  d  d d  |    dtt  kstt ddd\ tddd} td }t|| tdt t| d	  t   |  d  d d  |    dtt  kstt	| ks.tt
|  d  ksLtt|| tjttdt d
|     dt|   d  td    ttdt d|     dt|   d  tj kst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                      s   t d S r   rk   r   r5  r   r   r      r   z'test_gaussian_inverse.<locals>.<lambda>r   c                      s   t d S r   rX  r   r5  r   r   r     r   )r   rk   r   r|   r>   r   r   r   r   r   r?   r   rF   r   r   r(   r   r   )r   r   r   r5  r   test_gaussian_inverse  s*    \bN.rY  c                  C   s   t ddd\} }|d }td| |}t|}t|ttt| d   | |d   d t| kfdksjtt|tt t |  |d  |d  t	| d t t |   kst|tt|d   | |  | kstt
t|||  |d  kstd S )Nzxm betaTr   r   r   r   r   )r   rl   r>   rF   r   r   r   rG   r	   r.   r4   r   )xmr'   r   r   r   r   r   r   test_pareto  s    
,
6&r[  c                  C   s   d\} }|d }t d| |}t|||  t|d  ks<tt|| d | t|d d |d   ksltt|tddtdd  kstd S )N)r   r   r   r   r   r   r      )rl   r   r   r   r?   rC   r9   r
   )rZ  r'   r   r   r   r   r   test_pareto_numeric  s     0r]  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stt| tt	 d  d d    d   d  t  d d    d    td  d d    d     tkfdksRttdddd} t| tdt ksztt| tt	td tdkfdkstt
| tddkstt| dk dkstt| dk dkstt| tdtd kstd S )Nr   Tr   za, br   c                      s   t d S r   rm   r   r   r   r   r   r   r   +  r   z$test_PowerFunction.<locals>.<lambda>Fc                      s   t d S r   r^  r   r_  r   r   r   .  r   r   c                      s   t d ddS )Nr   r   r   r^  r   )r   r   r   r   2  r   r   r   r   r   r   r   r   )r   r   r   r   rm   r>   r   r   rF   r   r   r
   r<   rC   r9   r   r   r   r_  r   test_PowerFunction(  s4    ..&"(r`  c               	   C   sF  t ddd} t ddd}td| |}t|jjt| | | | ksFt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stt|tt	ttt|   | d d|  tt| | k| | tkfd	ksBtd S )
Nr   Tr   r  r   r   r   r   r   )r   ro   rE   r   r   r3   r   rG   r   r   r   r	   r   r   r"   r>   r!   r1   )r   r  r   r   r   r   test_raised_cosineA  s    "
*ra  c                  C   s\  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~t	t
|ttttd  d| d    | d  kst	t|tdtt |  d kst	t|t | d  d d| d   kst	t|tdttd  d| d    ks4t	tt|ttt
|tksXt	d S )Nr   Tr   r   r   r   )r   rp   rG   r   r   r   r*   r	   r   r   r>   r   r?   rF   r   )r   r   r   r   r   test_rayleighP  s    
h6$,0rb  c                     s  t ddd t dddtd } t| tdtt  t   ksNtt| ttt t t  ttt t    tkfdksttddd	} t| d
td	td  kstt	| dk t
jkstt	| dk tdtd	td  tdtd	td   ks tt| dtdtd	td  tdtd	td   ksbt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                      s   t d S r   rq   r   r5  r   r   r   m  r   z!test_reciprocal.<locals>.<lambda>r   c                      s   t d   S r   re  r   r5  r   r   r   q  r   )r   rq   r>   r   r   r   rF   r   r   r<   r   Zeror   r   r   r   r   r5  r   test_reciprocal^  s    *N BBrg  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sxtd S r7  )r   rr   r>   r   r   r   r9  r   r   r   test_shiftedgompertzs  s    rh  c                     s   t ddd} td|  t tdtd |   |  d tj  t| ttj| d   ks^t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sttt fdd	 d S )
NnuTr   r   r   r   r   c                      s   t  S r   r   r   r   r   r   r     r   ztest_studentt.<locals>.<lambda>)r   rs   r>   r   r   r   r   r'   r   rF   r,   r/   r
   r   r   r   )ri  r   r   r   test_studenttz  s    
H6
 rj  c                  C   sl  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sttdddd	d}t|tdd	kstt|tddks0tt	|d	k tddksLtt
|ttdd	kshtd S )Nr   Tr   r   r   r   r   r   r   r   r   r   r   r   r   r   )r   rt   r>   r   r   r   r   r
   r?   r<   rC   r9   )r   r   r   r   r   r   r   r   test_trapezoidal  s    F$:
rk  c                  C   s   t d} t d}t d}td| ||}t|jjt| |ks@ttt|t	dksXtt
|t	 d|  |  t|t	  d|  |  t|t	   d||  t| t	   t	d |  |  |  |  ||    ksttt|t	dkst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   ru   rE   r   r   r3   r   r   r>   r   rH   r   r   rG   )r   r   r   r   r   r   r   test_triangular  s    rrl  c                  C   s2  t ddd} t ddd}td| |}tddd}t|jjt| |ksJtt|ddtd d	td  ksrtt|dd
td d dtd d  kstt	|ddt
 ddt
   tt
tdt
   kstt|ttdt| d  |d  d  |  | d  tt|k| tkfdks.td S )Nr   Tr   r   r   r   r   i   ir      r   r   r   r   )r   rn   rE   r   r   r3   r   rH   r   rG   r	   r>   r   r   r1   )r   r   r   r   r   r   r   test_quadratic_u  s    (084ro  c                  C   s  t ddd} t ddd}td| | | }t|| |d  ks@tt| |d d ks\ttdd	d
}t|d	k dkrt|d
kdkstt|dk t|dk  krtjksn tt	|t
dkstt d}t||}||dtjkst||ddkst||ddks"tt|}|ddkrF|d	dksJt|tddtddksht|d
dkr|ddkstd S )Nr  Tr   wr   r   r   r   r   r   r   r   r   g@r   r  r\  r   )r   rv   r   r   r?   r   r<   r   r   rC   r9   r>   r   rF   r
   )r  rp  r   r   r   r   r   r   r   test_uniform  s$    $, rq  c                  C   sT   t ddd} t ddd}td| | | }t|| k dkrLt|| | kdksPt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   rp  r   r   r   N)r   rv   r<   r   )r  rp  r   r   r   r   test_uniform_P  s    rr  c                  C   s   t ddd} td}t d}td| }td| | | | d   t| | |dt|ft| d  }t|||s|t	|j
jjtd| kst	t||t tt| d  | |  kst	t||t|d | |  kst	d S )	NnTr  r   r   r   r   r   )r   r   rw   r   r   r   r   r>   r   r   rE   r   r   r3   rG   r	   r   rH   )rs  r   r   r   r   r   r   r   test_uniformsum  s    
@.rt  c                  C   sZ   t d} t ddd}td| |}t|tt|tt|   dt td|  ksVtd S )Nr   r   Tr   r   r   r   )	r   rx   r>   r   r   r!   r   r$   r   )r   r   r   r   r   r   test_von_mises  s    ru  c                  C   s  t ddd\} }td| |}t| | tdd|   ks@tt| | d tdd|   t|d   ksxt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st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std S )Nr   Tr   r   r   r   r   r  r   r  )r   ry   r   r   r,   r   r?   r4   rA   r
   rB   r   r   r   r   test_weibull  s    $8 &"&rv  c               	   C   s   d} t jdtdddg}|D ]x}td| |}tt|t| tddt |   ksXttt	|t| d tddt |   t|d  kstqd S )Nr   r   r   r   r   )
r   r   r
   ry   r4   r   r   r,   r   r?   )r   Zbvalsr   r   r   r   r   test_weibull_numeric	  s    ,&rw  c                  C   s   t ddd} td| }t|jjt|  | ks2tt|tdt	td  | d   t
| d   kshtt|dksxtt|ttdtd| t  | t  ttdfdkstd S )	NRTr   r   r   r   r   r   )r   r{   rE   r   r   r3   r   r>   r   r   r   r   rG   r   r%   r   )rx  r   r   r   r   test_wignersemicircle  s    
6
(ry  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| qd S )Nr   zp qTr   zm nFr   c                   S   s   t dddS )Nr   r   r   rj   r   r   r   r   r   (  r   z-test_input_value_assertions.<locals>.<lambda>c                      s   t d S r   rz  r   )r  rs  r   r   r   )  r   r   c                      s
   t d S r   )rV   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{  rs  r   r   r   r   /  r   r   )	r   r   r   rj   rV   rl   ry   rL   r[   )r   r   qr   )r{  r  rs  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f t	| dd
t|stt	| d dd
t|d stt| dkdd
t|stW 5 Q R X t| dk| d dk tjkstd S )Nr   r   r   r   r   Fr!  )rj   r   r0   r   r   r   r   r   r%  r   r   r   r   r<   r   r   )r   r   expr1Zexpr2r   r   r   test_unevaluated3  s    82
$*r  c               	   C   s@   t ddd} tt" tt| dkddtks2tW 5 Q R X d S )NTrc  r   !   Fr!  )rj   r   r%  typer<   r   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s6td S )Nr   r   r   r   r   Fr!  )rj   r>  r>   r   r0   r   r   r   r   r   test_density_unevaluatedF  s    r  c            	      C   s  t dd} td}| |ttd| d d tj ks>t| d|dksRt| ||dksft| |d |dks~t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kstttdt|d d  d  dtt  |dtf}|j|dkd	d
|dksFtt	|t dd}ttdt|d d  d  dtt  |dtf}|j|dkd	d
|dkstttdt|d d  d  dtt  |t df}|j|dk d	d
|dkstd S )Nr   r   r   r   r   r       r   Fr!  Tr     r3  r  )r   r   rF   r(   r   r   r   r   Zexpectationr   r   r0   r   r   r   r&  r   )	ndr   r   r   r'  r(  r   Z	expected3Z	expected4r   r   r   test_NormalDistributionL  s"    
,8 6"6"8r  c                  C   s   t ddd} t d| d}t|ddts,ttt|ts>tt dddgdd	gd	dgg}tt|jtsntt|t	 t
d
ttd  d td
  tdd
   dt
t  kstd S )Nr   r   r   r  r   Fr!  r   r   r   rd  r   )rj   r>   r   r   r>  rE   r   r?  r   r4   r   r   r   r   )r   measr   r   r   r   test_random_parametersf  s    r  c                  C   s<   t ddd} t d| d}t|t| dt dddks8td S )Nr   r   r   r  r   r   )rj   rD   r   r   )r   r  r   r   r   test_random_parameters_givenp  s    r  c                  C   sB   t ddd} t d| d}ttt| t|tddtts>td S )Nr   r   r   r   r   Fr!  )	rj   r>  r4   r>   r   r   r   r   r   )r   r   r   r   r   test_conjugate_priorsv  s
    r  c                  C   sD   t ddd} t| d sttt| d s0ttt| s@t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)rj   r>   r   r   r   r   r   r   r   test_difficult_univariate}  s    r  c                  C   sF   t dd} tddd}t| dk tjks,tt|dk tjksBtd S )Nr   r   gr   r   r   )rV   r[   r<   r   rf  r   )r   Gr   r   r   test_issue_10003  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sdtqdd S )Nr   Tr   r   zsigma xm alphar   rs  r  r   r<   Cr   r   )r   rj   rl   rQ   rV   rF   r4   rE   r>   Zcompute_cdfr   r)   r   )	r   r   r   rZ  r   rs  distribsr   Zcompdiffr   r   r   test_precomputed_cdf  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 ]L}||}||}	tt|t|	 dk st	tt
|t
|	 dk s`t	q`d 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)quadr   )r   r  support_lower_limitsupport_upper_limitr  r   r     r   zLtest_precomputed_characteristic_functions.<locals>.test_cf.<locals>.<lambda>)r   r   r      g-q=)r>   r   r5   rG   r   r   r	   absr   r   r   )
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  rs  r   r   rr   g      ?r  rp  r  )r  rL   rP   infrQ   rV   rb   rj   ro   rp   rv   r{   )r  r   r  r   )test_precomputed_characteristic_functions  s    r  c                  C   s4  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 ]B}tdD ]4}ttt|| | t|| | dddddstqqtdd}t|| t| d }t|d d!| t| d }tt|| || ddddds0td S )"Nr   Tr   Ar   r  Dr   r   r   r      r   Fr   r  r  r  r\  ZGIKr   ZLAr   iNr   r   r   )r   r   r   r   USFr!  )r   rJ   rS   rT   rZ   r[   r\   r_   r`   rb   ri   rs   rangetnr   rF   r>   r   rw   r   r   r   )r   r  Zdistr_r  Zpdf01Zcdf01r   r   r   test_long_precomputed_cdf  s(    







4
 r  c                  C   sF   t ddd} t| | tjktddks*tt| | dktjksBtd S )Nr   r   r   r   r   )rv   r   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.tt| |d d  tjksLtt|| | d  | |    tjksrtd S )Nr   r   r   r   )rv   r   r   rf  r   r   r   r   r   test_issue_20756  s
    r  c                  C   sb   t dd} tddd}tt| dtjks.ttt|dtjksFttt|ttjks^td S )Nr   r   r  r   r\  r   r   )rV   rj   r<   r   r   rf  r   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*ttt|ddks@ttt|ddksVttt|ddkslttt| tdkstd S )Nr   r   r   r   r   r   )rV   rQ   r<   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sXttt| d d dktdtd d  d ttdd d  tdd kstd S )Nr  r   r   r   r   r   )rj   r4   r<   r(   r   r)   r
   r   r  r   r   r   
test_union  s    .6r  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sZttt| dk | dk t| dk ksttt| dk| dk dkstd S )Nr  r   r   r   r   )	rj   r4   r<   r2   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(ttt| dt| ddksFtt| dkt| ddksbtt| dk t| ddks~td S )Nr   r   r   r   )rV   r<   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tdd | dk| dk @ fd| dk| dk @ ftdd | dk| dk @ fdkst
t|jtddkst
t|jtddkst
t|jtd	d
kst
d S )Nr   r   r   r   r   r   r   r      r   )r   r   r   r   r   r   r   r3   r   r   r   rC   valuer   r
   r?   )r   r   r   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     r   z"test_issue_16318.<locals>.<lambda>)r   r   r3   r   r   r   r   r  r   test_issue_16318  s    r  N(  Zsympy.concrete.summationsr   Zsympy.core.functionr   r   r   Zsympy.core.mulr   Z
sympy.corer   r  r   r   r	   r
   r   Zsympy.core.relationalr   r   Zsympy.core.singletonr   Zsympy.core.symbolr   r   r   Z(sympy.functions.combinatorial.factorialsr   r   Z$sympy.functions.elementary.complexesr   r   r   r   Z&sympy.functions.elementary.exponentialr   r   Z%sympy.functions.elementary.hyperbolicr   r   Z#sympy.functions.elementary.integersr   Z(sympy.functions.elementary.miscellaneousr   Z$sympy.functions.elementary.piecewiser   Z(sympy.functions.elementary.trigonometricr   r    r!   r"   r#   Zsympy.functions.special.besselr$   r%   r&   Z&sympy.functions.special.beta_functionsr'   Z'sympy.functions.special.error_functionsr(   r)   r*   r+   Z'sympy.functions.special.gamma_functionsr,   r-   r.   Zsympy.functions.special.hyperr/   Zsympy.integrals.integralsr0   Zsympy.logic.boolalgr1   r2   Zsympy.sets.setsr3   Zsympy.simplify.simplifyr4   Zsympy.utilities.lambdifyr5   r6   r8   r9   r:   r;   Zsympy.statsr<   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`   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   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.core.randomr   r  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  r)  r*  r0  r1  r2  r4  r6  r:  r<  r=  r@  rC  rD  rE  rI  rJ  rK  rO  rP  rU  rW  rY  r[  r]  r`  ra  rb  rg  rh  rj  rk  rl  ro  rq  rr  rt  ru  rv  rw  ry  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   -  !

+	


	
	



"




	



