ó
¡¼™\c           @   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 d  d l m Z m Z m Z m Z m Z m Z m Z d  d l m Z m Z m Z d  d l  m! Z! m" Z" m# Z# m$ Z$ d  d l% m& Z& d  d l' m( Z( e d d e) ƒZ* d	 „  Z+ d
 „  Z, d „  Z- d „  Z. d „  Z/ d „  Z0 d „  Z1 d „  Z2 d „  Z3 d „  Z4 d „  Z5 d „  Z6 d „  Z7 d „  Z8 d S(   iÿÿÿÿ(   t   Symbolt   St   expt   logt   sqrtt   oot   Et   zoot   pit   tant   sint   cost   cott   sect   csct   Abst   symbolst   It   re(   t   function_ranget   continuous_domaint   not_empty_int   periodicityt   lcimt   AccumBoundst	   is_convex(   t   Addt   Mult   Pow(   t   Intervalt	   FiniteSett
   Complementt   Union(   t   raises(   t   xt   at   realc             s­  t  d ƒ \ ‰  }  } } t t ˆ  ƒ ˆ  t t d t d ƒ ƒ t d d ƒ k sW t ‚ t t ˆ  ƒ ˆ  t d t ƒ ƒ t d d ƒ k s t ‚ t t ˆ  ƒ ˆ  t d t ƒ ƒ t t t ƒ k sÄ t ‚ t t ˆ  ƒ ˆ  t t d t ƒ ƒ t t d ƒ k sÿ t ‚ t ˆ  d ˆ  d ˆ  t d d ƒ ƒ t t t t	 d ƒ d	 ƒ t t	 d
 ƒ d t ƒ ƒ k sbt ‚ t d ˆ  d ˆ  t d d ƒ ƒ t d t ƒ k sšt ‚ t t
 ˆ  ƒ ˆ  t d d ƒ ƒ t t
 d ƒ t
 d ƒ ƒ k sÜt ‚ t t ˆ  ƒ ˆ  ˆ  t	 j ƒ t t d ƒ k st ‚ t t d ˆ  d ƒ ˆ  t d d ƒ ƒ t d t d ƒ ƒ k sUt ‚ t ˆ  ˆ  d ˆ  d ˆ  ˆ  t	 j ƒ t d ƒ k st ‚ t ˆ  ˆ  d ˆ  d ˆ  |  ˆ  t	 j ƒ t |  ƒ k sÏt ‚ t t ˆ  ƒ ˆ  t t d d ƒ t d ƒ ƒ ƒ t t t d ƒ d ƒ t t d ƒ ƒ ƒ k s0t ‚ t t ˆ  ƒ ˆ  t t d ƒ ƒ t d d ƒ k sgt ‚ t t ‡  f d †  ƒ t t ‡  f d †  ƒ t t ‡  f d †  ƒ d  S(   Ns   x y a bi   iÿÿÿÿi   i    i   iûÿÿÿi   i   i   iýÿÿÿi   iüÿÿÿc              s5   t  t ˆ  ƒ t ˆ  ƒ t ˆ  ƒ d ˆ  ˆ  t j ƒ S(   Ni   (   R   R   R
   R   R   t   Reals(    (   R"   (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   <lambda>)   s   c              s   t  t ˆ  ƒ ˆ  t j ƒ S(   N(   R   R   R   t   Integers(    (   R"   (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyR&   +   s   c              s   t  t ˆ  ƒ d ˆ  t j ƒ S(   Ni   (   R   R
   R   t   Naturals(    (   R"   (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyR&   -   s   (   R   R   R
   R   R   t   AssertionErrorR	   R   R    R   R   R   R%   R   R   R   R!   t   NotImplementedError(   t   yR#   t   b(    (   R"   s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   test_function_range   s<    '"$? $&&*-4c       	   C   sj  t  d ƒ }  t t |  ƒ |  t d d t ƒ ƒ t d d t ƒ k sJ t ‚ t t |  ƒ |  t d d t ƒ ƒ t t d t d t t	 ƒ t t d d t d t	 t	 ƒ t d t d d t t	 t ƒ ƒ k sÐ t ‚ t |  d |  d d |  t
 j ƒ t t t d t	 t	 ƒ t d t t	 t	 ƒ ƒ k s)t ‚ t t |  ƒ t d |  d ƒ |  t
 j ƒ t t
 d ƒ d t t	 t	 ƒ k s{t ‚ t d t |  d ƒ |  t
 j ƒ t d t t	 t	 ƒ k s¹t ‚ t d |  d |  t
 j ƒ t t j t d ƒ t j d t ƒ ƒ k st ‚ t d |  d d d |  t
 j ƒ t t j t d ƒ t j d d ƒ t j d t ƒ ƒ k sft ‚ d  S(   NR"   i    i   i   i   i   iþÿÿÿ(   R    R   R
   R   R   R)   R	   R    t   Falset   TrueR   R%   R   R   R   t   open(   R"   (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   test_continuous_domain1   s    >"7-"7*(>1"c        	   C   s  t  t t d t ƒ j t d d t t ƒ ƒ t ƒ t t d ƒ d d t t ƒ k sY t ‚ t  t t t d ƒ j t d d ƒ ƒ t ƒ t	 t t
 d ƒ d ƒ t d d ƒ ƒ k sµ t ‚ t  t t d t t ƒ j t d d ƒ ƒ t ƒ t	 t t
 d ƒ d t d ƒ d d ƒ t d t d ƒ d t
 d ƒ d ƒ t d d ƒ ƒ k sLt ‚ t  t t t d ƒ j t j ƒ t ƒ t t j t d ƒ ƒ k s“t ‚ t  t t t d ƒ j t j ƒ t ƒ t t j t d ƒ ƒ k sÚt ‚ t  t t d d t d t d ƒ j t j ƒ t ƒ t t j t d ƒ ƒ k s1t ‚ t  t d d t t d ƒ j t d d ƒ ƒ t ƒ t	 t t d ƒ d d ƒ t d ƒ ƒ k s”t ‚ t  t t t d d ƒ j t j ƒ t ƒ t t j t d d ƒ ƒ k sât ‚ t  t t t d ƒ j t	 t d d t t ƒ t d d ƒ ƒ ƒ t ƒ t	 t t
 d ƒ d ƒ t t
 d ƒ d t t ƒ t d d t t ƒ t d d ƒ ƒ k st ‚ t  t d ƒ j t d d ƒ ƒ t ƒ t j k s·t ‚ t  t t d t d ƒ j t d t ƒ ƒ t ƒ t	 t d d t t ƒ t d t ƒ ƒ k st ‚ d  S(	   Ni   i   iÿÿÿÿi   i   iþÿÿÿi   i   (   R   R   R"   t	   intersectR   R/   R.   R   R)   R    R   R%   R   R#   t   EmptySetR   (    (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   test_not_empty_inB   s0    1(+1/(@&!&!6!21*$+/-60c             s”	  t  d ƒ ‰  t  d ƒ }  t  d d t ƒ} t t d ˆ  ƒ ˆ  ƒ t k sO t ‚ t d t d ˆ  ƒ ˆ  ƒ t d k s| t ‚ t t ˆ  ƒ d ˆ  ƒ d t k s¥ t ‚ t d t d ˆ  ƒ ˆ  ƒ t d k sÒ t ‚ t t ˆ  ƒ t ˆ  ƒ ˆ  ƒ d t k st ‚ t t ˆ  ƒ t ˆ  ƒ ˆ  ƒ d t k s0t ‚ t t ˆ  ƒ t ˆ  ƒ ˆ  ƒ d t k s_t ‚ t t d ˆ  ƒ t d ˆ  ƒ |  ˆ  ƒ t d k sšt ‚ t t ˆ  ƒ t	 ˆ  ƒ ˆ  ƒ t k sÅt ‚ t t ˆ  ƒ t d ˆ  ƒ ˆ  ƒ d t k søt ‚ t t ˆ  ƒ d	 ˆ  ƒ d t k s!t ‚ t t d ˆ  ƒ t ˆ  ƒ t ˆ  ƒ ˆ  ƒ t k sZt ‚ t t
 t ˆ  ƒ ƒ ˆ  ƒ d t k s…t ‚ t t t	 d ˆ  ƒ ƒ t t d ˆ  ƒ ƒ ˆ  ƒ t k sÄt ‚ t t d ˆ  ƒ t
 t ˆ  ƒ t d ˆ  ƒ ƒ ˆ  ƒ t k st ‚ t t t ˆ  ƒ t d ˆ  ƒ ƒ ˆ  ƒ d t k s@t ‚ t t t d ˆ  ƒ ƒ ˆ  ƒ t k skt ‚ t d t ˆ  ƒ d ˆ  ƒ t k s”t ‚ t t ˆ  d ƒ ˆ  ƒ d k s¹t ‚ t t ˆ  ƒ d ˆ  ƒ d t k sât ‚ t t d ˆ  d d ƒ ˆ  ƒ t d ƒ d k st ‚ t t d ƒ ˆ  d	 ˆ  d ˆ  ƒ d t d ƒ d	 k sXt ‚ t ˆ  d d	 ˆ  ˆ  ƒ d  k st ‚ t t t ˆ  ƒ ƒ ˆ  ƒ d t k sªt ‚ t t ˆ  ƒ d t ˆ  ƒ d ˆ  ƒ t j k sàt ‚ t t ˆ  ƒ |  ƒ t j k st ‚ t t ˆ  ƒ t t ˆ  ƒ ˆ  ƒ d t k s7t ‚ t ˆ  t d |  ƒ |  ƒ t k s`t ‚ t t
 ˆ  ƒ ˆ  ƒ d  k st ‚ t t
 t ˆ  ƒ ˆ  ƒ d t k sªt ‚ t t
 t | ƒ | ƒ d t k sÓt ‚ t t
 | ƒ | ƒ d  k sôt ‚ t t
 t t | ƒ t t d | ƒ ƒ d
 t ƒ| ƒ d t k s=t ‚ t t
 t t d | ƒ t t | ƒ ƒ d
 t ƒ| ƒ d t k s†t ‚ t t
 t | ƒ ƒ | ƒ d t k s±t ‚ t t
 d t | ƒ | ƒ t k sÚt ‚ t t
 | t t | ƒ ƒ | ƒ d  k s	t ‚ t t
 t | d ƒ t | ƒ ƒ | ƒ d t k sBt ‚ t t ˆ  ƒ ˆ  ƒ d  k sct ‚ t t
 ˆ  ƒ t ˆ  ƒ ˆ  ƒ d  k sŽt ‚ t t ˆ  ƒ |  |  ƒ d  k s³t ‚ t t t t t ˆ  ƒ ƒ ƒ ƒ ˆ  ƒ t k sæt ‚ t ‡  f d †  t t t t t t	 f Dƒ ƒ st ‚ t t t t ˆ  ƒ ƒ ƒ ˆ  ƒ t k sGt ‚ t t t t ˆ  ƒ t ˆ  ƒ ƒ ƒ ˆ  ƒ d t k s‚t ‚ t t ˆ  ƒ t j k ˆ  ƒ d t k s°t ‚ t ˆ  d k ˆ  ƒ d  k sÑt ‚ t ˆ  d ˆ  d d	 ˆ  ƒ d  k süt ‚ t t ˆ  ƒ ˆ  ƒ d  k s	t ‚ t t ˆ  d d	 ƒ ˆ  ƒ d  k sF	t ‚ t ˆ  d d d ˆ  ƒ d  k sm	t ‚ t t ˆ  d ˆ  ƒ d  k s	t ‚ d  S(   NR"   R+   t   zR$   i   iþÿÿÿi   i   i   t   evaluatec         3   s0   |  ]& } t  t | ˆ  ƒ ƒ ˆ  ƒ t k Vq d  S(   N(   R   R   R   (   t   .0t   f(   R"   (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pys	   <genexpr>Ž   s    (   R    R/   R   R
   R   R)   R	   R   R   R   R   R   R   R   R   t   NoneR   t   ZeroR   R.   R   t   allt   HalfR   (   R+   R5   (    (   R"   s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   test_periodicity]   sp    %-)-///;+3)9+?C9+)%)7?'+6$3)!))!II+)/9!+%3%-;.!+!)'c          C   sý   t  d ƒ }  t  d ƒ } t t |  ƒ |  d t ƒt k s? t ‚ t t |  ƒ t |  ƒ |  d t ƒd t k st t ‚ t t |  ƒ |  ƒ d t k s™ t ‚ t t |  | ƒ |  ƒ d t t	 | ƒ k sÌ t ‚ t t
 t t |  ƒ ƒ ƒ |  ƒ t k sù t ‚ d  S(   NR"   R+   t   checki   (   R    R   R	   R/   R   R)   R
   R   R   t   absR   (   R"   R+   (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   test_periodicity_checkœ   s    '5%3c          C   s  d d l  m }  t t d ƒ d t d ƒ t d ƒ g ƒ d k sG t ‚ t |  d |  d |  g ƒ |  k sp t ‚ t d |  |  d g ƒ d |  k sš t ‚ t t d ƒ d |  g ƒ d  k sÂ t ‚ t t d ƒ d t t d t d ƒ d t d ƒ t g ƒ t d ƒ d t k st ‚ d  S(   Niÿÿÿÿ(   R   i   i   i   i   i   (   t   sympyR   R   R   R)   R9   R   (   R   (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt	   test_lcim§   s    7)*(c           C   s°   t  d t t d t d t ƒ ƒt k s. t ‚ t  d t t d t t d ƒ ƒt k s] t ‚ t  t d t d t d t ƒ ƒt k s‹ t ‚ t  t t ƒ t ƒ t k s¬ t ‚ d  S(   Ni   t   domaini    i   (   R   R"   R   R   R/   R)   R.   R   (    (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   test_is_convex°   s    ./.c           C   sî  t  d d ƒ j d k s t ‚ t  d d ƒ j t d ƒ k sB t ‚ t  d d ƒ j t d ƒ d k sj t ‚ t  d d ƒ j t k sˆ t ‚ t  d d ƒ t d ƒ k s© t ‚ t  d d ƒ d t  d d ƒ k sÑ t ‚ d t  d d ƒ t  d d ƒ k sù t ‚ t  d d ƒ t  d d ƒ t  d d ƒ k s*t ‚ t  d d ƒ t  d d ƒ k sOt ‚ t  d d ƒ d t  d d ƒ k swt ‚ d t  d d ƒ t  d d ƒ k sŸt ‚ t  d d ƒ t  d d ƒ t  d d ƒ k sÐt ‚ t t  d d ƒ t	 t  d d ƒ t ƒ k st ‚ t
 t  d d ƒ t  d t
 d t
 ƒ k s1t ‚ t  d d ƒ t t	 t  d d ƒ t ƒ k sct ‚ t  t d ƒ t t  t t ƒ k st ‚ t  d t ƒ t t k s¬t ‚ t  d t ƒ t t  t t ƒ k sÕt ‚ t t  d t ƒ t k söt ‚ t  t d ƒ t t k st ‚ t  d t ƒ t t  t t ƒ k s@t ‚ t  t d ƒ t t  t t ƒ k skt ‚ t t  d t ƒ t  t t ƒ k s”t ‚ t t  d t ƒ t k sµt ‚ t  d d ƒ d t  t d ƒ d d ƒ k sçt ‚ d t  d d ƒ t  t d ƒ d d ƒ k st ‚ d t  d d ƒ t  t t ƒ k sBt ‚ t t  d d ƒ ƒ t  d d ƒ k slt ‚ t t  d d ƒ ƒ t  d d ƒ k s–t ‚ t t  d d ƒ ƒ t  d d ƒ k sÀt ‚ t t  d d ƒ ƒ t  d d ƒ k sêt ‚ d  S(	   Ni   i   i   i   iþÿÿÿiÿÿÿÿi    (   i   i   (   R   t   argsR)   t   deltaR   t   midt   is_realR/   R"   R   R#   R   R?   (    (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   test_AccumBounds·   s>    $(!((1%((1102*)!!)+)!22)***c           C   sx  t  d d ƒ d t  d d ƒ k s( t ‚ d t  d d ƒ t  d d ƒ k sP t ‚ t  d d ƒ t  d d ƒ t  d d ƒ k s t ‚ t  d d ƒ d d k s  t ‚ t  d t ƒ d t  d t ƒ k sÈ t ‚ t  t d ƒ d t  t d ƒ k sò t ‚ t  t t ƒ d t  t t ƒ k st ‚ t  d d ƒ t t t  d d ƒ t d t ƒk sSt ‚ t  d d ƒ t t  d t ƒ k s{t ‚ t  d d ƒ t t  t d ƒ k s¤t ‚ t  d d ƒ t t  t d ƒ k sÎt ‚ t  d d ƒ t t  d t ƒ k s÷t ‚ t  d	 d ƒ t t  t t ƒ k s t ‚ t  d	 d ƒ t t  t t ƒ k sJt ‚ t  t t ƒ t t  t t ƒ k stt ‚ d  S(
   Ni   i   i   i   i   i    R6   iþÿÿÿiÿÿÿÿ(   R   R)   R   R"   R   R.   (    (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   test_AccumBounds_mulâ   s    ((1(**7()*))*c           C   s—  t  d d ƒ t  d d ƒ t  t d ƒ d d ƒ k s< t ‚ t  d d ƒ t  d d ƒ t  t t ƒ k sn t ‚ t  d d ƒ t  d d ƒ t  t d ƒ d	 t ƒ k s© t ‚ t  d d ƒ t  d d ƒ t  t t ƒ k sÛ t ‚ t  d	 d ƒ t  d d	 ƒ t  t t ƒ k st ‚ t  d d ƒ t  d d ƒ t  t t d ƒ d	 ƒ k sJt ‚ t  d	 d ƒ t  d d ƒ t  t t d	 ƒ d ƒ k s‡t ‚ t  d	 d ƒ t  d d ƒ t  t d	 ƒ d t ƒ k sÂt ‚ t  d d ƒ t  d d ƒ t  d t ƒ k sót ‚ t  d d ƒ t  d d ƒ t  t d ƒ k s%t ‚ t  d d	 ƒ t  d d	 ƒ t  t t ƒ k sWt ‚ d t  d d	 ƒ t  t t ƒ k s€t ‚ d t  d d	 ƒ t  t d ƒ d	 t ƒ k s²t ‚ d t  d d	 ƒ t  t t d ƒ d	 ƒ k sæt ‚ d t  t d ƒ t  t d ƒ k st ‚ d t  d d ƒ t  t d ƒ k s9t ‚ d t  t d ƒ t  d t ƒ k sbt ‚ d t  t d ƒ t  d d ƒ k s‹t ‚ t  d d	 ƒ t t t  d d	 ƒ d t d
 t ƒk sÆt ‚ t  d d	 ƒ d t  d d	 ƒ t k sòt ‚ t  d t ƒ t t  d t ƒ k st ‚ t  d t ƒ t t  t d ƒ k sDt ‚ t  t d ƒ t t  t d ƒ k snt ‚ t  t d ƒ t t  d t ƒ k s˜t ‚ t  t t ƒ t t  t t ƒ k sÂt ‚ t  t t ƒ t t  t t ƒ k sít ‚ t  d t ƒ t t  d t ƒ k st ‚ t  d t ƒ t t  t d ƒ k s?t ‚ t  t d ƒ t t  t d ƒ k sit ‚ t  t d ƒ t t  d t ƒ k s“t ‚ d  S(   Niÿÿÿÿi   i   i   iþÿÿÿiýÿÿÿiüÿÿÿi    i   R6   (   R   R   R)   R   R#   R   R.   R   (    (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   test_AccumBounds_div÷   s<    <2;22==;122)24*)));,(****+(**c           C   sÏ   t  d d t  d j t  t d d ƒ ƒ t d d ƒ k s@ t ‚ t t d d ƒ ƒ t d t ƒ k sj t ‚ t t t t ƒ ƒ t d t ƒ k s• t ‚ t t d d ƒ ƒ t t d ƒ t d ƒ ƒ k sË t ‚ d  S(   Ni   i   iÿÿÿÿi   i    i   i   (   R"   t   subsR   R)   R   R   R   R   (    (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   test_AccumBounds_func   s    @*+c           C   s	  t  d d ƒ d t  d d ƒ k s( t ‚ t  d d ƒ d t  d d ƒ k sP t ‚ t  d d ƒ d t  d d ƒ k sx t ‚ t  d d ƒ d t  d d ƒ k s  t ‚ t  d d ƒ d d k s¿ t ‚ t  d d ƒ t d ƒ d t  d d t d ƒ ƒ k sû t ‚ t  d d ƒ t d ƒ d t  d d t d ƒ d ƒ k s;t ‚ t  d d ƒ t d ƒ d t  d t d ƒ ƒ k sst ‚ t  d	 d ƒ t d ƒ d t  d d d t d ƒ d ƒ k s·t ‚ t  d d ƒ t d ƒ d t  d t d ƒ ƒ k sït ‚ t  t d ƒ t d ƒ d t  d t d ƒ ƒ k s(t ‚ t  d
 d ƒ t d ƒ d t  d t ƒ k sZt ‚ t  d d ƒ d
 t  t d ƒ d d ƒ k sŒt ‚ t  d d ƒ d
 t  d t ƒ k s´t ‚ t  d d ƒ d
 t  t d ƒ d t ƒ k sæt ‚ t  d d ƒ d t  t t ƒ k st ‚ t  d d
 ƒ d t  t d ƒ d t d ƒ d ƒ k sLt ‚ t  d d
 ƒ d
 t  t d ƒ d t d ƒ d ƒ k sˆt ‚ t  d t ƒ t d ƒ d t  d t ƒ k sºt ‚ t  t d ƒ t d ƒ d t  t d ƒ k sît ‚ t  d
 d ƒ t d ƒ d t  t t ƒ k s"t ‚ t  t d ƒ d
 t  d t ƒ k sKt ‚ t  d
 d ƒ d
 t  t d ƒ d t ƒ k s}t ‚ t  t d ƒ d t d ƒ d ƒ t t d ƒ k s¶t ‚ t  d t d ƒ d ƒ t t d ƒ k såt ‚ t  t d ƒ d d ƒ t t  d t ƒ k st ‚ t  d d ƒ t t  d t ƒ k s?t ‚ t  d d ƒ t t k s^t ‚ t  d d ƒ t t  d t ƒ k s†t ‚ t  t d ƒ d d ƒ t t  d t ƒ k s¸t ‚ t  t d ƒ d t d ƒ d ƒ t t d ƒ k sót ‚ t  d t d ƒ d ƒ t t  t t ƒ k s't ‚ t  d d
 ƒ t t t t ƒ k sPt ‚ t  d
 d ƒ t t  t t ƒ k syt ‚ t  d
 t d ƒ d ƒ t t  t t ƒ k s­t ‚ t  t d ƒ d t d ƒ d ƒ t t d ƒ k sçt ‚ t  t d ƒ d d ƒ t t  d t ƒ k st ‚ t  t d ƒ d d ƒ t t  d t ƒ k sMt ‚ t  d d ƒ t t  t t ƒ k svt ‚ t  d t d ƒ d ƒ t t  t t ƒ k s©t ‚ t  d d ƒ t t  t t ƒ k sÒt ‚ t  d
 t d ƒ d ƒ t t  t t ƒ k st ‚ t  d d ƒ t t t  d d ƒ t d t ƒk s<t ‚ t  d d ƒ t t d ƒ k sbt ‚ t  d d ƒ t t  d t ƒ k s‹t ‚ t  d d ƒ t t  t t ƒ k sµt ‚ t	 t ƒ t
 d t ƒ j t t  d t d ƒ ƒ t t  t t ƒ t  d d ƒ d t ƒk s	t ‚ d  S(   Ni    i   i   iÿÿÿÿi   i   i   i   iüÿÿÿiþÿÿÿi   iýÿÿÿi   i	   R6   (   R   R)   R   R   R   R   R"   R   R.   R	   R
   RL   R   (    (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   test_AccumBounds_pow'  s`    ((((<@8D8922(2)=<244)29/2((2;4))4:33)3)37&)*0c           C   sä  t  d d ƒ d k  t j k s$ t ‚ t  d d ƒ d k  t j k sH t ‚ t  d d ƒ d k  j d k sl t ‚ t  d d ƒ d k j d k s t ‚ t  d d ƒ d k t j k s´ t ‚ t  d d ƒ d k t j k sØ t ‚ t  d d ƒ d k j d k sü t ‚ t  d d ƒ d k j d	 k s t ‚ t  d d ƒ t  d d
 ƒ k  t j k sMt ‚ t  d d ƒ t  d d ƒ k  j d k szt ‚ t  d d ƒ t  d d ƒ k  t j k s§t ‚ t t ƒ d k j t t	 ƒ t  d d ƒ d k k sàt ‚ d  S(   Ni   i   i   iÿÿÿÿi   t   <s   <=t   >s   >=i   iþÿÿÿi    (
   R   R   t   trueR)   t   falset   rel_opR   R"   RL   R   (    (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   test_comparison_AccumBoundsb  s    $$$$$$$$---c          C   sC  d t  d d ƒ k t j k s$ t ‚ t t d „  ƒ d t  d d ƒ k sO t ‚ t t d „  ƒ t t  d t ƒ k t j k s„ t ‚ t t  t d ƒ k t j k s© t ‚ t d t  d d ƒ ƒ t t  d d ƒ d ƒ k oä d k n sï t ‚ d d  l }  xA |  j	 d t  d d ƒ t
 g ƒ D] } t | Œ  d k st ‚ qWd  S(   Ni   i   c           S   s   t  t d d ƒ k S(   Ni   i   (   R#   R   (    (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyR&   v  t    i    iÿÿÿÿc           S   s/   t  d ƒ d t d ƒ d d t d d ƒ k S(   Ni   i   iÿÿÿÿi    (   R   R
   R   (    (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyR&   x  s    (   R   R   RQ   R)   R!   t	   TypeErrorR   R   t	   itertoolst   permutationsR"   (   RW   t   perm(    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   test_contains_AccumBoundst  s    $%%F(N(9   RA   R    R   R   R   R   R   R   R   R   R	   R
   R   R   R   R   R   R   R   R   t   sympy.calculus.utilR   R   R   R   R   R   R   t
   sympy.coreR   R   R   t   sympy.sets.setsR   R   R   R    t   sympy.utilities.pytestR!   t	   sympy.abcR"   R/   R#   R-   R1   R4   R=   R@   RB   RD   RI   RJ   RK   RM   RN   RT   RZ   (    (    (    s=   lib/python2.7/site-packages/sympy/calculus/tests/test_util.pyt   <module>   s(   |4"	$			?					+		)		;	