ó
¡¼™\c           @   sÀ   d  Z  d d l m Z d d l 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 d d l m Z m Z d „  Z d „  Z d	 „  Z d
 „  Z d S(   s:   Tests for tools for constructing domains for expressions. iÿÿÿÿ(   t   construct_domain(   t   ZZt   QQt   RRt   EX(   t	   RealField(   t   St   sqrtt   sint   Floatt   Et   GoldenRatiot   pit   Catalan(   t   xt   yc          C   s  t  d d d g ƒ t t d ƒ t d ƒ t d ƒ g f k sB t ‚ t  d d d g d t ƒt t d ƒ t d ƒ t d ƒ g f k sŠ t ‚ t  t d ƒ t d ƒ t d ƒ g ƒ t t d ƒ t d ƒ t d ƒ g f k sÞ t ‚ t  t d ƒ t d ƒ t d ƒ g d t ƒt t d ƒ t d ƒ t d ƒ g f k s8t ‚ t  t d ƒ d t d ƒ g ƒ t t d d ƒ t d ƒ g f k st ‚ t  d d t d ƒ d g ƒ }  t |  d t ƒ s¹t ‚ |  d t d ƒ t d ƒ t d ƒ g k sêt ‚ t  d t	 d ƒ g d	 d  ƒt t d ƒ t t	 d ƒ ƒ g f k s2t ‚ t  d t	 d ƒ g d	 t ƒt t d ƒ t t	 d ƒ ƒ g f k szt ‚ t  d t	 d ƒ g d	 d  ƒt t d ƒ t t	 d ƒ ƒ g f k sÂt ‚ t  t t	 t ƒ g ƒ t t t ƒ t t	 t ƒ ƒ g f k st ‚ t  t t	 t ƒ t	 t ƒ g ƒ t t t ƒ t t	 t ƒ ƒ t t	 t ƒ ƒ g f k s^t ‚ t j t	 d ƒ ƒ } t  d
 t d ƒ d t	 d ƒ g d	 t ƒ| | j d
 ƒ | j t d ƒ d ƒ | j t	 d ƒ ƒ g f k sät ‚ t j t	 d ƒ t	 d ƒ ƒ } t  d
 t	 d ƒ t	 d ƒ g d	 t ƒ| | j d
 ƒ | j t	 d ƒ ƒ | j t	 d ƒ ƒ g f k slt ‚ t t } t  d t d g ƒ | | j d t ƒ | j d ƒ g f k sºt ‚ t t t f } t  d t d t g ƒ | | j d t ƒ | j d t ƒ g f k st ‚ t t } t  t d d g ƒ | | j t d ƒ | j d ƒ g f k sdt ‚ t t t f } t  t d d t g ƒ | | j t d ƒ | j d t ƒ g f k sÀt ‚ t t } t  t d d g ƒ | | j t d ƒ | j d ƒ g f k st ‚ t t t f } t  t d d t g ƒ | | j t d ƒ | j d t ƒ g f k sjt ‚ t j t ƒ } t  d t d g ƒ | | j d t ƒ | j d ƒ g f k s½t ‚ t j t t ƒ } t  d t d t g ƒ | | j d t ƒ | j d t ƒ g f k st ‚ t j t ƒ } t  d t d g ƒ | | j d t ƒ | j d ƒ g f k snt ‚ t j t t ƒ } t  d t d t g ƒ | | j d t ƒ | j d t ƒ g f k sÌt ‚ t d d ƒ t } t  t j d ƒ t g ƒ | | j t j d ƒ t ƒ g f k s&t ‚ t  d ƒ t t d ƒ f k sJt ‚ t  t d ƒ d ƒ t t d d ƒ f k s{t ‚ t  i  ƒ t i  f k s™t ‚ d  S(   Ni   i   i   t   fieldg…ëQ¸	@i    g      ð?g      à?t	   extensioni   g      @t   preciP  id   (   R    R   t   AssertionErrort   TrueR   R   t
   isinstanceR   R   R   t   NoneR   R   R   t   algebraic_fieldt   convertt
   frac_fieldR   t   evalf(   t   resultt   algt   dom(    (    sA   lib/python2.7/site-packages/sympy/polys/tests/test_constructor.pyt   test_construct_domain   sn    BHTZI1HHHBZ(I$E
15
15
151515.$1c           C   sê   t  i t t ƒ d 6d t ƒt i t t t ƒ ƒ d 6f k sD t ‚ t  i t d 6d t ƒt i t t ƒ d 6f k s| t ‚ t  i d d 6d t ƒt i d d	 6f k s® t ‚ t  i t d
 6d t ƒt i t t ƒ d 6f k sæ t ‚ d  S(   Ni   t	   compositei    (   i   (   i   (   i   (   i   (   i   i   (   i   i   (   i   i    (   i   i    (   R    R   R   t   FalseR   R   R   (    (    (    sA   lib/python2.7/site-packages/sympy/polys/tests/test_constructor.pyt   test_composite_optionf   s    ("c          C   s÷   t  d ƒ }  t  d ƒ } xr d d d d d d d	 d
 d |  | g D]I } t | g ƒ } t | d d ƒ } t | | ƒ | d k  s@ t ‚ q@ Wt |  g ƒ } | d d } | d d k sÀ t ‚ t | g ƒ } | d d } | d d k só t ‚ d  S(   Ns   1.01s   1.0000000000000000000001i   g{®Gáz„?gíµ ÷Æ°>g‚vIhÂ%<=g›+¡†›„=g¼‰Ø—²Òœ<g#B’¡œÇ;g0Žä.ÿ++gYóøÂn¥i    g¸ÔJzî5(   R	   R    t   floatt   absR   (   t   f1t   f2R   R   R   (    (    sA   lib/python2.7/site-packages/sympy/polys/tests/test_constructor.pyt   test_precisiont   s    $c          C   s¤   xa t  t t g D]P }  t |  ƒ d t |  k s6 t ‚ t t |  ƒ d t t |  f k s t ‚ q Wt t ƒ d t k s€ t ‚ t t t ƒ d t k s  t ‚ d  S(   Ni    (	   R
   R   R   R    R   R   R   R   R   (   t   n(    (    sA   lib/python2.7/site-packages/sympy/polys/tests/test_constructor.pyt   test_issue_11538†   s
     .N(   t   __doc__t   sympy.polys.constructorR    t   sympy.polys.domainsR   R   R   R   t   sympy.polys.domains.realfieldR   t   sympyR   R   R   R	   R
   R   R   R   t	   sympy.abcR   R   R   R!   R&   R(   (    (    (    sA   lib/python2.7/site-packages/sympy/polys/tests/test_constructor.pyt   <module>   s   ":	[		