ó
¡¼™\c           @   sø  d  Z  d d l 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 m Z m Z m Z d d l m Z d d l m Z d d l m Z d d l m Z m Z m Z m Z m Z d d	 l  m! Z! e j" e d
 ƒ e d ƒ ƒ Z# d „  Z$ d „  Z% d „  Z& d „  Z' d „  Z( d „  Z) d „  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! „  Z9 d" „  Z: d# „  Z; d$ „  Z< d% „  Z= d& S('   sP   Tests for classes defining properties of ground domains, e.g. ZZ, QQ, ZZ[x] ... iÿÿÿÿ(   t   St   sqrtt   sint   oot   Polyt   Float(   t   xt   yt   z(   t   ZZt   QQt   RRt   CCt   FFt   GFt   EX(   t	   RealField(   t   ring(   t   field(   t   UnificationFailedt   GeneratorsErrort   CoercionFailedt   NotInvertiblet   DomainError(   t   raisesi   i   c         C   s   |  j  | ƒ S(   N(   t   unify(   t   K0t   K1(    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyR      s    c          C   sg	  t  d ƒ }  t |  |  ƒ |  k s' t ‚ t |  t ƒ t k sB t ‚ t |  t ƒ t k s] t ‚ t |  t ƒ t k sx t ‚ t |  t ƒ t k s“ t ‚ t |  t ƒ t k s® t ‚ t |  t t ƒ t t k sÑ t ‚ t |  t j	 t ƒ ƒ t j	 t ƒ k sþ t ‚ t |  t
 ƒ t
 k st ‚ t t |  ƒ t k s4t ‚ t t t ƒ t k sOt ‚ t t t ƒ t k sjt ‚ t t t ƒ t k s…t ‚ t t t ƒ t k s t ‚ t t t ƒ t k s»t ‚ t t t t ƒ t t k sÞt ‚ t t t j	 t ƒ ƒ t j	 t ƒ k st ‚ t t t
 ƒ t
 k s&t ‚ t t |  ƒ t k sAt ‚ t t t ƒ t k s\t ‚ t t t ƒ t k swt ‚ t t t ƒ t k s’t ‚ t t t ƒ t k s­t ‚ t t t ƒ t k sÈt ‚ t t t t ƒ t t k sët ‚ t t t j	 t ƒ ƒ t j	 t ƒ k st ‚ t t t
 ƒ t
 k s3t ‚ t t |  ƒ t k sNt ‚ t t t ƒ t k sit ‚ t t t ƒ t k s„t ‚ t t t ƒ t k sŸt ‚ t t t ƒ t k sºt ‚ t t t ƒ t k sÕt ‚ t t t t ƒ t t k søt ‚ t t t j	 t ƒ ƒ t j	 t ƒ k s%t ‚ t t t
 ƒ t
 k s@t ‚ t t j t j	 t ƒ ƒ t j	 t t ƒ k stt ‚ t t |  ƒ t k st ‚ t t t ƒ t k sªt ‚ t t t ƒ t k sÅt ‚ t t t ƒ t k sàt ‚ t t t ƒ t k sût ‚ t t t ƒ t k st ‚ t t t t ƒ t t k s9t ‚ t t t j	 t ƒ ƒ t j	 t ƒ k sft ‚ t t t
 ƒ t
 k st ‚ t t t |  ƒ t t k s¤t ‚ t t t t ƒ t t k sÇt ‚ t t t t ƒ t t k sêt ‚ t t t t ƒ t t k st ‚ t t t t ƒ t t k s0t ‚ t t t t ƒ t t k sSt ‚ t t t t t ƒ t t k szt ‚ t t t t j	 t ƒ ƒ t j	 t ƒ k s«t ‚ t t t t
 ƒ t
 k sÊt ‚ t t j	 t ƒ |  ƒ t j	 t ƒ k s÷t ‚ t t j	 t ƒ t ƒ t j	 t ƒ k s$t ‚ t t j	 t ƒ t ƒ t j	 t ƒ k sQt ‚ t t j	 t ƒ t ƒ t j	 t ƒ k s~t ‚ t t j	 t ƒ t ƒ t j	 t ƒ k s«t ‚ t t j	 t ƒ t ƒ t j	 t ƒ k sØt ‚ t t j	 t ƒ t t ƒ t j	 t ƒ k s	t ‚ t t j	 t ƒ t j	 t ƒ ƒ t j	 t ƒ k s?t ‚ t t j	 t ƒ t
 ƒ t
 k sct ‚ t t
 |  ƒ t
 k s~t ‚ t t
 t ƒ t
 k s™t ‚ t t
 t ƒ t
 k s´t ‚ t t
 t ƒ t
 k sÏt ‚ t t
 t ƒ t
 k sêt ‚ t t
 t ƒ t
 k s	t ‚ t t
 t t ƒ t
 k s$	t ‚ t t
 t j	 t ƒ ƒ t
 k sH	t ‚ t t
 t
 ƒ t
 k sc	t ‚ d  S(   Ni   (   R   R   t   AssertionErrorR	   R
   t   ALGR   R   R   t
   frac_fieldR   R   (   t   F3(    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_Domain_unify   s”    #-#-#-#-4#-######'1------16$$c           C   s  t  t j t ƒ t ƒ t j t ƒ k s- t ‚ t  t j t ƒ t ƒ t j t ƒ k sZ t ‚ t  t j t ƒ t ƒ t j t ƒ k s‡ t ‚ t  t j t ƒ t ƒ t j t ƒ k s´ t ‚ t  t t j t ƒ ƒ t j t ƒ k sá t ‚ t  t t j t ƒ ƒ t j t ƒ k st ‚ t  t t j t ƒ ƒ t j t ƒ k s;t ‚ t  t t j t ƒ ƒ t j t ƒ k sht ‚ t  t j t t ƒ t ƒ t j t t ƒ k s›t ‚ t  t j t t ƒ t ƒ t j t t ƒ k sÎt ‚ t  t j t t ƒ t ƒ t j t t ƒ k st ‚ t  t j t t ƒ t ƒ t j t t ƒ k s4t ‚ t  t t j t t ƒ ƒ t j t t ƒ k sgt ‚ t  t t j t t ƒ ƒ t j t t ƒ k sšt ‚ t  t t j t t ƒ ƒ t j t t ƒ k sÍt ‚ t  t t j t t ƒ ƒ t j t t ƒ k s t ‚ t  t j t ƒ t ƒ t j t ƒ k s-t ‚ t  t j t ƒ t ƒ t j t ƒ k sZt ‚ t  t j t ƒ t ƒ t j t ƒ k s‡t ‚ t  t j t ƒ t ƒ t j t ƒ k s´t ‚ t  t t j t ƒ ƒ t j t ƒ k sát ‚ t  t t j t ƒ ƒ t j t ƒ k st ‚ t  t t j t ƒ ƒ t j t ƒ k s;t ‚ t  t t j t ƒ ƒ t j t ƒ k sht ‚ t  t j t t ƒ t ƒ t j t t ƒ k s›t ‚ t  t j t t ƒ t ƒ t j t t ƒ k sÎt ‚ t  t j t t ƒ t ƒ t j t t ƒ k st ‚ t  t j t t ƒ t ƒ t j t t ƒ k s4t ‚ t  t t j t t ƒ ƒ t j t t ƒ k sgt ‚ t  t t j t t ƒ ƒ t j t t ƒ k sšt ‚ t  t t j t t ƒ ƒ t j t t ƒ k sÍt ‚ t  t t j t t ƒ ƒ t j t t ƒ k s t ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k s6t ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k slt ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k s¢t ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k sØt ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k st ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k sPt ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k sŒt ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k sÈt ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k st ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k s@t ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k s|t ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k s¸t ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k sút ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k s<	t ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k s~	t ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k sÀ	t ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k sö	t ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k s,
t ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k sb
t ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k s˜
t ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k sÔ
t ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k st ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k sLt ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k sˆt ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k sÄt ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k s t ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k s<t ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k sxt ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k sºt ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k süt ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k s>t ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k s€t ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k s¶t ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k sìt ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k s"t ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k sXt ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k s”t ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k sÐt ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k st ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k sHt ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k s„t ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k sÀt ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k süt ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k s8t ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k szt ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k s¼t ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k sþt ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k s@t ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k svt ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k s¬t ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k sât ‚ t  t j t ƒ t j t ƒ ƒ t j t ƒ k st ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k sTt ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k st ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k sÌt ‚ t  t j t t ƒ t j t ƒ ƒ t j t t ƒ k st ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k sDt ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k s€t ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k s¼t ‚ t  t j t ƒ t j t t ƒ ƒ t j t t ƒ k søt ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k s:t ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k s|t ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k s¾t ‚ t  t j t t ƒ t j t t ƒ ƒ t j t t t ƒ k s t ‚ d  S(   N(	   R   R	   t	   poly_ringR   R   R
   R   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_Domain_unify_compositen   sÀ    --------33333333--------333333336666<<<<<<<<BBBB6666<<<<<<<<BBBB6666<<<<<<<<BBBB6666<<<<<<<<BBBc          C   sï  t  j t d ƒ ƒ }  t  j t d ƒ ƒ } t  j t d ƒ t d ƒ ƒ } |  j | ƒ | k sc t ‚ |  j |  t t f ƒ |  t t f k s’ t ‚ |  t t f j |  ƒ |  t t f k sÁ t ‚ |  j |  j t t ƒ ƒ |  j t t ƒ k sô t ‚ |  j t t ƒ j |  ƒ |  j t t ƒ k s't ‚ |  j | t t f ƒ | t t f k sVt ‚ |  t t f j | ƒ | t t f k s…t ‚ |  j | j t t ƒ ƒ | j t t ƒ k s¸t ‚ |  j t t ƒ j | ƒ | j t t ƒ k sët ‚ d  S(   Ni   i   (   R
   t   algebraic_fieldR   R   R   R   R   R   (   t   sqrt5t   sqrt7t   sqrt57(    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_Domain_unify_algebraicç   s    //33//3c           C   s$   t  t d „  ƒ t  t d „  ƒ d  S(   Nc           S   s    t  t t f j t  t t f ƒ S(   N(   R	   R   R   t   unify_with_symbolsR   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   <lambda>û   t    c           S   s    t  j t  t t f t t f ƒ S(   N(   R	   R(   R   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyR)   ü   R*   (   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_Domain_unify_with_symbolsú   s    c           C   sÿ  d t  k t k s t ‚ d t k t k s0 t ‚ d t k t k sH t ‚ d t k t k s` t ‚ d t k t k sx t ‚ d t k t k s t ‚ d t t t	 f k t k s² t ‚ d t t t	 f k t k sÔ t ‚ d t t t	 f k t k sö t ‚ d t  k t k st ‚ d t k t k s&t ‚ d t k t k s>t ‚ d t k t k sVt ‚ d t k t k snt ‚ d t k t k s†t ‚ d t t t	 f k t k s¨t ‚ d t t t	 f k t k sÊt ‚ d t t t	 f k t k sìt ‚ d t  k t k st ‚ d t k t k st ‚ d t k t k s4t ‚ d t k t k sLt ‚ d t k t k sdt ‚ d t k t k s|t ‚ d t t t	 f k t k sžt ‚ d t t t	 f k t k sÀt ‚ d t t t	 f k t k sât ‚ t
 d ƒ d t  k t k st ‚ t
 d ƒ d t k t k s(t ‚ t
 d ƒ d t k t k sKt ‚ t
 d ƒ d t k t k snt ‚ t
 d ƒ d t k t k s‘t ‚ t
 d ƒ d t k t k s´t ‚ t
 d ƒ d t t t	 f k t k sát ‚ t
 d ƒ d t t t	 f k t k st ‚ t
 d ƒ d t t t	 f k t k s;t ‚ t
 d ƒ d t  k t k s]t ‚ t
 d ƒ d t k t k st ‚ t
 d ƒ d t k t k s¡t ‚ t
 d ƒ d t k t k sÃt ‚ t
 d ƒ d t k t k såt ‚ t
 d ƒ d t k t k st ‚ t
 d ƒ d t t t	 f k t k s3t ‚ t
 d ƒ d t t t	 f k t k s_t ‚ t
 d ƒ d t t t	 f k t k s‹t ‚ d t  k t k s£t ‚ d t k t k s»t ‚ d t k t k sÓt ‚ d t k t k sët ‚ d t k t k st ‚ d t k t k st ‚ d t t t	 f k t k s=t ‚ d t t t	 f k t k s_t ‚ d t t t	 f k t k st ‚ d	 t  k t k s™t ‚ d	 t k t k s±t ‚ d	 t k t k sÉt ‚ d	 t k t k sát ‚ d	 t k t k sùt ‚ d	 t k t k st ‚ d	 t t t	 f k t k s3t ‚ d	 t t t	 f k t k sUt ‚ d	 t t t	 f k t k swt ‚ t t  k t k st ‚ t t k t k s§t ‚ t t k t k s¿t ‚ t t k t k s×t ‚ t t k t k sït ‚ t t k t k st ‚ t t t t	 f k t k s)t ‚ t t t t	 f k t k sKt ‚ t t t t	 f k t k smt ‚ t t  k t k s†t ‚ t t k t k sŸt ‚ t t k t k s¸t ‚ t t k t k sÑt ‚ t t k t k sêt ‚ t t k t k s	t ‚ t t t t	 f k t k s&	t ‚ t t t t	 f k t k sI	t ‚ t t t t	 f k t k sl	t ‚ t d ƒ t  k t k sŠ	t ‚ t d ƒ t k t k s¨	t ‚ t d ƒ t k t k sÆ	t ‚ t d ƒ t k t k sä	t ‚ t d ƒ t k t k s
t ‚ t d ƒ t k t k s 
t ‚ t d ƒ t t t	 f k t k sH
t ‚ t d ƒ t t t	 f k t k sp
t ‚ t d ƒ t t t	 f k t k s˜
t ‚ d
 t d ƒ d t  k t k s¾
t ‚ d
 t d ƒ d t k t k sä
t ‚ d
 t d ƒ d t k t k s
t ‚ d
 t d ƒ d t k t k s0t ‚ d
 t d ƒ d t k t k sVt ‚ d
 t d ƒ d t k t k s|t ‚ d
 t d ƒ d t t t	 f k t k s¬t ‚ d
 t d ƒ d t t t	 f k t k sÜt ‚ d
 t d ƒ d t t t	 f k t k st ‚ t d ƒ t  k t k s*t ‚ t d ƒ t k t k sHt ‚ t d ƒ t k t k sft ‚ t d ƒ t k t k s„t ‚ t d ƒ t k t k s¢t ‚ t d ƒ t k t k sÀt ‚ t d ƒ t t t	 f k t k sèt ‚ t d ƒ t t t	 f k t k st ‚ t d ƒ t t t	 f k t k s8t ‚ t d
 d t  k t k sXt ‚ t d
 d t k t k sxt ‚ t d
 d t k t k s˜t ‚ t d
 d t k t k s¸t ‚ t d
 d t k t k sØt ‚ t d
 d t k t k søt ‚ t d
 d t t k t k st ‚ t d
 d t t k t k s@t ‚ t d
 d t t k t k sdt ‚ t d
 d t t t	 f k t k sŽt ‚ t d
 d t t t	 f k t k s¸t ‚ t d
 d t t t	 f k t k sât ‚ t d
 t	 d
 t  k t k st ‚ t d
 t	 d
 t k t k s*t ‚ t d
 t	 d
 t k t k sNt ‚ t d
 t	 d
 t k t k srt ‚ t d
 t	 d
 t k t k s–t ‚ t d
 t	 d
 t k t k sºt ‚ t d
 t	 d
 t t k t k sât ‚ t d
 t	 d
 t t k t k s
t ‚ t d
 t	 d
 t t k t k s2t ‚ t d
 t	 d
 t t t	 f k t k s`t ‚ t d
 t	 d
 t t t	 f k t k sŽt ‚ t d
 t	 d
 t t t	 f k t k s¼t ‚ t
 d ƒ d
 t t	 d t t t t	 t f k t k sût ‚ d  S(   Ni    iùÿÿÿi   i   i   i   i   g      @g…ëQ¸	@i   (   R   t   TrueR   R	   R
   R   R   R   R   R   R    t   FalseR   R   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_Domain__contains__þ   s
   """""""""######---"""""",,,"""""""""###(((&&&&&&000(((      $$$***$$$$$$(((...c           C   s	  t  j t k s t ‚ t j t k s* t ‚ t  t j t k sC t ‚ t t j t k s\ t ‚ t  t t f j t k s{ t ‚ t t t f j t k sš t ‚ t  j t ƒ j t k s¸ t ‚ t j t ƒ j t k sÖ t ‚ t  j t t ƒ j t k s÷ t ‚ t j t t ƒ j t k st ‚ t j t	 k s-t ‚ t
 j t	 k sBt ‚ t j t	 k sWt ‚ t  j ƒ  t  k sot ‚ t j ƒ  t  k s‡t ‚ t  t j ƒ  t  t k s§t ‚ t t j ƒ  t t k sÇt ‚ t  t t f j ƒ  t  t t f k sót ‚ t t t f j ƒ  t t t f k st ‚ t  j t ƒ j ƒ  t  t k sDt ‚ t j t ƒ j ƒ  t t k sit ‚ t  j t t ƒ j ƒ  t  t t f k s—t ‚ t j t t ƒ j ƒ  t t t f k sÅt ‚ t j ƒ  t k sÝt ‚ t
 j ƒ  t
 k sõt ‚ t t d „  ƒ d  S(   Nc           S   s
   t  j ƒ  S(   N(   R   t   get_ring(    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyR)   ³  R*   (   R	   t   has_assoc_RingR,   R   R
   R   R   R   R   R-   R   R   R/   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_Domain_get_ring”  s4    !!  ,,%%..c           C   sû  t  j t k s t ‚ t j t k s* t ‚ t j t k s? t ‚ t j t k sT t ‚ t j t k si t ‚ t t j t k s‚ t ‚ t t j t k s› t ‚ t t t	 f j t k sº t ‚ t t t	 f j t k sÙ t ‚ t  j
 ƒ  t  k sñ t ‚ t j
 ƒ  t k s	t ‚ t j
 ƒ  t k s!t ‚ t j
 ƒ  t k s9t ‚ t j
 ƒ  t k sQt ‚ t t j
 ƒ  t j t ƒ k svt ‚ t t j
 ƒ  t j t ƒ k s›t ‚ t t t	 f j
 ƒ  t j t t	 ƒ k sÉt ‚ t t t	 f j
 ƒ  t j t t	 ƒ k s÷t ‚ d  S(   N(   R   t   has_assoc_FieldR,   R   R	   R
   R   R   R   R   t	   get_fieldR   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_Domain_get_field¶  s$    %%.c           C   sÈ  t  j ƒ  t  k s t ‚ t j ƒ  t k s0 t ‚ t j ƒ  t k sH t ‚ t j ƒ  t k s` t ‚ t j ƒ  t k sx t ‚ t t j ƒ  t t k s˜ t ‚ t t j ƒ  t t k s¸ t ‚ t t t f j ƒ  t t t f k sä t ‚ t t t f j ƒ  t t t f k st ‚ t j	 t ƒ j ƒ  t j	 t ƒ k s:t ‚ t j	 t ƒ j ƒ  t j	 t ƒ k sdt ‚ t j	 t t ƒ j ƒ  t j	 t t ƒ k s”t ‚ t j	 t t ƒ j ƒ  t j	 t t ƒ k sÄt ‚ d  S(   N(
   R   t	   get_exactR   R	   R
   R   R   R   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_Domain_get_exactÌ  s      ,,**0c          C   s„   t  j d ƒ t  d d ƒ k s$ t ‚ t d t ƒ \ }  } t j | | ƒ d k sX t ‚ t j | | |  j ƒ  ƒ d k s€ t ‚ d  S(   NgL“oûñW5IÓ$ÄÛ~ü l                                R   i    (   R
   t   convertR   R   R	   t	   to_domain(   t   RR   (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_Domain_convertÜ  s    $c          C   s4   t  d t ƒ \ }  t j ƒ  |  j ƒ  k s0 t ‚ d  S(   NR*   (   R   R	   R!   R8   R   (   R9   (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_PolynomialRing__initä  s    c          C   s4   t  d t ƒ \ }  t j ƒ  |  j ƒ  k s0 t ‚ d  S(   NR*   (   R   R	   R   R8   R   (   t   F(    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_FractionField__inité  s    c           C   s§   t  j t t t ƒ t  t t t f k s. t ‚ t  t j t t ƒ t  t t t f k s] t ‚ t  j t ƒ j t t ƒ t  j t t t ƒ k s“ t ‚ t t d „  ƒ d  S(   Nc           S   s   t  t j t ƒ S(   N(   R	   R   t   inject(    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyR)   ò  R*   (	   R	   R>   R   R   R   R   R   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_injectî  s    ./6c          C   s‹   t  j d d d d g ƒ }  t d „  |  Dƒ ƒ s7 t ‚ t  j d d d d g g ƒ }  t d „  |  d Dƒ ƒ r t |  ƒ d k s‡ t ‚ d  S(   Ni   i   i   i   c         s   s   |  ] } t  j | ƒ Vq d  S(   N(   R	   t   of_type(   t   .0t   elt(    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pys	   <genexpr>ø  s    c         s   s   |  ] } t  j | ƒ Vq d  S(   N(   R	   R@   (   RA   RB   (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pys	   <genexpr>ü  s    i    (   R	   t   mapt   allR   t   len(   t   seq(    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_Domain_mapõ  s    c           C   s‘  t  t t f t  t t f k t k s, t ‚ t t t f t t t f k t k sX t ‚ t  t t f t t t f k t k s„ t ‚ t t t f t  t t f k t k s° t ‚ t  j t t ƒ t  j t t ƒ k t k sà t ‚ t j t t ƒ t j t t ƒ k t k st ‚ t  j t t ƒ t j t t ƒ k t k s@t ‚ t j t t ƒ t  j t t ƒ k t k spt ‚ t ƒ  t t	 t k st ‚ d  S(   N(
   R	   R   R   R,   R   R
   R-   R   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_Domain___eq__ÿ  s    ,,,,0000c          C   s   t  j t d ƒ ƒ }  |  j j t t d d ƒ k s; t ‚ |  j t	 k sP t ‚ t	 j t d ƒ ƒ }  |  j j t t d d ƒ k s‹ t ‚ |  j t	 k s  t ‚ |  j t d ƒ ƒ }  |  j j t t d d t d d ƒ k sç t ‚ |  j t	 k sü t ‚ d  S(   Ni   i   i   i
   i   (
   R	   R#   R   t   extt   minpolyR   R   R   t   domR
   (   t   alg(    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_Domain__algebraic_field  s    &&2c    	      C   s$  t  d t ƒ \ }  } } t d t ƒ \ } } } | d | d | d } | d | d d } | d | d } | j ƒ  j | |  j ƒ  ƒ d  k sœ t ‚ | j ƒ  j | |  j ƒ  ƒ | d d | d d k sÚ t ‚ | j ƒ  j | |  j ƒ  ƒ | d | d k st ‚ t  d t ƒ \ }  } } t d t ƒ \ } } } | d | d | d } | d | d d } | d | d } | j ƒ  j | |  j ƒ  ƒ d  k s¬t ‚ | j ƒ  j | |  j ƒ  ƒ | d d | d d k sêt ‚ | j ƒ  j | |  j ƒ  ƒ | d | d k s t ‚ d  S(   Ns   x,yi   i   i   (   R   R	   R   R8   t   from_FractionFieldt   NoneR   R
   (	   R<   R   R   R9   t   Xt   Yt   ft   gt   h(    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt&   test_PolynomialRing_from_FractionField  s     *>6*>c          C   sè   t  d t ƒ \ }  } } t d t ƒ \ } } } d | d d | d } | d d | d d } | j ƒ  j | |  j ƒ  ƒ d | d d | d k s¢ t ‚ | j ƒ  j | |  j ƒ  ƒ d | d d | d d k sä t ‚ d  S(   Ns   x,yi   i   i   i   (   R   R
   R   R	   R8   t   from_PolynomialRingR   (   R9   R   R   R<   RP   RQ   RR   RS   (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt&   test_FractionField_from_PolynomialRing4  s    >c           C   s‹   t  d ƒ j t  d ƒ d ƒ ƒ t k s- t ‚ t  d ƒ j t  d ƒ d ƒ ƒ t k sZ t ‚ t  d ƒ j t  d ƒ d ƒ ƒ t k s‡ t ‚ d  S(   Ni   i   i   i   (   R   R@   R,   R   R-   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_FF_of_type>  s    --c           C   sD   t  t t t k s t ‚ t  j t ƒ t j t ƒ k s@ t ‚ d  S(   N(   R
   R   R	   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test___eq__D  s    c           C   s5  t  j t d ƒ ƒ t  j d ƒ k s* t ‚ t  j t d ƒ ƒ t  j d ƒ k sT t ‚ t  j t d ƒ ƒ t  j d ƒ k s~ t ‚ t  j t d ƒ ƒ t  j d ƒ k s¨ t ‚ t  j t d ƒ ƒ t  j t d ƒ j ƒ  ƒ k sÞ t ‚ t  j t ƒ t  d ƒ k sÿ t ‚ t  j t ƒ t  d ƒ k s!t ‚ t t	 d „  ƒ d  S(   Ni    g        i   g      ð?s   +infs   -infc           S   s   t  j t ƒ S(   N(   R   R7   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyR)   Q  R*   (
   R   R7   R    t   dtypeR   R   t   evalfR   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_RealField_from_sympyI  s    ****6!"c             sŠ  t  d ƒ }  |  d ƒ } t | |  j ƒ r6 | d k s< t ‚ |  d ƒ } t | |  j ƒ rf | d k sl t ‚ |  d ƒ } t | |  j ƒ r– | d k sœ t ‚ |  d ƒ } t | |  j ƒ rÆ | d k sÌ t ‚ |  d ƒ } t | |  j ƒ rö | d k sü t ‚ |  |  d ƒ ƒ } t | |  j ƒ r,| d k s2t ‚ |  |  d ƒ ƒ } t | |  j ƒ rb| d k sht ‚ |  |  d ƒ ƒ } t | |  j ƒ r˜| d k sžt ‚ |  |  d ƒ ƒ } t | |  j ƒ rÎ| d k sÔt ‚ |  |  d ƒ ƒ } t | |  j ƒ r| d k s
t ‚ |  d ƒ } t | |  j ƒ r5| d k s;t ‚ |  d ƒ } t | |  j ƒ rf| d k slt ‚ d |  d ƒ } t | |  j ƒ rš| d k s t ‚ |  d ƒ d } t | |  j ƒ rÎ| d k sÔt ‚ |  d ƒ |  d ƒ } t | |  j ƒ r| d k st ‚ |  d ƒ |  d ƒ } t | |  j ƒ rB| d k sHt ‚ d |  d ƒ } t | |  j ƒ rv| d k s|t ‚ |  d ƒ d } t | |  j ƒ rª| d k s°t ‚ |  d ƒ |  d ƒ } t | |  j ƒ rä| d k sêt ‚ |  d ƒ |  d ƒ } t | |  j ƒ r| d k s$t ‚ d |  d ƒ } t | |  j ƒ rR| d k sXt ‚ |  d ƒ d } t | |  j ƒ r†| d k sŒt ‚ |  d ƒ |  d ƒ } t | |  j ƒ rÀ| d k sÆt ‚ |  d ƒ |  d ƒ } t | |  j ƒ rú| d k s t ‚ d |  d ƒ } t | |  j ƒ r.| d k s4t ‚ |  d ƒ d } t | |  j ƒ rb| d k sht ‚ |  d ƒ |  d ƒ } t | |  j ƒ rœ| d k s¢t ‚ |  d ƒ |  d ƒ } t | |  j ƒ rÖ| d k sÜt ‚ d |  d ƒ } t | |  j ƒ r
| d k st ‚ |  d ƒ d } t | |  j ƒ r>| d k sDt ‚ |  d ƒ |  d ƒ } t | |  j ƒ rx| d k s~t ‚ |  d ƒ |  d ƒ } t | |  j ƒ r²| d k s¸t ‚ |  d ƒ d } t | |  j ƒ ræ| d k sìt ‚ |  d ƒ d } t | |  j ƒ r| d k s t ‚ |  d ƒ d } t | |  j ƒ rN| d k sTt ‚ t  d ƒ } | d ƒ d } t | | j ƒ rŽ| d k s”t ‚ | d ƒ d } t | | j ƒ rÂ| d k sÈt ‚ | d ƒ t d ƒ } t | | j ƒ rü| d k st ‚ t |  d ƒ ƒ t k s t ‚ t |  d ƒ ƒ t k s>t ‚ t  d	 ƒ ‰  ˆ  d ƒ d
 } t | ˆ  j ƒ rx| d k s~t ‚ ˆ  d ƒ d
 } t | ˆ  j ƒ r¬| d k s²t ‚ ˆ  d ƒ d
 } t | ˆ  j ƒ rà| d k sæt ‚ ˆ  d ƒ d
 } t | ˆ  j ƒ r	| d k s	t ‚ ˆ  d ƒ ˆ  d ƒ k  t k s>	t ‚ ˆ  d ƒ ˆ  d ƒ k t k sb	t ‚ ˆ  d ƒ ˆ  d ƒ k t k s†	t ‚ ˆ  d ƒ ˆ  d ƒ k t k sª	t ‚ ˆ  d ƒ ˆ  d ƒ k  t k sÎ	t ‚ ˆ  d ƒ ˆ  d ƒ k t k sò	t ‚ ˆ  d ƒ ˆ  d ƒ k t k s
t ‚ ˆ  d ƒ ˆ  d ƒ k t k s:
t ‚ ˆ  d ƒ ˆ  d ƒ k  t k s^
t ‚ ˆ  d ƒ ˆ  d ƒ k t k s‚
t ‚ ˆ  d ƒ ˆ  d ƒ k t k s¦
t ‚ ˆ  d ƒ ˆ  d ƒ k t k sÊ
t ‚ ˆ  d ƒ ˆ  d ƒ k  t k sî
t ‚ ˆ  d ƒ ˆ  d ƒ k t k st ‚ ˆ  d ƒ ˆ  d ƒ k t k s6t ‚ ˆ  d ƒ ˆ  d ƒ k t k sZt ‚ ˆ  d ƒ d k  t k sxt ‚ ˆ  d ƒ d k t k s–t ‚ ˆ  d ƒ d k t k s´t ‚ ˆ  d ƒ d k t k sÒt ‚ ˆ  d ƒ d k  t k sðt ‚ ˆ  d ƒ d k t k st ‚ ˆ  d ƒ d k t k s,t ‚ ˆ  d ƒ d k t k sJt ‚ ˆ  d ƒ d k  t k sht ‚ ˆ  d ƒ d k t k s†t ‚ ˆ  d ƒ d k t k s¤t ‚ ˆ  d ƒ d k t k sÂt ‚ ˆ  d ƒ d k  t k sàt ‚ ˆ  d ƒ d k t k sþt ‚ ˆ  d ƒ d k t k st ‚ ˆ  d ƒ d k t k s:t ‚ t t	 ‡  f d †  ƒ t t	 ‡  f d †  ƒ t t
 d „  ƒ t t
 d „  ƒ d  S(   Ni   i    i   i   i   i   I èvH   I ‰·èÿÿÿi   iÿÿÿÿc              s   ˆ  d ƒ d S(   Ni    iÿÿÿÿ(    (    (   t   F5(    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyR)   å  R*   c              s   ˆ  d ƒ d S(   Ni   iÿÿÿÿ(    (    (   R]   (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyR)   æ  R*   c           S   s
   t  d ƒ S(   Ni    (   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyR)   è  R*   c           S   s
   t  d ƒ S(   NgÍÌÌÌÌÌ @(   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyR)   é  R*   (   R   t
   isinstanceRZ   R   R    t   boolR-   R,   R   R   t
   ValueError(   R   t   at   F7(    (   R]   sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_ModularIntegerT  sú    $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$c           C   sF   t  t d d	 ƒ ƒ d k s! t ‚ t  t d
 d ƒ ƒ d k sB t ‚ d  S(   Ni   iÐ  i   iâ  ió id   l   UUª*UUª*UUª*Ul†                                                                                                                                                                                                                                                                               l…   ‰qi2Ï+Ñ}ÄBÄ>h¡EjÇyÔg‹3+pëc3Ñ–¶hIf7®ÖA|sŒ v~è]ŠIú"¢Y‘xñ9xymËh+ey¥|3eè3NŠ2 <|b…Y­,ÜtLV°B/.¡d7FZ—{èmLf	þr‹M™g[gîK	}ê$˜5ÃzÜRêR[J›9	“cgçyÅ^BŸ&–<½*ö	&&ñ*Btë; n11sWK“/‹ ÕfYù H{na“bÀvÉrÆ;WFbkiADàLž$áEl µ&¦0¾ª#V$w¾¨Hîkò-[b71´& l                (   t   intR
   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_QQ_intë  s    !c           C   s”   t  d ƒ d k s t ‚ t  d ƒ d k s0 t ‚ t  d ƒ d k sH t ‚ t  d ƒ d k s` t ‚ t  d ƒ d k sx t ‚ t  d ƒ d k s t ‚ d  S(   Ng…ëQ¸	@g¸ÔJzî5g‚vIhÂ%<=g›+¡†›„=gVçž¯Ò<g#B’¡œÇ;gœWw'&l¡7(   R   R   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_RR_doubleï  s    c          C   sÈ   t  d ƒ }  t  d ƒ } |  j d k s- t ‚ | j d k sB t ‚ t |  ƒ d d k s^ t ‚ t | ƒ d d k  sz t ‚ t d | j ƒ } | |  ƒ d d k s¨ t ‚ | | ƒ d d k sÄ t ‚ d  S(   Ns   1.01s   1.0000000000000000000001i5   iP   i   g¸ÔJzî5t   prec(   R   t   _precR   R   R   (   t   f1t   f2t   RR2(    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_RR_Float÷  s    c           C   sH  t  d ƒ j d k s t ‚ t  d ƒ j d k s6 t ‚ t  d ƒ j d k sQ t ‚ t  d ƒ j d k sl t ‚ t  d ƒ j d k s‡ t ‚ t  d ƒ j d k s¢ t ‚ t  d ƒ j d k s½ t ‚ t  d	 ƒ j d k sØ t ‚ t  d
 ƒ j d k só t ‚ t  d ƒ j d k st ‚ t  d ƒ j d k s)t ‚ t  d ƒ j d k sDt ‚ d  S(   Ng…ëQ¸	@g¸ÔJzî5g‚vIhÂ%<=g›+¡†›„=gVçž¯Ò<g#B’¡œÇ;gœWw'&l¡7y        …ëQ¸	@y        ‚vIhÂ%<=y        ›+¡†›„=y        Vçž¯Ò<y        #B’¡œÇ;y        œWw'&l¡7(   R   t   realR   t   imag(    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   test_CC_double  s    N(>   t   __doc__t   sympyR    R   R   R   R   R   t	   sympy.abcR   R   R   t   sympy.polys.domainsR	   R
   R   R   R   R   R   t   sympy.polys.domains.realfieldR   t   sympy.polys.ringsR   t   sympy.polys.fieldsR   t   sympy.polys.polyerrorsR   R   R   R   R   t   sympy.utilities.pytestR   R#   R   R   R    R"   R'   R+   R.   R1   R4   R6   R:   R;   R=   R?   RG   RH   RM   RU   RW   RX   RY   R\   Rc   Re   Rf   Rl   Ro   (    (    (    sE   lib/python2.7/site-packages/sympy/polys/domains/tests/test_domains.pyt   <module>   sF   .4(		T	y			–	"							
				
				—			