U
    9%e                     @   sx  d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	 d dl
mZ d dlmZ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 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" d dl#m$Z$m%Z% d dlm&Z& d dl'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z- d dl.m/Z/ d dl0m1Z1 d dl2m3Z3m4Z4 d dl5m6Z6 d dl7m8Z8m9Z9 d dl:m;Z; dd Z<dd Z=dd Z>dd  Z?d!S )"    )Sum)Add)Mul)Integeroopi)Pow)EqNe)DummySymbolsymbols)	factorial)exp)sqrt)	Piecewise)
DiracDelta)gamma)Integral)simplify)IndexedIndexedBase)ExprCondPair)PoissonBetaExponentialPMultinomialMultivariateBeta)Normal)PoissonDistribution)CompoundPSpaceCompoundDistribution)MarginalDistribution)pspacedensity)ignore_warningsc                  C   s   t d} t ddd}t|dd}t| |}tt|ts<tt|t||j	t
|ksZttddd	}td
|d}t|d tddtt  ksttt|t|d	| tdt| d	 d  d  dtt  ksttt|| tdt| d  d  dtt  kstd S )NxlTZpositive      N1r      N2
         )r   r   r   
isinstancer$   r!   AssertionErrorr%   r	   symbolr    r   doitr   r   r   r   )r'   r(   ZrateXr,   r.    r7   Y/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/stats/tests/test_mix.pytest_density   s    
((r9   c                  C   s   t ddd\} }}tdd||}td| |d }t||d f}ttdttttdt	tdddt
ttdtdt	td	ddt
ttdtd
t	tt
ttdtdtdt	tt
ttdtd
tdttt
ttdtdt
ttdtd
tdttddt	ttdddtdtttdddt
ttdtdt	tt
ttdtdtdt	t
ttdtdttdddtdt	t
ttdtd
tt
ttdtdtd}|||kstd S )Nza1 p1 p2Tr)   Cr*   Br   p1p2r-   a1)r   r   r   r#   r   r   r   r   r   r   r   r   r   r	   r   r   r3   )r?   r<   r=   r:   r;   ZMGRZmgrcr7   r7   r8   test_MarginalDistribution)   sJ    """r@   c                  C   sh   t dd} t d| }tt|ts&ttt|jts:t|jjd t	dt	t	d ksdtd S )NYr-   Zr>   )
r   r2   r$   r!   r3   distributionr"   Zpdfr5   r   )rA   rB   r7   r7   r8   test_compound_distribution@   s
    

rE   c               	   C   sL  t ddtdd } }td}tttdtt| t|d  |dtf t| |dtf|t df}tttdtt| t|d  |dtf t| |dtf|dtf}t	t
| | ddkstt	t| | ddkstttR t	||  dk dd	t|stt	||  dkdd	t|s>tW 5 Q R X d S )
NrA   r-   Ekr>   r*   r   F)evaluate)r   r   r   r   r   r   r   r   r   r   r	   r3   r
   r&   UserWarningZrewriteZdummy_eq)rA   rF   rG   expr1Zexpr2r7   r7   r8   test_mix_expressionG   s*    ,
,
&rK   N)@Zsympy.concrete.summationsr   Zsympy.core.addr   Zsympy.core.mulr   Zsympy.core.numbersr   r   r   Zsympy.core.powerr   Zsympy.core.relationalr	   r
   Zsympy.core.symbolr   r   r   Z(sympy.functions.combinatorial.factorialsr   Z&sympy.functions.elementary.exponentialr   Z(sympy.functions.elementary.miscellaneousr   Z$sympy.functions.elementary.piecewiser   Z'sympy.functions.special.delta_functionsr   Z'sympy.functions.special.gamma_functionsr   Zsympy.integrals.integralsr   Zsympy.simplify.simplifyr   Zsympy.tensor.indexedr   r   r   Zsympy.statsr   r   r   r   r   r   Zsympy.stats.crv_typesr   Zsympy.stats.drv_typesr    Zsympy.stats.compound_rvr!   r"   Zsympy.stats.joint_rvr#   Zsympy.stats.rvr$   r%   Zsympy.testing.pytestr&   r9   r@   rE   rK   r7   r7   r7   r8   <module>   s6    