ó
¡¼™\c           @   s‹  d  d l  m Z m Z d  d l m Z m Z m Z m Z d  d l 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 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' d  d l( m) Z) m* Z* m+ Z+ d  d	 l, Z, d
 „  Z- d „  Z. d „  Z/ d „  Z0 d „  Z1 e& d „  ƒ Z2 d „  Z3 d „  Z4 d „  Z5 d „  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 d! „  ZD d" „  ZE d# „  ZF d$ „  ZG d% „  ZH d& „  ZI d' „  ZJ d( „  ZK d) „  ZL d* „  ZM d+ „  ZN d, „  ZO d- „  ZP d. „  ZQ d	 S(/   iÿÿÿÿ(   t   ranget   PY3(   t   ImageSett   Ranget   normalize_theta_sett   ComplexRegion(   t	   FiniteSett   Intervalt   imagesett   Uniont   Intersection(   t   simplify(   t   St   Symbolt   Lambdat   symbolst   cost   sint   pit   oot   Basict   Rationalt   sqrtt   tant   logt   expt   Abst   It   Tuplet   eye(   t   cartes(   t   XFAILt   raises(   t   xt   yt   tNc          C   sW  t  j }  d |  k s t ‚ d |  k s- t ‚ d |  k s? t ‚ t |  ƒ } t | ƒ t | ƒ t | ƒ t | ƒ f \ } } } } | | | | f d	 k sŸ t ‚ t | t ƒ s´ t ‚ |  j t d d ƒ ƒ t	 d d ƒ k sá t ‚ |  j t d d t
 t
 ƒ ƒ t	 d d ƒ k st ‚ |  j |  k s)t ‚ |  j d k s>t ‚ |  j t k sSt ‚ d  S(
   Ni   iûÿÿÿg      @i   i   i   i   i   (   i   i   i   i   (   R   t   Naturalst   AssertionErrort   itert   nextt
   isinstanceR   t	   intersectR   R   t   Truet   boundaryt   inft   supR   (   t   Nt   nit   at   bt   ct   d(    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_naturals   s    	6-3c          C   sO   t  j }  d |  k s t ‚ d |  k s- t ‚ t t |  ƒ ƒ d k sK t ‚ d  S(   Ni    iÿÿÿÿ(   R   t	   Naturals0R%   R'   R&   (   R.   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_naturals0"   s    	c          C   sÁ  t  j }  d |  k s t ‚ d |  k s- t ‚ d |  k s? t ‚ t |  ƒ } t | ƒ t | ƒ t | ƒ t | ƒ f \ } } } } | | | | f d
 k sŸ t ‚ t | t ƒ s´ t ‚ |  j t d d ƒ ƒ t	 d d ƒ k sá t ‚ |  j t d d t
 t
 ƒ ƒ t	 d	 d ƒ k st ‚ |  j t d t  j ƒ ƒ t	 d t  j ƒ k sGt ‚ |  j t j d t  j ƒ ƒ t	 d t  j ƒ k s}t ‚ |  j t k s“t ‚ |  j t k s¨t ‚ |  j |  k s½t ‚ d  S(   Ni   iûÿÿÿg      @i    i   iÿÿÿÿi   i   iüÿÿÿ(   i    i   iÿÿÿÿi   (   R   t   IntegersR%   R&   R'   R(   R   R)   R   R   R*   t   Infinityt   LopenR,   R   R-   R+   (   t   Zt   ziR0   R1   R2   R3   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_integers(   s    	6-336c          C   sÆ  t  t t d ƒ t j ƒ t d ƒ k s- t ‚ t  t t t ƒ t j ƒ t t ƒ k sZ t ‚ t  t t t d ƒ t j ƒ }  d |  k s‹ t ‚ d |  k s t ‚ t t	 d ƒ Œ  j
 |  ƒ t d d d ƒ k sÐ t ‚ d |  j
 t d d ƒ ƒ k sô t ‚ t |  ƒ } t | ƒ t | ƒ t | ƒ t | ƒ f \ } } } } | | | | f d k sTt ‚ t  t t d t ƒ t j ƒ } t d d ƒ | k sŽt ‚ t d	 ƒ | k s¦t ‚ d	 | k s¸t ‚ t d
 ƒ | k sÐt ‚ | j sßt ‚ t t t t d d ƒ ƒ t d d ƒ k st ‚ t  t t t d ƒ t d d ƒ ƒ j ƒ  t d d ƒ k sPt ‚ t t d d ƒ t d d ƒ ƒ } t d d ƒ t  t t t f t d t f ƒ | ƒ k s¯t ‚ t d t j ƒ t  t t t f t d t f ƒ | ƒ k sït ‚ t d d ƒ t  t t t f t t d f ƒ | ƒ k s,t ‚ t d d ƒ t  t t t f t d f ƒ | ƒ k set ‚ t d d ƒ t d d ƒ t d d ƒ } t d d d ƒ t  t t t t f t t t f ƒ | ƒ k sÐt ‚ t t d ƒ d d d ƒ t  t t t t f d t t t f ƒ | ƒ k s t ‚ d t t  t t t f d t ƒ | ƒ k sRt ‚ d t d ƒ t  t t t f d t ƒ | ƒ k sŠt ‚ d t d ƒ t  t t t f d t ƒ | ƒ k sÂt ‚ d  S(   Ni   i   i   i   i
   i	   i   i    g      Ð?g333333Ó?iÿÿÿÿi   i   iþÿÿÿi   i   i   id   (   i   i   i	   i   (   R   R   R!   R   R7   R   R%   R"   R$   R    R)   R   R&   R'   R   t   is_iterableR   t   doitR   R   t   HalfR#   R   (   t   squarest   siR0   R1   R2   R3   t	   harmonicst   c3(    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_ImageSet=   s:    --3$61@"=@=9)BP28c           C   s7   t  t t t t t ƒ ƒ t d ƒ ƒ t ƒ s3 t ‚ d  S(   Ni   (   R(   R   R!   R   R   R   R   R%   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_image_is_ImageSetd   s    c          C   s¶   t  d d t ƒ\ }  } t |  | f |  t | ƒ |  t | ƒ f ƒ } t | t d d ƒ t d t ƒ ƒ } d | k s~ t ‚ d | k s t ‚ d | k s¢ t ‚ | j	 s² t ‚ d  S(	   Ns   r, thetat   reali    i   iÿÿÿÿ(   i   i    (   i    iÿÿÿÿ(   i    i    (
   R   R*   R   R   R   R   R   R   R%   R=   (   t   rt   tht   Lt
   halfcircle(    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_halfcircleh   s    /%c          C   so   t  t t t d ƒ }  t |  t j ƒ } t | ƒ } t | ƒ t | ƒ t | ƒ t | ƒ f d k sk t ‚ d  S(   Ni   i    i   i   (   i    i   i   i   (   R   R!   R   R   R$   R&   R'   R%   (   RI   t   evenst   i(    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt$   test_ImageSet_iterator_not_injectivex   s    c           C   s¦   t  t d „  ƒ t d t d ƒ j t j k s4 t ‚ t d t d ƒ j t j k sY t ‚ t t d d ƒ j t j k s} t ‚ t t d d ƒ j t j k s¢ t ‚ d  S(   Nc           S   s   t  t d t d ƒ ƒ S(   Ni    i   (   t   lenR   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   <lambda>   t    i    i   iþÿÿÿ(   R    t
   ValueErrorR   R   t   sizeR   R8   R%   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_inf_Range_len€   s
    $%$c       
      sâ  t  d ƒ ‰  t  d ƒ t  d d ƒ k o> t  d d d ƒ k n sI t ‚ t  d d d ƒ }  d |  k sm t ‚ d |  k s t ‚ d	 |  k s‘ t ‚ d
 |  k s£ t ‚ t t  d d ƒ ƒ t t d ƒ ƒ k sÐ t ‚ t t  d d d ƒ ƒ t t d d d ƒ ƒ k st ‚ t  d d ƒ j d k s$t ‚ t  d d ƒ j d k sBt ‚ t  d d d ƒ j d k sct ‚ t  d d d ƒ j d k s„t ‚ t  d d d ƒ j d k s¥t ‚ t  d d d ƒ j d k sÆt ‚ t t  d d d ƒ ƒ d k sêt ‚ t  d d d ƒ ˆ  k st ‚ t  t t d ƒ ˆ  k s&t ‚ t t	 d „  ƒ t t	 d „  ƒ t t	 d „  ƒ t t	 d „  ƒ t t	 d „  ƒ t t	 d „  ƒ d t  d t d ƒ k s¤t ‚ d t  t d d ƒ k sÃt ‚ t t  d t ƒ k sÞt ‚ t
 d d t ƒ} | t  t ƒ k st ‚ t
 d d d  ƒ} t  t ƒ j | ƒ t k	 s;t ‚ t
 d d  t ƒ} | t  t ƒ k set ‚ t
 d d  t ƒ} | t  t ƒ k st ‚ t  d t d ƒ d t k s±t ‚ t  t d d ƒ d t j k s×t ‚ t  t d d ƒ d d k sùt ‚ t  d t d! ƒ d t k st ‚ t  d d d ƒ d d" k s?t ‚ t t  t d d ƒ ƒ ‰ t t	 ‡ f d# †  ƒ ˆ  j t j ƒ ˆ  k sŒt ‚ t  d d d ƒ j t j ƒ t  d d d ƒ k sÂt ‚ t  d d d ƒ j t j ƒ t  d d d ƒ k søt ‚ t  d d d ƒ d d k st ‚ t  d d d ƒ d d	 k s<t ‚ t  d d d ƒ d d" k s^t ‚ t  d d d ƒ d d k s€t ‚ t t	 d$ „  ƒ t t	 d% „  ƒ t t	 d& „  ƒ t t	 d' „  ƒ t t d( „  ƒ t t d) „  ƒ t t	 d* „  ƒ t  d t d! ƒ d d d … ˆ  k st ‚ t  d t d! ƒ d  d d … t  d d! d+ ƒ k sTt ‚ t t	 d, „  ƒ t  t d- d ƒ d  d  d! … t  d t d+ ƒ k st ‚ t t	 d. „  ƒ t  t d d! ƒ d  d  d  … t  t d d! ƒ k sät ‚ t  t d- d ƒ d  d! d! … t  d d d+ ƒ k st ‚ t  t d- d ƒ d  d! d … t  t d d- ƒ k sUt ‚ t t	 d/ „  ƒ t t	 d0 „  ƒ t  t d- d ƒ d! d  d! … t  d t d+ ƒ k s®t ‚ t t	 d1 „  ƒ t t	 d2 „  ƒ t  t d d! ƒ d d  d  … t  t d d! ƒ k st ‚ t t	 d3 „  ƒ t  t d d! ƒ d d! d  … t  t d d! ƒ k sLt ‚ t t	 d4 „  ƒ t t	 d5 „  ƒ t  t d- d ƒ d! d  d … t  d d- d- ƒ k s¤t ‚ t  t d d! ƒ d d d … ˆ  k sÏt ‚ t t	 d6 „  ƒ t t	 d7 „  ƒ t  t d d! ƒ d d+ d! … ˆ  k s	t ‚ t  t d d! ƒ d  d d … ˆ  k sE	t ‚ t t	 d8 „  ƒ ˆ  j ˆ  k sj	t ‚ d ˆ  k s|	t ‚ t ˆ  ƒ g  k s”	t ‚ t ˆ  ƒ d k s¬	t ‚ ˆ  j t j k sÄ	t ‚ ˆ  j t d ƒ ƒ t j k sè	t ‚ t ˆ  ƒ t k s 
t ‚ t t ‡  f d9 †  ƒ ˆ  d  ˆ  k s,
t ‚ t t ‡  f d: †  ƒ t t ‡  f d; †  ƒ d  g t t d ƒ ƒ } xt  d d ƒ t  d d d ƒ g D]ß } t | ƒ }  xÊ t | | d< d d  d d g ƒ D]§ \ } } } x• t d ƒ D]‡ }	 t t |  ƒ ƒ }  | j } t | | | | … ƒ }
 |  | | | … } d= | | | | |
 | f } | |
 k } | sã
t | ƒ ‚ qã
WqÇ
Wq“
Wt  d d d ƒ j t  d d d ƒ k s£t ‚ xx t  d d d ƒ t  d t d ƒ f D]R }  |  j } |  j | j k rû|  j | j k st ‚ |  j | j k sÈt ‚ qÈWt r-t } n t  } t  | d ƒ ƒ t  d ƒ k sWt ‚ t  | d d ƒ ƒ t  d d ƒ k st ‚ t  | d d d ƒ ƒ t  d d d ƒ k s±t ‚ t rÞt  | d> ƒ ƒ t  d> ƒ k sÞt ‚ n  d  S(?   Ni    i   i   i
   i   i   i   i   i   i   iÿÿÿÿi   i   i   iC   i<   i   iöÿÿÿi&   i   c           S   s   t  d d t ƒ S(   Ni   i   (   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   ¢   RQ   c           S   s   t  t t ƒ S(   N(   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   £   RQ   c           S   s   t  t t d ƒ S(   Niÿÿÿÿ(   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   ¤   RQ   c           S   s   t  t t d ƒ S(   Ni   (   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   ¥   RQ   c           S   s   t  d t d ƒ S(   Ni    i   (   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   ¦   RQ   c           S   s   t  d d d ƒ S(   Ni   i
   i    (   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   §   RQ   iûÿÿÿR/   t   integert   uR,   t   infiniteiþÿÿÿi	   c              s
   t  ˆ  ƒ S(   N(   R'   (    (   t   it(    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   »   RQ   c           S   s   t  t d d ƒ d d d … S(   Ni    iÿÿÿÿi   i   (   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Æ   RQ   c           S   s   t  t d d ƒ d  S(   Ni    iÿÿÿÿi   (   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Ç   RQ   c           S   s   t  d t ƒ d S(   Ni   iþÿÿÿ(   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   È   RQ   c           S   s   t  t d ƒ d S(   Ni   i   (   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   É   RQ   c           S   s   t  d ƒ d S(   Ni
   iìÿÿÿ(   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Ê   RQ   c           S   s   t  d ƒ d S(   Ni
   i   (   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Ë   RQ   c           S   s   t  d t d ƒ d d d … S(   Ni   iþÿÿÿi    (   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Ì   RQ   iüÿÿÿc           S   s   t  t d d ƒ d  d d … S(   Ni   i   (   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Ï   RQ   i   c           S   s   t  t d d ƒ d  d  d … S(   Ni   i   (   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Ñ   RQ   c           S   s   t  t d d ƒ d  d d … S(   Ni   i   i    iþÿÿÿ(   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Õ   RQ   c           S   s   t  t d d ƒ d  d d … S(   Ni   i   iþÿÿÿ(   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Ö   RQ   c           S   s   t  t d d ƒ d d d … S(   Ni   i   iþÿÿÿi    (   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Ø   RQ   c           S   s   t  t d d ƒ d d  d … S(   Ni   i   i    (   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Ù   RQ   c           S   s   t  t d d ƒ d d d … S(   Ni   i   i    iþÿÿÿ(   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Û   RQ   c           S   s   t  t d d ƒ d d d  … S(   Ni   iþÿÿÿi    (   R   R   t   None(    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Ý   RQ   c           S   s   t  t d d ƒ d d  d … S(   Ni   i   iÿÿÿÿ(   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   Þ   RQ   c           S   s   t  t d d ƒ d d d … S(   Ni    iþÿÿÿiöÿÿÿi
   i   (   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   á   RQ   c           S   s   t  t d d ƒ d d  d … S(   Ni    iþÿÿÿ(   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   â   RQ   c           S   s   t  t d d ƒ d  d d … S(   Ni    iþÿÿÿi   iÿÿÿÿ(   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   å   RQ   c              s   ˆ  d S(   Ni    (    (    (   t   empty(    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   ï   RQ   c              s   ˆ  j  S(   N(   R,   (    (   RZ   (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   ñ   RQ   c              s   ˆ  j  S(   N(   R-   (    (   RZ   (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   ò   RQ   iýÿÿÿs   
%s[%s:%s:%s] = %s -> %sI ¥Ôè   (!   R   R%   t   listR    R-   R,   RO   R   R    RR   R   t   FalseRY   t   containsR*   R   t   ZeroR&   R)   R7   R$   t
   IndexErrort   reversedRS   R   t   EmptySett   boolt   NotImplementedErrorR   R+   t   stepR   t   xrange(   RG   R/   RV   R,   t   ABt   RR0   R1   R2   t   reverset   resultt   anst   txtt   checkt   revt   builtin_range(    (   RZ   RX   s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_Range_setˆ   sò    =-6!!!!$!"&"$"66"""",897899778+++$1	-+	*	$*0c          C   s8  x1t  d ƒ t  d ƒ t j f t  d ƒ t  d t ƒ t j f t  d ƒ t  d d ƒ t j f t  d d ƒ t  d d ƒ t  d d ƒ f t  d d ƒ t  d d ƒ t  d d ƒ f t  d t d ƒ t  d t d ƒ t j f t  d t d ƒ t  t ƒ t  d t d ƒ f t  d t d ƒ t  d ƒ t  d d d ƒ f t  d t d ƒ t  t ƒ t  d t d ƒ f t  d t d ƒ t  d	 d
 ƒ t j f t  d d d ƒ t  d d d ƒ t  d d d ƒ f t  d d
 d ƒ t  t d	 d ƒ t j f t  d t d ƒ t  d	 t d ƒ t  d t d
 ƒ f t  d d
 d ƒ t  d d d ƒ t j f g D]\ }  } } |  j | ƒ | k sNt ‚ |  j | j ƒ | k slt ‚ |  j j | ƒ | k sŠt ‚ |  j j | j ƒ | k s«t ‚ | |  }  } |  j | ƒ | k sÓt ‚ |  j | j ƒ | k sñt ‚ |  j j | ƒ | k st ‚ |  j j | j ƒ | k s$t ‚ q$Wd  S(   Ni    i   i   i   iýÿÿÿiÿÿÿÿi   id   i   i   iP   i7   iG   i   i   i   (   R   R   Ra   R   R)   R%   R`   (   R0   R1   RG   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_range_range_intersection  s0    '''***$0(0:!c          C   s5  t  d d t ƒ}  t t d ƒ j t |  |  d ƒ ƒ t ƒ sC t ‚ t d ƒ j t d d ƒ ƒ t d ƒ k ss t ‚ t d ƒ j t t t ƒ ƒ t d ƒ k s¤ t ‚ t d ƒ j t d t ƒ ƒ t d d ƒ k s× t ‚ t d ƒ j t d t ƒ ƒ t d d ƒ k s
t ‚ t d ƒ j t d	 d ƒ ƒ t d d ƒ k s=t ‚ t d ƒ j t d	 d
 ƒ ƒ t d d ƒ k spt ‚ t d ƒ j t j	 d d ƒ ƒ t d d ƒ k s¦t ‚ t d ƒ j t j	 d	 d ƒ ƒ t
 j k sÖt ‚ t d ƒ j t d d ƒ ƒ t
 j k st ‚ t d ƒ j t t t ƒ ƒ t
 j k s1t ‚ d  S(   Nt   pt   positivei   i   i   i    i   gš™™™™™ñ?gš™™™™™¹?gÍÌÌÌÌÌ@g      à?gš™™™™™É?gš™™™™™é?(   R   R*   R(   R   R)   R   R
   R%   R   t   openR   Ra   (   Rq   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt    test_range_interval_intersection6  s    101333360-c          C   sÝ  t  t t d t t d ƒ d ƒ t j ƒ }  t t t d t t d ƒ d ƒ t j ƒ } | |  k sl t ‚ t t t d t t d ƒ d ƒ t j ƒ } | |  k s« t ‚ t d ƒ } t t d t | t j ƒ t t d t | d t j ƒ k sû t ‚ t d d t	 ƒ} | d | d	 } t | | t j ƒ j
 j | d | d	 k sRt ‚ d | d	 } t | | t j ƒ j
 j d | d k st ‚ t t t d	 t f t j ƒ t  t t t d	 t f ƒ t j ƒ k sÙt ‚ d  S(
   Ni   i   i   iþÿÿÿi   R"   R!   t   negativei   (   R   R   R!   R   R7   R   R%   R   R   R*   t   lamdat   expr(   Rj   t   imR"   t   _xt   eq(    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_Integers_eval_imagesetG  s    ---*3/c          C   s4  t  d ƒ \ }  } } t t |  t | | t d ƒ ƒ t t |  t |  | | t d ƒ ƒ k sg t ‚ t d d } t t | t d ƒ ƒ j j | k sŸ t ‚ |  t | | } t d d d ƒ } t t | | ƒ } | j j | k sí t ‚ t | ƒ g  t | ƒ D] } | j t | ƒ j	 ƒ  ^ qk s0t ‚ d  S(   Ns   a b ci   i   i   iýÿÿÿiþÿÿÿ(
   R   R   R!   R   R%   Rv   Rw   R[   t   subst   expand(   R0   R1   R2   Rz   RG   t   imsetRM   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_Range_eval_imageset[  s    !1*c           C   sl   t  t t t t t t d ƒ ƒ t d d ƒ ƒ Œ  t  d t d ƒ d d t d ƒ d d ƒ k sh t ‚ d  S(   Ni   iöÿÿÿi   iÿÿÿÿi   i    i   (	   R   R   R   R!   R   R   R   R   R%   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_funh  s     c           C   sº   d t  j k s t ‚ t  j t  j k s- t ‚ t d ƒ t  j k sI t ‚ d t  j k s^ t ‚ t d ƒ t  j k sy t ‚ t  j t t t ƒ k s˜ t ‚ t  j t d t ƒ k s¶ t ‚ d  S(   Ni   i   iÿÿÿÿi    (   i   i   (   R   t   RealsR%   t   PiR   R   R   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt
   test_Realsm  s    c           C   sZ  d t  j k s t ‚ d d t t  j k s2 t ‚ t  j t  j k sJ t ‚ t d ƒ t  j k sf t ‚ t t  j k s| t ‚ t d ƒ t  j k s— t ‚ t  j j t  j ƒ t  j k s» t ‚ t  j j t  j ƒ t  j k sß t ‚ t  j t	 t  j t  j ƒ k st ‚ t  j t	 t
 d d ƒ t
 d d ƒ ƒ k t k s;t ‚ t t  j ƒ d k sVt ‚ d  S(   Ni   i   i   iÿÿÿÿi   i   s   S.Complexes(   R   t	   ComplexesR%   R   R‚   R   R)   R   t   unionR   R   R\   t   str(    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_Complexw  s    $$%7c         C   s   t  t j | |  ƒ ƒ S(   s.   Return first n items of the iterable as a list(   R[   t	   itertoolst   islice(   t   nt   iterable(    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   take…  s    c           C   s5  t  j j t  j ƒ t  j k s$ t ‚ d t  j j t  j ƒ k sE t ‚ d t  j j t  j ƒ k sf t ‚ d t  j j t  j ƒ k s‡ t ‚ d t  j j t  j ƒ k s¨ t ‚ d t  j j t d t ƒ ƒ k sÏ t ‚ d t  j j t t d ƒ ƒ k s÷ t ‚ t d „  t	 d t  j j t d t ƒ ƒ ƒ Dƒ ƒ s1t ‚ d  S(   Ni   iûÿÿÿg      @i   c         s   s   |  ] } | j  Vq d  S(   N(   t
   is_Integer(   t   .0R!   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pys	   <genexpr>’  s   i
   (
   R   R7   R)   R   R%   R$   R   R   t   allRŒ   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_intersectionsŠ  s    $!!!!'(	c          C   sç  d d l  m }  m } m } t t |  |  ƒ t j ƒ t t | | ƒ t j ƒ k sX t ‚ t t |  d |  ƒ t j ƒ j	 t t | d | d ƒ t j ƒ ƒ t j
 k s¬ t ‚ t t |  d |  ƒ t j ƒ j	 t t |  d |  d ƒ t j ƒ ƒ t j
 k s t ‚ t t | d | ƒ t j ƒ j	 t t |  d |  ƒ t j ƒ ƒ t t | d | ƒ t j ƒ k sft ‚ t t t d t d ƒ d t j ƒ j	 t j ƒ t j
 k s¨t ‚ t t t d t j t j ƒ j	 t j ƒ t j k sãt ‚ d  S(   Niÿÿÿÿ(   RŠ   t   mR#   i   i   i   i   (   t	   sympy.abcRŠ   R‘   R#   R   R   R   R7   R%   R)   Ra   R   R!   R?   (   RŠ   R‘   R#   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_infinitely_indexed_set_1–  s    <55(Bc          C   sƒ  d d l  m }  t d d t ƒ} t t |  |  ƒ t j ƒ t t |  |  | ƒ t j ƒ k sb t ‚ t t |  |  t	 ƒ t j ƒ t t |  |  | t	 ƒ t j ƒ k sª t ‚ t t |  |  ƒ t j ƒ t t |  |  | ƒ t j ƒ k së t ‚ t t |  d |  ƒ t j ƒ t
 t |  d |  ƒ t j ƒ k s/t ‚ t t |  d |  t	 ƒ t j ƒ t
 t |  d |  t	 d ƒ t j ƒ k st ‚ d  S(   Niÿÿÿÿ(   RŠ   R0   RU   iúÿÿÿi   i   (   R’   RŠ   R   R*   R   R   R   R7   R%   R   R   (   RŠ   R0   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_infinitely_indexed_set_2¨  s    (,)( c       	   C   s  d d l  m }  d d l m } t t | | | d | d |  ƒ t j ƒ j t j	 ƒ t
 d d ƒ k sp t ‚ t t | |  |  d t | t d t t t |  ƒ ƒ ƒ ƒ t j ƒ } | j t j	 ƒ t t | d | t t d ƒ t j ƒ k sþ t ‚ d  S(   Niÿÿÿÿ(   R   (   RŠ   i   i   i   (   t   sympyR   R’   RŠ   R   R   R   R7   R)   R   R   R%   R   R   R   R   R   (   R   RŠ   t   s(    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_imageset_intersect_real·  s    8Kc    
      C   s•  d d l  m }  t t |  |  t ƒ t j ƒ } t t |  d |  ƒ t d t ƒ ƒ } t t |  d |  t t d ƒ t j ƒ } t t |  |  t t ƒ t j ƒ } t t |  d t |  t t d ƒ t j ƒ } t t |  t	 |  ƒ ƒ t j ƒ } t t |  |  d ƒ t j ƒ } t t |  t
 |  ƒ ƒ t j ƒ } t t |  t |  ƒ ƒ t j ƒ }	 | j t d d ƒ ƒ t d ƒ k s}t ‚ | j t d d t t t ƒ ƒ t d t ƒ k s´t ‚ | j t d d ƒ ƒ t d d ƒ k sát ‚ | j t d d ƒ ƒ t j k st ‚ | j t d d ƒ ƒ t d t d t d ƒ k sAt ‚ | j t d d ƒ ƒ t d ƒ k skt ‚ | j t d d ƒ ƒ t j k s’t ‚ | j t d d ƒ ƒ t j k s¹t ‚ | j t d d ƒ ƒ t t j t	 d ƒ ƒ k sït ‚ | j t d d	 ƒ ƒ t | t d d	 ƒ ƒ k s%t ‚ | j t d d ƒ ƒ t | t d d ƒ ƒ k s[t ‚ |	 j t d d ƒ ƒ t |	 t d d ƒ ƒ k s‘t ‚ d  S(
   Niÿÿÿÿ(   RŠ   i   i    i   iûÿÿÿi   iýÿÿÿi
   (   R’   RŠ   R   R   R   R   R7   R   R   R   R   R   R5   R)   R   R%   R\   R*   Ra   R^   R
   (
   RŠ   t   f1t   f2t   f3t   f4t   f5t   f6t   f7t   f8t   f9(    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt    test_imageset_intersect_intervalÁ  s,    %+#/!!!*7-'9*''666c          C   s*  d d l  m }  m } m } t t | d t | ƒ t j ƒ j	 t t |  d t |  ƒ t j ƒ ƒ t
 t | d t | ƒ t j ƒ k sŽ t ‚ t t |  d |  d ƒ t j ƒ t t |  d |  d ƒ t j ƒ k sÚ t ‚ t t |  d |  d ƒ t j ƒ t t |  d |  d ƒ t j ƒ k s&t ‚ d  S(   Niÿÿÿÿ(   RŠ   R‘   R#   i   i   i   i   (   R’   RŠ   R‘   R#   R   R   R   R   R7   R)   R   R%   (   RŠ   R‘   R#   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_infinitely_indexed_set_3Ý  s    ##, , c          C   sª   d d l  m }  m } t t |  |  ƒ t j ƒ t j k s@ t ‚ t t |  t |  ƒ ƒ t t | t	 | ƒ ƒ t j ƒ ƒ t t | t t	 | ƒ ƒ ƒ t j ƒ k s¦ t ‚ d  S(   Niÿÿÿÿ(   RŠ   R‘   (
   R’   RŠ   R‘   R   R   R   R7   R%   R   R   (   RŠ   R‘   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_ImageSet_simplificationè  s
    *!c          C   sH   d d l  m }  d t j f t |  |  d |  f t j ƒ k sD t ‚ d  S(   Niÿÿÿÿ(   R!   i   i   (   R’   R!   R   R?   R   R7   R%   (   R!   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_ImageSet_containsð  s    c          C   s±  t  d d ƒ }  t  d d ƒ } t  d d ƒ } t |  | ƒ } t t |  | | |  ƒ ƒ } d d t | k st t ‚ d d t | k sŽ t ‚ d d t | k s¨ t ‚ d	 d t | k sÂ t ‚ d d
 t | k sÜ t ‚ d d t | k sö t ‚ t  d d ƒ } t  d d t j ƒ } t | | d t ƒ} d d t | k sKt ‚ t | k s]t ‚ d | k sot ‚ d | k st ‚ d t | k s—t ‚ d t | k s­t ‚ d  S(   Ni   i   i   i   i   i	   g      @g      @i   gffffff@gš™™™™™	@i    i   t   polarg      à?g333333ã?(   R   R   R	   R   R%   R   R‚   R*   (   R0   R1   R2   t   c1t   c2t   r1t   theta1RC   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_ComplexRegion_containsõ  s(    c          C   sÜ  t  t d t ƒ t d t j ƒ d t ƒ}  t  t d d ƒ t d d t j ƒ d t ƒ} t  t d d ƒ t d t j ƒ d t ƒ} t  t d t ƒ t d t j ƒ d t ƒ} t  t d t ƒ t t j d t j ƒ d t ƒ} t  t d t ƒ t t j d t j d ƒ d t ƒ} t  t d t ƒ t d t j d ƒ d t ƒ} | j | ƒ | k sct ‚ | j | ƒ | k s~t ‚ | j | ƒ | k s™t ‚ | j | ƒ |  k s´t ‚ t  t d d ƒ t d d t j ƒ d t ƒ} | j t d d ƒ ƒ t d d ƒ k st ‚ | j t d d ƒ ƒ t d ƒ k s:t ‚ | j t d d ƒ ƒ t j	 k sat ‚ t  t t t ƒ t d ƒ ƒ }  t  t d	 d ƒ t d	 d ƒ ƒ } t  t d	 d ƒ t d d ƒ ƒ }	 t  t t t ƒ t d t ƒ ƒ }
 t  t t t ƒ t t d ƒ ƒ } t  t d t ƒ t t t ƒ ƒ } t  t d t ƒ t d t ƒ ƒ } |
 j | ƒ |	 k slt ‚ | j | ƒ | k s‡t ‚ |
 j | ƒ | k s¢t ‚ |
 j | ƒ |  k s½t ‚ t  t d
 d ƒ t d d ƒ ƒ } | j t d d ƒ ƒ t d d ƒ k st ‚ | j t d d ƒ ƒ t d ƒ k s6t ‚ | j t d d ƒ ƒ t j	 k s]t ‚ t  t d d ƒ t d d t j ƒ d t ƒ} t  t d	 d ƒ t d	 d ƒ ƒ } | j | ƒ t
 | | d t ƒk sØt ‚ d  S(   Ni    R¥   i   i   i   i   i	   i   iÿÿÿÿiûÿÿÿiöÿÿÿi
   i   i   t   evaluate(   R   R   R   R   R   R‚   R*   R)   R%   Ra   R
   R\   (   t   X_axist	   unit_diskt   upper_half_unit_diskt   upper_half_diskt   lower_half_diskt   right_half_diskt   first_quad_diskR¦   t   unit_squaret   upper_half_unit_squaret   upper_half_planet   lower_half_planet   right_half_planet   first_quad_planet   C1t   C2(    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_ComplexRegion_intersect  sB    +/++27//-*' ""#$#""-*'/"c          C   sQ  t  t d d ƒ t d d t j ƒ d t ƒ}  t  t d d ƒ t d t j ƒ d t ƒ} t  t d t ƒ t d t j ƒ d t ƒ} t  t d t ƒ t t j d t j ƒ d t ƒ} t t d d ƒ t d d t j ƒ t d d ƒ t d t j ƒ ƒ } t t d t ƒ t d t j ƒ t d t ƒ t t j d t j ƒ ƒ } |  j | ƒ t  | d t ƒk skt ‚ | j | ƒ t  | d t ƒk s’t ‚ t  t d d ƒ t d d ƒ ƒ } t  t d d ƒ t d	 d
 ƒ ƒ } t  t d d	 ƒ t d d ƒ ƒ } t  t d
 d ƒ t d d ƒ ƒ }	 t t d d ƒ t d d ƒ t d d ƒ t d	 d
 ƒ ƒ }
 t t d d	 ƒ t d d ƒ t d
 d ƒ t d d ƒ ƒ } | j | ƒ t  |
 ƒ k s±t ‚ | j |	 ƒ t  | ƒ k sÒt ‚ |  j t d d ƒ ƒ t |  t d d ƒ d t	 ƒk st ‚ | j t d d ƒ ƒ t | t  j
 t d d ƒ ƒ ƒ k sMt ‚ d  S(   Ni    i   i   R¥   i   i   i	   i   i
   i   iöÿÿÿi   i   i   R«   (   R   R   R   R‚   R*   R   R	   R…   R%   R\   t	   from_real(   R¦   R§   RC   t   c4t   p1t   p2t   c5t   c6t   c7t   c8t   p3t   p4(    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_ComplexRegion_union?  s$    /++2EH''"""";;!!<c          C   s­   t  d d ƒ t  d d ƒ }  } t  d d t j ƒ t  d t j ƒ } } t |  | ƒ } t t |  | | | ƒ d t ƒ} | j d k s t ‚ | j d t k s© t ‚ d  S(	   Ni   i   i   i   i    R¥   i   i	   (	   R   R   R‚   R   R	   R*   t   measureR%   R   (   R0   R1   R©   t   theta2R¦   R§   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_ComplexRegion_measure]  s    )#c           C   sÓ  t  t t d t ƒ ƒ t t d ƒ t j t d t ƒ ƒ k sD t ‚ t  t d t d d t ƒ ƒ t t d t ƒ k s~ t ‚ t  t d t d t d ƒ ƒ t j d d t ƒ k s» t ‚ t  t j d t d t d ƒ ƒ t t j d t d ƒ t j t d d t ƒ ƒ k st ‚ t  t j d t d d t d ƒ ƒ t t j d t d ƒ t j t d d t ƒ ƒ k syt ‚ t  t t d t d ƒ ƒ t t d t d ƒ t j d t d d t ƒ ƒ k sÑt ‚ t  t j t d t d ƒ ƒ t t j d t d ƒ t j d t d d t ƒ ƒ k s/t ‚ t  t d t d t ƒ ƒ t j d d t ƒ k sht ‚ t  t d t d t d ƒ ƒ t t d d t d ƒ k s«t ‚ t  t j d d t ƒ ƒ t j d d t ƒ k sãt ‚ t  t j t d t d ƒ ƒ t t j d t d ƒ t j d t d d t ƒ ƒ k sAt ‚ t  t j t d t d ƒ ƒ t t d t d ƒ t j d t d d t ƒ ƒ k sœt ‚ t  t t d t d ƒ ƒ t t d t d ƒ t j d t d d t ƒ ƒ k sôt ‚ t  t j d	 t d t d ƒ ƒ t j d t d ƒ k s4t ‚ t  t j d	 t d t d ƒ ƒ t j d t d ƒ k stt ‚ t  t j d	 t d t d ƒ ƒ t j d t d ƒ k s´t ‚ t  t j d t d t ƒ ƒ t t j d t ƒ t j t d t ƒ ƒ k st ‚ t  t d t d t ƒ ƒ t d t ƒ k s6t ‚ t  t d t d t d t ƒ ƒ t d t d t ƒ k sut ‚ t  t d t d t d
 t ƒ ƒ t d t d t d ƒ k sºt ‚ t  t d t d t d ƒ ƒ t t d ƒ k sñt ‚ t  t d t ƒ ƒ t d ƒ k st ‚ t  t t d t d ƒ t t d t ƒ ƒ ƒ t t d t d ƒ t t d t ƒ ƒ k swt ‚ t  t t d t ƒ t d t d t d ƒ ƒ ƒ t d t ƒ k s¿t ‚ t	 t
 d „  ƒ d  S(   Ni   i    i	   i   iýÿÿÿiùÿÿÿi   iüÿÿÿi   iþÿÿÿi   c           S   s   t  t j ƒ S(   N(   R   R   R„   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyRP   ”  RQ   (   R   R   R   R	   R   t   RopenR%   Rs   R9   R    RR   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_normalize_theta_setg  sJ    .:=!<%<=@9C8@==@@@41?E(,20c          C   sò   t  d ƒ \ }  } } } } } t t | | | ƒ t |  | | ƒ ƒ t | t |  | t | | t | | t |  | t | | t | | t |  | t | | t | ƒ	 k s¸ t ‚ t t d ƒ t d ƒ ƒ t d d t ƒ k sî t ‚ d  S(   Ns   x y z a b ci   i   (   R   R   R   R   R%   (   R!   R"   t   zR0   R1   R2   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_ComplexRegion_FiniteSet—  s
    %:;c           C   sR   t  j j t d d ƒ ƒ t  j k s* t ‚ t  j j t  j ƒ t  j k sN t ‚ d  S(   Ni   i   (   R   R„   R…   R   R%   R7   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_union_RealSubSet¡  s    *c          C   sé   t  t d d ƒ t d d ƒ ƒ }  t  t d d ƒ t d d ƒ ƒ } t |  | ƒ } t | ƒ t  t t d d ƒ t d d ƒ t d d ƒ t d d ƒ ƒ t ƒ k s© t ‚ |  j |  j Œ  |  k sÇ t ‚ | j | j Œ  | k så t ‚ d  S(   Ni   i   i   i   (   R   R   R	   R   R\   R%   t   funct   args(   R¦   R§   Rg   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_issue_9980¦  s    ""(.c          C   s{  t  d d ƒ }  t d d d d ƒ } t d d ƒ } |  t j k t k sN t ‚ |  t j k t k si t ‚ |  t j k t k s„ t ‚ |  t j	 k t k sŸ t ‚ | t j k t k sº t ‚ | t j k t k sÕ t ‚ | t j k t k sð t ‚ | t j	 k t k st ‚ | t j k t k s&t ‚ | t j k t k sAt ‚ | t j k t k s\t ‚ | t j	 k t
 k swt ‚ d  S(   Ni   i   i   i   i   (   R   R   R   R   R$   R\   R%   R5   R7   R„   R*   (   t
   interval12t   finiteset1234t   pointComplex(    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_issue_11732¯  s    c          C   s°   t  d d ƒ }  t |  d ƒ } t t j t t ƒ ƒ t j k sF t ‚ t t j t t d ƒ ƒ ƒ t j k ss t ‚ t |  | ƒ | k sŽ t ‚ t	 t j
 | ƒ |  k s¬ t ‚ d  S(   Ni    i   i   i   (   R   R   R	   R   R„   R   R   R%   R   R
   R   (   t   unitt   square(    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_issue_11730Ä  s    '-c    	      C   sg  t  d d ƒ }  t  d d ƒ } t | |  ƒ } t | t j ƒ | k sL t ‚ t | |  ƒ t d ƒ k sm t ‚ t  d t j ƒ } t t j ƒ } t  t j d d t j d ƒ } t |  | d t ƒ} t |  | d t ƒ} t |  | d t ƒ} t | t j ƒ t  d d ƒ k st ‚ t | t j ƒ t  d d ƒ k s?t ‚ t | t j ƒ t d ƒ k sct ‚ d  S(   Ni    i   i   i   i   R¥   iÿÿÿÿ(	   R   R   R
   R   R   R%   R   R‚   R*   (	   RÖ   t   ivalt   cr1t   arg1t   arg2t   arg3t   cp1t   cp2t   cp3(    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_issue_11938Î  s    !!''c          C   sÇ   t  d d ƒ t  d t ƒ }  } t  d d ƒ t  t d t d ƒ } } t |  | d t ƒ} t | | d t ƒ} d | j | ƒ k s t ‚ d | j | ƒ k s¨ t ‚ d | j | ƒ k sÃ t ‚ d  S(   Ni    i   i   i   R¥   iýÿÿÿiûÿÿÿ(   R   R   R   R*   R…   R%   (   R0   R1   R2   R3   RÞ   Rß   (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   test_issue_11914á  s    '(R   t   sympy.core.compatibilityR    R   t   sympy.sets.fancysetsR   R   R   R   t   sympy.sets.setsR   R   R   R	   R
   t   sympy.simplify.simplifyR   R•   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   t   sympy.utilities.iterablesR   t   sympy.utilities.pytestR   R    R’   R!   R"   R#   Rˆ   R4   R6   R<   RD   RE   RK   RN   RT   Ro   Rp   Rt   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â   (    (    (    s>   lib/python2.7/site-packages/sympy/sets/tests/test_fancysets.pyt   <module>   sZ   "(v				'				“						
						
						0		
	0	
					
	