o
    8VaY                     @   s   d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZ 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l"m#Z# d dl$m%Z%m&Z& d dl'm(Z( d dl)m*Z*m+Z+ d d	l,m-Z- d
d Z.dd Z/dd Z0dd Z1dS )    )SymbolEqNesimplifysqrtexppisymbols	Piecewise	factorialgammaIndexedBaseAddPowMulIndexedIntegerIntegral
DiracDeltaDummySumoo)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J t|t||jt	|ks-J t
ddd	}t
d
|d}t|d tddtt  ksMJ tt|t|d	| tdt| d	 d  d  dtt  kspJ tt|| tdt| d  d  dtt  ksJ d S )NxlTZpositive      N1r      N2
         )r   r   r   
isinstancer$   r!   r%   r   symbolr    r   doitr   r   r   r   )r'   r(   ZrateXr,   r.    r6   </usr/lib/python3/dist-packages/sympy/stats/tests/test_mix.pytest_density   s   
((>r8   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sJ 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   )r>   r;   r<   r9   r:   ZMGRZmgrcr6   r6   r7   test_MarginalDistribution   sJ   """r?   c                  C   sh   t dd} t d| }tt|tsJ tt|jtsJ |jjd tdttd ks2J d S )NYr-   Zr=   )	r   r2   r$   r!   Zdistributionr"   Zpdfr4   r   )r@   rA   r6   r6   r7   test_compound_distribution3   s
   

.rC   c                  C   s^  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sgJ t	t| | ddkstJ tt- t	||  dk dd	t|sJ t	||  dkdd	t|sJ W d    d S 1 sw   Y  d S )
Nr@   r-   Ekr=   r*   r   F)Zevaluate)r   r   r   r   r   r   r   r   r   r   r   r   r&   UserWarningZrewriteZdummy_eq)r@   rD   rE   Zexpr1Zexpr2r6   r6   r7   test_mix_expression:   s,   ,
,
$&"rG   N)2Zsympyr   r   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   Z$sympy.functions.elementary.piecewiser   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&   r8   r?   rC   rG   r6   r6   r6   r7   <module>   s   `  