o
    GZhL                     @   s~  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lFmGZG d dlHmIZImJZJ d dlKmLZL d dlMmNZN d dlOmPZP d dl9mQZQ d dlDmRZR d dlKmSZSmTZTmUZU d dlVmWZWmZmXZXmYZYmZZZm[Z[m\Z\m]Z]m^Z^m_Z_m`Z`maZambZbmcZcmdZdmeZemfZfmgZgmhZhmiZimjZjmkZkmlZlmmZmmnZnmoZompZpmqZqmrZrmsZsmtZtmuZumvZvmwZwmxZxmyZymzZzm{Z{m|Z|m}Z}m~Z~mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ 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/ Zd0d1 Zd2d3 Zd4d5 Zd6d7 Zd8d9 Zd:d; Zd<d= Zd>d? Zd@dA ZdBdC ZdDdE ZdFdG ZdHdI ZdJdK ZdLdM ZdNdO ZdPdQ ZdRdS ZdTdU ZedVdW ZdXdY ZdZd[ Zd\d] Zd^d_ Zed`da Zdbdc Zddde Zdfdg Zdhdi Zdjdk Zdldm Zdndo Zdpdq Zdrds Zdtdu Zdvdw Zdxdy Zdzd{ Zed|d} Zd~d Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zeedd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Z dd Zdd Zdd Zdd 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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)zeta)hyper)Integral)AndOr)Interval)simplify)lambdify)erfinvmeijerg)	FiniteSet
ComplementIntersection)J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Davis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   rl   r   r@   r?   r   Halfr   r   r=   r(   r   r;   r<   r:   r   r7   r4   oor   rD   rF   compute_expectationdoit)r   r   XYpdfr   Zans r   S/var/www/auris/lib/python3.10/site-packages/sympy/stats/tests/test_continuous_rv.pytest_single_normal7   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   )rl   rE   r   r?   rF   domainsetr4   r   r   r   r   )r   r   r   r   r   r   test_conditional_1dP   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s9J tt fdd t  dk} | j	j
jtdtksUJ d S )Nr   r   r   r   c                      s   t t dkS Nr   )r>   r"   r   r   r   r   <lambda>b       z'test_ContinuousDomain.<locals>.<lambda>)rl   r>   r   r4   symbolr2   r   
ValueErrorrE   rF   r   r   )r   r   r   r   test_ContinuousDomain]   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            )rl   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_normali   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   rl   rX   r   r@   rD   r:   )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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)rl   rG   r=   rewriter)   r   r   rX   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d d	  ks\J t
ddd} t| }|ddksnJ |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   )rx   rH   r	   r   rl   r   r   rX   expandr
   rm   r   rW   rc   )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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   r0   rQ   r   r,   r   r   r
   rR   rV   rW   r   rX   r]   r`   r_   r+   rb   rd   r'   rl   rn   r.   rp   strrq   r   r   rr   r(   rw   rx   ry   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   r4   r   r   r   r   r   f  s    z#test_ContinuousRV.<locals>.<lambda>z	x k thetar   )r   r   r   r   rJ   rl   r@   r=   r   r4   r   rF   r   r   r   r   r   r   r,   r]   r5   )r   r   r   r   Z_xkthetar   r   r   test_ContinuousRVZ  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   r4   r   r   r   r   r   r   test_arcsinr  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         ztest_benini.<locals>.<lambda>nonpositivec                         t d S Nr   rL   r   r   r'   r   r   r   r         c                      r   r   r   r   r   r   r   r     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   r4   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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   r4   rH   r   r0   r	   r?   r'   r5   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   r   rN   rF   r   r   r4   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.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   r4   r?   r   rG   r   r   r5   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  )sympy.core.numbersr	   r   rQ   r?   r   r   r,   rH   r   r   r0   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   L  r   ztest_dagum.<locals>.<lambda>c                      r!  r   r"  r   r#  r   r   r   P  r   c                      r!  r   r"  r   r#  r   r   r   T  r   )
r   rT   r?   r   rG   r   r   r   rD   r:   r   r   r#  r   
test_dagumA  s$   F*
r$  c                  C   s   t ddd} t ddd}t ddd}td| ||}| | t| d|   }t| t|  d t|t|  }t|t|| ksCJ d S )	Nr   Tr   nr   r   r   r   )r   rU   r   r   r,   r/   r?   )r   r%  r   r   ZdividendZdivisorr   r   r   
test_davisX  s   $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   rV   r?   r   r   r,   rG   r   r-   )r   r  r   r   r   r   test_erlangc  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   rW   r?   r   r)   r   rG   rl   r   r@   r   rB   )
mr   sr  r   uvZGaussianCDF1ZGaussianCDF2Zactual_outputr   r   r   test_exgaussianm  s$   4&
" 0r,  c            
   	   C   sD  t ddd} td| }t dddd}t|d|  ksJ t|d| d  ks(J t|dks0J t|t|d	ks;J t|d
ksCJ t|t|dksNJ td| dt|dks\J t|d	d| d	  ksiJ t|dkt	j
u stJ 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|	s0J W d    n	1 s;w   Y  tdd|  }t|||t|ksTJ 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   r   r   	   r   r  r   r   ir   r   _zr   Fevaluate   U   ) r   rX   r   r@   rB   r   rC   r   r=   r   r   r   r   r   r>   r   r4   rD   r:   r   r   r   r   UserWarningr1   r   probabilityr   r   r|   r   r
   )
r   r   r   r   r   r   r.  r   	expected1	expected2r   r   r   test_exponential  sL   
"

$&2
$r7  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   rY   r?   r   r   r,   rG   r   r   r-   r   )r   r   r   r'   r   r   r   r   test_exponential_power  s"   
r8  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   rZ   r   r9  r   r   r     r   F)r   r  c                      r;  r   r<  r   r=  r   r   r     r   c                      r   r   r<  r   r9  r:  r   r   r     r   c                      r   r   r<  r   r>  r   r   r     r   )	r   rZ   r?   r   r   r'   r   r   r   r   r   )r   r9  r:  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 )Nr9  Tr   r:  r   r   )r   r[   r?   r   r   r'   )r9  r:  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<rA  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|   r5   )r   r   r   r   r   r   r   
test_gamma  s4   (<
4rC  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	   r&   r   r   r   r   r   r   r   r   test_gamma_inverse	  s   <4"
rE  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   rG  r   r   r   r   test_gompertz  s   B2&rI  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   )minimumr   )	r   r`   r?   r   r   rG   rH   r	   r,   )r'   r   r   r   r   r   r   r   r   test_gumbel  s    <<:rK  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   ra   r?   r   rG   r   r   r   r   r   test_kumaraswamy-  s   :rL  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   rb   rH   r   r   r	   r?   r   rG   r   
isinstancerF   distributionr   )r   r   r   r   r   r   test_laplace8  s   4.(
rO  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   P  r   ztest_levy.<locals>.<lambda>Fc                      r  r   rc   r   r   r   r   r   r   R  r   r   c                      r  r   rP  r   rQ  r   r   r   U  r   c                      r  r   rP  r   rQ  r   r   r   X  r   )r   rc   rF   r   r   r4   r   r?   r   r   r   r   r   r   r   rG   r)   r   r   r   r   r   )r   r   r   r   	test_levyG  s   J(rR  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   re   r?   r   r   r   rG   r    r   r   )r   r   r   r   r   r   test_logcauchyZ  s
   62rS  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   rd   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rT  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   rf   r   rD  r   r   r   y  r   z"test_loglogistic.<locals>.<lambda>c                      r   r   rU  r   rD  r   r   r   }  r   za b z pr   r   )prime)r   rf   r   r   r   r?   rG   r   r   r   r   NaNr   r"   rD   r:   )r   r   r   r   rD  r   test_loglogistics  s&   <&(8$rX  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   rg   r?   r   r   r   r   rG   r(   r   )r   r)  r   r   r   r   r   test_logitnormal  s   `NrY  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   rh   r   r   r?   r   r   r   r   r   rG   r   r(   r   )meanZstdr   r   r   r   r   test_lognormal  s,   $

$

Br[  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   r\  r]  r   r^  r   r   r     r   r   r   r   r   r   r   r   r   r   )r   r   r   r   rF   r   r   r4   r   r?   r   rG   r   r   rD   r:   r
   r@   r   r   r^  r   
test_Lomax  s   .4& r_  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   ri   r?   r   r   r   r   r   r@   rG   r(   r   )r   r   r   r   r   test_maxwell  s   
2
$(Z&r`  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sbJ 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   Tr   c                      r   NMrj   r   r   r   r   r   r     r   ztest_Moyal.<locals>.<lambda>r   c                      r   ra  rc  r   rd  r   r   r     r   rb  r   r   )r   r   r   rj   r?   r   r   r   r   rG   r5   r(   rH   r	   r,   r
   r   r   r   rI   )rb  r   rd  r   
test_Moyal  s2   &
<*
$"re  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   rk   r?   r   r   r,   r5   r   r   r   r   r@   rG   r   r-   rD   r:   r   )r   rf  r   r   r   r   test_nakagami  s,   .



,$
 rg  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   rm   r   rD  r   r   r     r   z'test_gaussian_inverse.<locals>.<lambda>r   c                      r   r   rh  r   rD  r   r   r     r   )r   rm   r~   r?   r   r   r   r   r   r@   r   rG   r   r   r(   r   r   )r   r   r   rD  r   test_gaussian_inverse  s*   \`N.
ri  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   rn   r?   rG   r   r   rH   r	   r.   r5   r   )xmr'   r   r   r   r   r   r   test_pareto  s   
,
6&$rk  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      )rn   r   r   r@   rD   r:   r
   )rj  r'   r   r   r   r   r   test_pareto_numeric)  s    0&rm  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   ro   r   r   r   r   r   r   r   7  r   z$test_PowerFunction.<locals>.<lambda>Fc                      rn  r   ro  r   rp  r   r   r   :  r   r   c                      s   t d ddS )Nr   r   r   ro  r   )r   r   r   r   >  r   r   r   r   r   r   r   r   )r   r   r   r   ro   r?   r   rG   r   r   r
   r=   rD   r:   r   r   r   rp  r   test_PowerFunction4  s4   ..&"
& rq  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   rq   rF   r   r   r4   rH   r   r   r   r	   r   r   r"   r?   r!   r2   )r   r)  r   r   r   r   test_raised_cosineM  s   "
*rr  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   rr   rH   r   r   r   r*   r	   r   r?   r   r@   rG   r   )r   r   r   r   r   test_rayleigh\  s   
h6$*.&rs  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   rs   r   rD  r   r   r   y  r   z!test_reciprocal.<locals>.<lambda>r   c                      s   t d   S r   rv  r   rD  r   r   r   }  r   )r   rs   r?   r   r   rG   r   r   r=   r   Zeror   r   r   r   r   rD  r   test_reciprocalj  s   *N @@rx  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 rF  )r   rt   r?   r   r   rH  r   r   r   test_shiftedgompertz  s   Xry  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     r   ztest_studentt.<locals>.<lambda>)r   ru   r?   r   r   r   r   r'   rG   r,   r0   r
   r   r   r   )rz  r   r   r   test_studentt  s   
H6r{  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   rv   r?   r   r   r   r
   r@   r=   rD   r:   )r   r   r   r   r   r   r   r   test_trapezoidal  s   F$:
r|  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   rw   rF   r   r   r4   r   r?   r   rI   r   r   rH   )r   r   r   r   r   r   r   test_triangular  s   rr}  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   rp   rF   r   r   r4   rI   r   rH   r	   r?   r   r   r2   )r   r   r   r   r   r   r   test_quadratic_u  s   (084r  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  rl  r   )r   rx   r   r@   r   r=   r   r   rD   r:   r?   r   rG   r
   )r  r  r   r   r   r   r   r   r   test_uniform  s$   $. r  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   r  r   r   r   N)r   rx   r=   )r  r  r   r   r   r   test_uniform_P  s   ,r  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 )	Nr%  Tr  r   r   r   r   r   )r   r   ry   r   r   r   r   r?   r   rF   r   r   r4   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   rz   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   r{   r   r   r,   r@   r5   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
   r{   r5   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   r4   r?   r   r   r   r   rH   r   r%   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   rl   r   r   r   r   r   4  r   z-test_input_value_assertions.<locals>.<lambda>c                      r   r   r  r   )r(  r%  r   r   r   5  r   r   c                      r  r   )rX   r   )r(  r   r   r   7  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   rl   rX   rn   r{   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/  )rl   r   r1   r   r   r   r   r   r3  r   r   r   r=   r   r   )r   r   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Trt  r   !   Fr/  )rl   r   r3  typer=   r   )r  r   r   r   test_probability_unevaluatedL  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/  )rl   rM  r?   r   r1   r   r   r   r   test_density_unevaluatedR  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-     rB  r  )r   r   rG   r(   r   r   r   Zexpectationr   r   r1   r   r   r   r4  r   )	ndr   r   r.  r5  r6  r   Z	expected3Z	expected4r   r   r   test_NormalDistributionX  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   ru  r   )rl   r?   r   rM  rF   r   rN  r   r5   r   r   r   r   )r   measr   r   r   r   test_random_parametersr  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   )rl   rE   r   )r   r  r   r   r   test_random_parameters_given|  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/  )rl   rM  r5   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)rl   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u sJ t|dk tju s!J d S )Nr   r   gr   r   r   )rX   r]   r=   r   rw  )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sQJ q2d S )Nr   Tr   r   zsigma xm alphar   r%  r  r   r=   Cr   r   )r   rl   rn   rR   rX   rG   r5   rF   r?   Zcompute_cdfr   r)   )	r   r   r   rj  r   r%  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 ]&}||}||}	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)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   r6   rH   r   r   r	   absr   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  r%  r   r   rr   g      ?r*  r  r  )r  rM   rQ   infrR   rX   rd   rl   rq   rr   rx   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  rl  ZGIKr  ZLAr   iNr   r   r   )r   r   r   r   USFr/  )r   rK   rT   rV   r\   r]   r^   ra   rb   rd   rk   ru   rangetnr   rG   r?   ry   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   )rx   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   )rx   r   r   rw  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   rl  r   r   )rX   rl   r=   r   r   rw  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   )rX   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   )rl   r5   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   )rl   r5   r=   r3   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   )rX   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siJ t
|jtddksuJ t|jtddksJ t|jtd	d
ksJ d S )Nr   r   r   r   r   r   r   r      r   )r   r   r   r   r   r   r   r4   r   r   rD   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   +  s    z"test_issue_16318.<locals>.<lambda>)r   r   r4   r   r   r   r   r  r   test_issue_16318(  s   r  c                      s*   t ddtdd  tt fdd d S )Nr   r   r   r   c                      s   t  d   S )Nr   )r?   r   r   r   r   r   /  r   z&test_compute_density.<locals>.<lambda>)rl   r   r   r   r   r   r   r   test_compute_density-  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.zeta_functionsr/   Zsympy.functions.special.hyperr0   Zsympy.integrals.integralsr1   Zsympy.logic.boolalgr2   r3   Zsympy.sets.setsr4   Zsympy.simplify.simplifyr5   Zsympy.utilities.lambdifyr6   r7   r9   r:   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   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,  r7  r8  r?  r@  rA  rC  rE  rI  rK  rL  rO  rR  rS  rT  rX  rY  r[  r_  r`  re  rg  ri  rk  rm  rq  rr  rs  rx  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  r  r  r  r  r  r  r  r  r   r   r   r   <module>   s   2   !

+	


	
	







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