ó
¡¼™\c           @  s6  d  d l  m Z 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 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( d  d l) m* Z* m+ Z+ m, Z, m- Z- m. Z. m/ Z/ d  d l0 m1 Z1 m2 Z2 d  d l3 m4 Z4 d  d l5 m6 Z6 d „  Z7 d	 „  Z8 d
 „  Z9 d „  Z: d „  Z; d „  Z< d „  Z= d „  Z> d „  Z? d „  Z@ d „  ZA d „  ZB d „  ZC e2 d „  ƒ ZD d „  ZE d „  ZF d „  ZG d „  ZH d „  ZI d „  ZJ d „  ZK d „  ZL d S(   iÿÿÿÿ(   t   unicode_literals(   t   EmptySett	   FiniteSett   St   Symbolt   Intervalt   expt   erft   sqrtt   symbolst   simplifyt   Eqt   cost   Andt   Tuplet	   integratet   oot   sint   Sumt   Basict
   DiracDelta(   t   Diet   Normalt   Exponentialt   FiniteRVt   Pt   Et   variancet
   covariancet   skewnesst   densityt   givent   independentt	   dependentt   wheret   pspacet   random_symbolst   sample(   t   IndependentProductPSpacet   rs_swapt   Densityt   NamedArgsMixint   RandomSymbolt   PSpace(   t   raisest   XFAIL(   t   range(   t   xc          C  s`  t  d ƒ t  d ƒ }  } t d d d ƒ } t | d d k ƒ j t d d ƒ k sY t ‚ t | d d k ƒ j ƒ  t d d ƒ j | j ƒ k s– t ‚ t t	 |  | k | d k ƒ ƒ j ƒ  t	 t
 |  j d	 ƒ t
 | j d
 ƒ ƒ k sê t ‚ t t |  d k  ƒ j ƒ d k st ‚ d t |  d k  ƒ j k s2t ‚ 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 sàt ‚ | j j j ƒ  t	 d |  j k |  j d d k t |  j k  |  j t k  ƒ k s6t ‚ t t ƒ  t |  |  d ƒ } Wd  QXd  S(   Nu   Xu   Yu   Zi    i   i   iÿÿÿÿi   i   i   i   (   R   R   R"   t   setR   t   AssertionErrort
   as_booleant   as_relationalt   symbolR   R   t   lenR   R#   t   domainR   R,   t	   TypeError(   t   Xt   Yt   Zt   XX(    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt
   test_where   s"    .:'-'!%=($Gc          C  sÝ   t  d d d ƒ t  d d d ƒ }  } t t d |  d ƒ ƒ t |  f ƒ k sT t ‚ t t d |  | ƒ ƒ t |  | f ƒ k s† t ‚ t t d |  | j ƒ ƒ t |  f ƒ k s¸ t ‚ t t d ƒ ƒ t ƒ  k sÙ t ‚ d  S(   Nu   Xi    i   u   Yi   (   R   R0   R$   R1   R4   (   R8   R9   (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_random_symbols'   s
    %/22c          C  s¶   t  d d d ƒ t  d d d ƒ }  } t t d „  ƒ t t d „  ƒ t |  ƒ |  j k s` t ‚ t d |  d ƒ |  j k sƒ t ‚ t d |  | ƒ t | j |  j ƒ k s² t ‚ d  S(   Nu   Xi    i   u   Yc           S  s
   t  d ƒ S(   Ni   i   i   (   R#   (    (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   <lambda>3   t    c           S  s   t  t d k  ƒ S(   Ni   (   R#   R/   (    (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyR>   4   R?   i   (   R   R,   t
   ValueErrorR#   R1   R&   (   R8   R9   (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_pspace0   s    %#c          C  s   t  d d d ƒ }  t d d ƒ } t  d d d ƒ } t  d d d ƒ } d |  | } | j t |  | f | | f ƒ ƒ d | | k s‹ t ‚ d  S(   Nu   xi    i   u   yi   i   (   R   R   t   subsR'   R1   (   R8   R9   R;   t   YYt   expr(    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_rs_swap:   s    c          C  s‘   t  d d d ƒ }  t  d d d ƒ } |  j | j k s< t ‚ |  | k sN t ‚ |  j |  j j k si t ‚ t  d d d ƒ }  t  d d d ƒ }  d  S(   Nu   xi    i   i   u   lambdau   Lambda(   R   R4   R1   t   name(   R8   R9   (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_RandomSymbolE   s    c          C  s/   t  d d d ƒ }  d |  j |  ƒ s+ t ‚ d  S(   Nu   xi    i   i   (   R   t   diffR1   (   R8   (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_RandomSymbol_diffR   s    c          C  s.   t  t d ƒ ƒ }  |  j t ƒ  k s* t ‚ d  S(   Nu   x(   R*   R   R#   R+   R1   (   R/   (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_random_symbol_no_pspaceW   s    c             sA   t  d d d ƒ ‰  t  d d d ƒ ‰ t t ‡  ‡ f d †  ƒ d  S(   Nu   xi    i   i   c             s   t  ˆ  ˆ k ƒ S(   N(   R   (    (   R8   R9   (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyR>   _   R?   (   R   R,   R@   (    (    (   R8   R9   s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_overlap[   s    c          C  s„   t  d d d ƒ }  t  d d d ƒ } |  j } | j } t |  | ƒ t | | ƒ k s[ t ‚ t |  | ƒ t | | ƒ k s€ t ‚ d  S(   Nu   Xi    i   u   Y(   R   R#   R&   R1   (   R8   R9   t   pxt   py(    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_IndependentProductPSpaceb   s    		%c           C  s   t  d ƒ d k s t ‚ d  S(   Ni   (   R   R1   (    (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_Ek   s    c            sÎ  t  d d ƒ }  t d d d ƒ ‰  t d ƒ ‰ t |  ƒ d k sE t ‚ t |  ˆ  ƒ j s^ t ‚ t |  ˆ  d k ˆ  d k  d d ƒj t |  ˆ  d d ƒj s£ t ‚ t	 |  ˆ  d d ƒj sÂ t ‚ t
 t ‡  ‡ f d †  ƒ t t ˆ  ƒ d k d d ƒd k st ‚ t t ˆ  ƒ d k t ˆ  ƒ d k  d d ƒd k s>t ‚ t t d ˆ ˆ  ˆ d t f ƒ ˆ  d k d d ƒt d „  t |  d d ƒDƒ ƒ s™t ‚ t d „  t |  |  d k d d ƒDƒ ƒ sÊt ‚ d  S(   Nu   Xi   u   Yi    i   u   zi   i   i   i   t
   numsamplesi
   c             s   t  ˆ  ˆ k d d ƒS(   NRP   i   (   R   (    (   R9   t   z(    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyR>   {   R?   c         s  s$   |  ] } | t  d  d ƒ k Vq d S(   i   i   N(   R.   (   t   .0t   i(    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pys	   <genexpr>„   s    c         s  s$   |  ] } | t  d  d ƒ k Vq d S(   i   i   N(   R.   (   RR   RS   (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pys	   <genexpr>…   s    (   i   i   i   i   i   i   (   R   R   R   R%   R1   t   is_FloatR   t	   is_numberR   R   R,   R@   R   R   R   R   t   allR   (   R8   (    (   R9   RQ   s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_Sampleo   s    &*93(c          C  sn   t  d d d ƒ }  t  d d d ƒ } t |  t ƒ } t |  | d k ƒ } |  | k o_ | k n sj t ‚ d  S(   Nu   Xi    i   u   Yi   (   R   R   t   TrueR1   (   R8   R9   t   At   B(    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt
   test_givenˆ   s
    c          C  sã   t  d ƒ t  d ƒ }  } t |  d | ƒ s2 t ‚ t |  d | ƒ sL t ‚ t d d d ƒ t d d d ƒ }  } t |  | ƒ s† t ‚ t |  d |  ƒ sŸ t ‚ t t |  | ƒ t |  | d ƒ ƒ \ } } t | | ƒ sß t ‚ d  S(   Nu   Xu   Yi   i    i   i   (   R   R    R1   R!   R   R   R   R   (   R8   R9   R;   RC   (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_dependence‘   s    %+c          C  ss   t  d ƒ t  d ƒ }  } t |  | |  ƒ s2 t ‚ t t |  | ƒ |  | d k ƒ \ } } t | | ƒ so t ‚ d  S(   Nu   Xu   Yi   (   R   R!   R1   R   R   (   R8   R9   R;   RC   (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_dependent_finiteŸ   s    (c          C  s’   t  d d d ƒ t  d d d ƒ }  } t d d t d t ƒ\ } } t |  | t |  | | ƒ ƒ } t | | ƒ | t t f ƒ d k sŽ t ‚ d  S(   Nu   Xi    i   u   Yu   x, zt   realt   finite(   R   R	   RX   R   R   R   R   R1   (   R8   R9   R/   RQ   t   dens(    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_normalityª   s    % c          C  s=   t  d d ƒ }  t |  ƒ } | j ƒ  t |  ƒ k s9 t ‚ d  S(   Nu   Xi   (   R   R(   t   doitR   R1   (   R8   t   d(    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_Density²   s    c            s›   d t  t f d „  ƒ  Y}  |  d d ƒ ‰ ˆ j d k s= t ‚ ˆ j d k sR t ‚ t t ‡ f d †  ƒ d t  t f d „  ƒ  Y‰  t t ‡  f d †  ƒ d  S(	   Nt   Fooc           B  s   e  Z d Z RS(   u   foou   bar(   u   foou   bar(   t   __name__t
   __module__t	   _argnames(    (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyRe   ¸   s   i   i   c             s   ˆ  j  S(   N(   t   baz(    (   t   a(    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyR>   À   R?   t   Barc           B  s   e  Z RS(    (   Rf   Rg   (    (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyRk   Â   s   c             s   ˆ  d d ƒ j  S(   Ni   i   (   t   foo(    (   Rk   (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyR>   Å   R?   (   R   R)   Rl   R1   t   barR,   t   AttributeError(   Re   (    (   Rk   Rj   s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_NamedArgsMixin·   s    c           C  sF   t  d ƒ d ƒ d k s t ‚ t  d ƒ d ƒ t d ƒ k sB t ‚ d  S(   Ni   i   i    (   R   R1   R   (    (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_density_constantÇ   s    c          C  s%   t  d d d ƒ }  |  j s! t ‚ d  S(   Nu   xi    i   (   R   t   is_realR1   (   R/   (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt	   test_realË   s    c             s  t  d d ƒ ‰  t ˆ  t k  ƒ d k s- t ‚ t ˆ  t k ƒ d k sK t ‚ t ˆ  d k  ˆ  t k ƒ d k sr t ‚ t ˆ  t k  ˆ  t k ƒ d k s™ t ‚ t ˆ  t k  ˆ  d k ƒ d k sÀ t ‚ t ˆ  d k  ˆ  d k ƒ d k sç t ‚ t t d „  ƒ t t ‡  f d †  ƒ d  S(   Nu   Xi   i   i    i   c           S  s
   t  d ƒ S(   Ni   (   R   (    (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyR>   Ø   R?   c             s   t  ˆ  d k  d ƒ S(   Ni   i   (   R   (    (   R8   (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyR>   Ù   R?   (   R   R   R   R1   R,   R@   (    (    (   R8   s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_issue_10052Ð   s    ''''c          C  s]   i d d 6d d 6}  t  d |  ƒ } t | ƒ d k s; t ‚ t | d k ƒ d k sY t ‚ d  S(   Ng      à?i    i   u   Xi   (   R   R   R1   R   (   R   R8   (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_issue_11934Û   s    c          C  sq   t  d d ƒ }  t |  |  k ƒ d k s- t ‚ t |  |  k ƒ d k sK t ‚ t |  |  d k ƒ d k sm t ‚ d  S(   Nu   Xi   i   i    (   R   R   R1   (   R8   (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   test_issue_8129á   s    N(M   t
   __future__R    t   sympyR   R   R   R   R   R   R   R   R	   R
   R   R   R   R   R   R   R   R   R   R   t   sympy.statsR   R   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   t   sympy.stats.rvR&   R'   R(   R)   R*   R+   t   sympy.utilities.pytestR,   R-   t   sympy.core.compatibilityR.   t	   sympy.abcR/   R<   R=   RA   RE   RG   RI   RJ   RK   RN   RO   RW   R[   R\   R]   Ra   Rd   Ro   Rp   Rr   Rs   Rt   Ru   (    (    (    s8   lib/python2.7/site-packages/sympy/stats/tests/test_rv.pyt   <module>   s8   ‚p.				
																			