U
    	-e2                     @   s(  d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	m
Z
mZmZ d dlmZ d dlmZ d dlmZmZ d d	l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"m#Z# d dl$m%Z% d dl&m'Z' d dl(m)Z) d dl*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZAmBZBmCZCmDZDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZL d dlMmNZNmOZOmPZPmQZQmRZRmSZSmTZTmUZUmVZVmWZW d dlXmYZYmZZZm[Z[m\Z\ d dl]m^Z^ d dlm_Z_ d dl`maZa d dlmbZb d dlcmdZd dd Zedd Zfdd Zgd d! Zhd"d# Zid$d% Zjd&d' Zkd(d) Zld*d+ Zmd,d- Znd.d/ Zod0d1 Zpd2d3 Zqd4d5 Zrd6d7 Zse[d8d9 Ztd:d; Zud<d= Zvd>d? Zwd@dA ZxdBdC ZydDdE ZzdFdG Z{dHdI Z|dJdK Z}dLdM Z~dNdO ZdPdQ ZdRdS ZdTdU ZdVdW ZdXdY ZdZd[ Zd\d] Zd^d_ Zd`da ZdbS )c    )Sum)Basic)Tuple)Lambda)Rationalnanoopi)Eq)S)Symbolsymbols)FallingFactorialbinomial)explog)cossin)
DiracDelta)	integrate)AndOr)Matrix)Interval)Indexed)"DieNormalExponentialFiniteRVPEHvariancedensitygivenindependent	dependentwherepspaceGaussianUnitaryEnsemblerandom_symbolssample	Geometricfactorial_momentBinomialHypergeometricDiscreteUniformPoissoncharacteristic_functionmoment_generating_functionBernoulliProcessVarianceExpectationProbability
Covariance
covariancecmomentmomentmedian)
IndependentProductPSpacers_swapDensityNamedArgsMixinRandomSymbolsample_iterPSpace	is_randomRandomIndexedSymbolRandomMatrixSymbol)raisesskipXFAILwarns_deprecated_sympy)import_module)comp)BernoulliDistribution)Dummy)	Piecewisec               	   C   s  t dt d } }tddd}t|d dkjtddks>tt|d dk tdd|jkshttt	| |k|dk t	t
| jd	t
|jd
ksttt| dk jdkstdt| dk jksttdddtddd } }tt	| d dk| dkjtddkstt| t	| d dk| dk}|jjjtddksLt|jj t	d| jk| jd dkt | jk | jtk ksttt t| | d }W 5 Q R X d S )NXYZr                     )r   r   r'   setr   AssertionErrorZ
as_booleanZas_relationalsymbolr   r
   lenr$   r(   domainr   rG   	TypeError)rP   rQ   rR   XX ra   Z/var/www/html/Darija-Ai-Train/env/lib/python3.8/site-packages/sympy/stats/tests/test_rv.py
test_where!   s&     *
 

,
*

rc   c                  C   s   t dddt ddd } }ttd|  d | hks8tttd|  | | |hksXtttd|  |j | hksxtttdt kstd S )NrP   r   rS   rQ   rT   )r   rZ   r*   r[   r\   rP   rQ   ra   ra   rb   test_random_symbols8   s
      re   c                  C   s   ddl m}  tddd}tddddg}tdd}td	}t|t|d  d }t|td| |  d
 td| |  d
  t||  d
  }t|tdt||   d }t|	|st
t|	|st
t|	|st
d S )Nr   )IrP   rS   rQ   rT      rR   _trY   )sympy.core.numbersrf   r   r0   r1   r   r   r   r2   dummy_eqr[   )rf   rP   rQ   rR   tr   QRra   ra   rb   test_characteristic_functionA   s    
>rn   c                  C   s   t ddd} tddddg}tdd}td}t|t|d d }t|td| d	 td| d	  t|d	  }t|tdt| d }t| |stt||stt||std S )
NrP   r   rS   rQ   rT   rg   rR   rh   rY   )	r   r0   r1   r   r   r   r3   rj   r[   )rP   rQ   rR   rk   r   rl   rm   ra   ra   rb   test_moment_generating_functionR   s    
2ro   c                  C   s   t ddd} tddddg}tdd}td}|s:td	 | d d
 }t|}|d d|  d }t|}|d
 d }t|}	dd }
|
|st|
|st|
|	std S )NrP   r   rS   rQ   rT   rg   rR   scipy#Scipy is not installed. Abort testsrY   rX   rV   c                 S   s@   t | dr8t | dst | dr8t| jr8|  | kr8dS dS d S )N__iter__next__next__TF)hasattrcallablerr   )objra   ra   rb   is_iterators   s    
z%test_sample_iter.<locals>.is_iterator)r   r0   r1   rK   rH   rB   r[   )rP   rQ   rR   rp   expriteratorZexpr2Z	iterator2Zexpr3Z	iterator3rx   ra   ra   rb   test_sample_itera   s     
r{   c                     s   t dddt ddd } }td ttdd  tt fdd t| | jksTttd	|  d | jksnttd	|  | t|j| jkstd S )
NrP   r   rS   rQ   xc                   S   s   t dS )N   r(   ra   ra   ra   rb   <lambda>       ztest_pspace.<locals>.<lambda>c                      s   t  dk S NrS   r~   ra   r|   ra   rb   r      r   rT   )r   r   rG   
ValueErrorr(   r[   r=   rd   ra   r   rb   test_pspace   s    r   c                  C   sf   t ddd} tdd}t ddd}t ddd}d|  | }|t| |f||fd| | ksbtd S )Nr|   r   rS   yrT   rY   )r   r   subsr>   r[   )rP   rQ   r`   YYry   ra   ra   rb   test_rs_swap   s    
r   c                  C   sb   t ddd} t ddd}| j|jks(t| |ks4t| j| jjksFtt ddd} t ddd} d S )Nr|   r   rS   rT   lambdar   )r   r\   r[   namerd   ra   ra   rb   test_RandomSymbol   s    r   c                  C   s"   t ddd} d|  | std S )Nr|   r   rS   rT   )r   diffr[   rP   ra   ra   rb   test_RandomSymbol_diff   s    r   c                  C   s    t td} | jt kstd S )Nr|   )rA   r   r(   rC   r[   r   ra   ra   rb   test_random_symbol_no_pspace   s    r   c                      s0   t ddd t dddtt fdd d S )Nr|   r   rS   rT   c                      s   t  kS Nr   ra   rd   ra   rb   r      r   ztest_overlap.<locals>.<lambda>)r   rG   r   ra   ra   rd   rb   test_overlap   s    r   c                  C   s\   t ddd} t ddd}| j}|j}t| | t||ks>tt| | t||ksXtd S NrP   r   rS   rQ   )r   r(   r=   r[   )rP   rQ   Zpxpyra   ra   rb   test_IndependentProductPSpace   s    r   c                   C   s   t ddkstd S )NrX   )r    r[   ra   ra   ra   rb   test_E   s    r   c                  C   s   t ddd} tddd}tdd}t| | dktd	 d	 tj ttd	  ksTtt||d	ktd	ksntt	t|
 d	d
std S )NrP   r   rS   DrV   )ZsidesG      ?rT   g=
ףp=?)r   r   r,   r!   r   r   Halfr	   r[   rL   Zevalfround)rP   r   r   ra   ra   rb   test_H   s    
2r   c               	      s   t dd} tddd tdddtd	}|s6td
 t| dksFttt|   ts\tt	|   dk dk ddj
s|tt|   ddj
stt| d   ddj
stt|   d ddj
stt|   ddj
sttt fdd t	t dkdddkstt	t dkt dk dddks6ttdd t| ddD sVttdd t| | dkddD s|ttd}|std tt| |j|jfsttt |jsttt| dd|jstt  t| dd W 5 Q R X d S )NrP   rW   rQ   r   rS   zTintegerrp   rq   )rS   rT   rY   rV   rX   rW   
   Z
numsamplesrT   c                      s   t  kddS )NrX   r   r   ra   rQ   r   ra   rb   r      r   ztest_Sample.<locals>.<lambda>g      ?c                 s   s   | ]}|t d dkV  qdS )rS   rg   Nrange.0ira   ra   rb   	<genexpr>   s     ztest_Sample.<locals>.<genexpr>c                 s   s   | ]}|t d dkV  qdS )rV   rg   Nr   r   ra   ra   rb   r      s     rY   numpyz#Numpy is not installed. Abort tests)size)r   r   r   rK   rH   r+   r[   
isinstancefloatr   	is_numberr    r"   rG   r_   r   r   allr#   Zint32Zint64Zfloat64ZndarrayrJ   )rP   rp   r   ra   r   rb   test_Sample   s4    
 ( &r   c                  C   s\   t d} | std tddd}tddd}ttd||  |dtf|d	kd
djsXtd S )Nrp   rq   rQ   r   rS   r   Tr   rT   rY   r   )	rK   rH   r   r   r    r   r   r   r[   )rp   rQ   r   ra   ra   rb   test_samplingE   s    r   c                  C   sN   t ddd} t ddd}t| d}t| |dk}| |  krD|ksJn td S )NrP   r   rS   rQ   TrT   )r   r$   r[   )rP   rQ   ABra   ra   rb   
test_given   s
    
r   c                  C   s$  t dd} tddtj}tdddd}t| ddks8tt|dtjksLtt|dtddksdttd\}}}}tdd|}tdd	dd}t|||d t	d| d| d|  t	d|  d| d t	d
|  kstt||dt	d
| d dt	d| d  t	d|d  ks td S )NrP   rT   rQ   rR   rV   rS   rY   zx y z lr   r   rg      )
r1   r.   r   r   r/   r-   r[   r   r   r   )rP   rQ   rR   r|   r   r   lra   ra   rb   test_factorial_moment  s4    
 

r   c                  C   s   t dt d } }t| d| s$tt| d| r6ttdddtddd } }t| |s^tt| d|  spttt| |t| | d\}}t||std S )NrP   rQ   rT   r   rS   rY   )r   r%   r[   r&   r   r$   r   r
   rP   rQ   r`   r   ra   ra   rb   test_dependence  s    r   c                  C   sR   t dt d } }t| ||  s$ttt| || | dk\}}t||sNtd S )NrP   rQ   rX   )r   r&   r[   r$   r   r   ra   ra   rb   test_dependent_finite   s    r   c                  C   sl   t dddt ddd } }tddd}tddd}t| | t| | |}t|||t tfdkshtd S )	NrP   r   rS   rQ   r|   T)realr   )r   r   r#   r
   r   r   r[   )rP   rQ   r|   r   Zdensra   ra   rb   test_normality*  s
    r   c                  C   s*   t dd} t| }| t| ks&td S )NrP   rW   )r   r?   Zdoitr#   r[   )rP   dra   ra   rb   test_Density3  s    
r   c                     sz   G dd dt t} | tdtdjdks2tjdks@tttfdd G dd dt t tt fd	d d S )
Nc                   @   s   e Zd ZdZdS )z test_NamedArgsMixin.<locals>.Foo)foobarN)__name__
__module____qualname__Z	_argnamesra   ra   ra   rb   Foo9  s   r   rS   rT   c                      s    j S r   )Zbazra   )ara   rb   r   A  r   z%test_NamedArgsMixin.<locals>.<lambda>c                   @   s   e Zd ZdS )z test_NamedArgsMixin.<locals>.BarN)r   r   r   ra   ra   ra   rb   BarC  s   r   c                      s    t dt djS NrS   rT   )r   r   ra   )r   ra   rb   r   F  r   )r   r@   r   r   r[   r   rG   AttributeError)r   ra   )r   r   rb   test_NamedArgsMixin8  s    r   c                   C   s0   t dddkstt ddtdks,td S )NrY   rT   r   )r#   r[   r   ra   ra   ra   rb   test_density_constantH  s    r   c                  C   st   t ddksttdddks"ttdddks4ttd} t | dksLtt| ddks^tt| ddksptd S )NrY   r   rV   r|   r   rS   )r"   r[   r:   r   r   ra   ra   rb   test_cmoment_constantL  s    r   c                  C   sX   t dddkstt dddks$tt dddks6ttd} t | d| d ksTtd S )NrY   r   rS   rT   	   r|   )r;   r[   r   r   ra   ra   rb   test_moment_constantU  s
    r   c                  C   s,   t ddksttd} t | | ks(td S )NrY   r|   )r<   r[   r   r   ra   ra   rb   test_median_constant\  s    r   c                  C   s   t ddd} | jstd S )Nr|   r   rS   )r   Zis_realr[   r   ra   ra   rb   	test_reala  s    r   c                      s   t dd t tk dkstt tkdks2tt dk  tkdksLtt tk  tkdksftt tk  dkdkstt dk  dkdkstttdd  tt fdd d S )	NrP   rY   rS   r   rT   c                   S   s   t dS r   r   ra   ra   ra   rb   r   n  r   z"test_issue_10052.<locals>.<lambda>c                      s   t  dk dS r   r   ra   r   ra   rb   r   o  r   )r   r   r   r[   rG   r   ra   ra   r   rb   test_issue_10052f  s    
r   c                  C   s<   ddd} t d| }t|dks$tt|dkdks8td S )Nr   )r   rS   rP   rT   r   )r   r    r[   r   )r#   rP   ra   ra   rb   test_issue_11934q  s    

r   c                  C   sN   t dd} t| | kdkstt| | kdks2tt| | d kdksJtd S )NrP   rV   rS   r   )r   r   r[   r   ra   ra   rb   test_issue_8129w  s    
r   c                  C   s   t ddd} t ddd}t| dk| }t|dk | }t| | dk| }|t| | dk| ks`t|ttjtjtjkszt|tjkstd S r   )r   r   r[   rM   r   r   ZZeroZOne)rP   rQ   UVWra   ra   rb   test_issue_12237}  s    r   c                  C   s6  t ddd} t ddd}td\}}tdd}tdd	}t|rDtt|| rTtt|| rdttt|d |d grtt| stt| d | stt||d  stt|d
kstt|d dk stt|stt| | |d  sttt| |d g||ggsttt| ds2td S )NrP   r   rS   rQ   za, br   rT   r   g?rX   rY   rV   )r   r   r)   r4   rD   r[   r   r
   )rP   rQ   r   br   r   ra   ra   rb   test_is_random  s$    

"r   c                  C   s   t d} t| }td}tddd}tddd}ttdd}t|t ksPtt|t ksbtt|t ksttt|t	|kstt
|dkt|dkkstt|t|kstt|t|kstt||t||kstt||t||kstd S )	Nr|   rQ   rR   rT   rS   r   RIrY   )r   rA   rF   rE   r   r(   rC   r[   r    r6   r   r7   r"   r5   r9   r8   )r|   rP   rQ   rR   r   r   ra   ra   rb   test_issue_12283  s    r   c                  C   s   t dd} tddd}tt| dtdd ks4ttt|ddksJttt| dk| dk dkshttt| dk| dktdd kstd S )NrP   rW   rQ   r   rS   rT   rY   )r   r   r   r
   r   r[   r   r   rd   ra   ra   rb   test_issue_6810  s    
r   c                  C   s   t d\} }td| |}tddd}tt||  d| | |    t|| d| | |    t| |  t| | |dk|| k@ ftdf|d| f}|t	|st
d S )Nzn pr   kTr   rS   r   )r   r.   rN   r   rO   r   r   r   rj   r!   r[   )npr   r   eqra   ra   rb   test_issue_20286  s
    tr   N)Zsympy.concrete.summationsr   Zsympy.core.basicr   Zsympy.core.containersr   Zsympy.core.functionr   ri   r   r   r   r	   Zsympy.core.relationalr
   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Z(sympy.functions.combinatorial.factorialsr   r   Z&sympy.functions.elementary.exponentialr   r   Z(sympy.functions.elementary.trigonometricr   r   Z'sympy.functions.special.delta_functionsr   Zsympy.integrals.integralsr   Zsympy.logic.boolalgr   r   Zsympy.matrices.denser   Zsympy.sets.setsr   Zsympy.tensor.indexedr   Zsympy.statsr   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   Zsympy.stats.rvr=   r>   r?   r@   rA   rB   rC   rD   rE   rF   Zsympy.testing.pytestrG   rH   rI   rJ   Zsympy.externalrK   rL   Zsympy.stats.frv_typesrM   rN   Z$sympy.functions.elementary.piecewiserO   rc   re   rn   ro   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   ra   ra   ra   rb   <module>   sz   0	!
		$
		
		
