ó
~9­\c           @   s  d  Z  d d l 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 m Z m Z m Z m Z d d l m Z m Z d d l m Z d „  Z d „  Z d	 „  Z d
 „  Z d „  Z d „  Z d „  Z  d „  Z! d „  Z" d „  Z# d S(   sJ   Tests for tools and arithmetics for monomials of distributed polynomials. iÿÿÿÿ(
   t   itermonomialst   monomial_countt   monomial_mult   monomial_divt   monomial_gcdt   monomial_lcmt   monomial_maxt   monomial_mint   monomial_dividest   Monomial(   t   ExactQuotientFailed(   t   at   bt   ct   xt   yt   z(   t   St   symbols(   t   raisesc       *   C   sä  t  g  d ƒ t ƒ  k s t ‚ t  g  d ƒ t d ƒ h k sB t ‚ t  g  d ƒ t d ƒ h k sf t ‚ t  g  d ƒ t d ƒ h k sŠ t ‚ t  g  d ƒ t d ƒ h k s® t ‚ t  t g d ƒ t ƒ  k sÏ t ‚ t  t g d ƒ t d ƒ h k sö t ‚ t  t g d ƒ t d ƒ t h k s t ‚ t  t g d ƒ t d ƒ t t d h k sQt ‚ t  t g d ƒ t d ƒ t t d t d h k s‰t ‚ t  t t g d ƒ t d ƒ h k s³t ‚ t  t t g d ƒ t d ƒ t t h k sãt ‚ t  t t g d ƒ t d ƒ t t t d t d t t h k s(t ‚ t  t t g d ƒ t d ƒ t t t d t d t d t d t t t t d t t d h
 k s‘t ‚ t d d t ƒ\ }  } } t  |  | | g d ƒ t d ƒ h k sÙt ‚ t  |  | | g d ƒ t d ƒ |  | | h k st ‚ t  |  | | g d ƒ t d ƒ |  | | |  d | d | d |  | |  | | |  | | | |  | | h k s„t ‚ t  |  | | g d ƒ t d ƒ |  | | |  d | d | d |  | |  | | |  | | | |  | | |  d | d | d |  d | |  d | | |  d | |  d | d |  | d | |  | d | | d | d |  | d | |  | d | | d |  | |  |  | |  | |  | | | | | |  | | | | |  | | |  | | | |  | | | |  | |  | | | |  h( k st ‚ t  t |  | g d ƒ t d ƒ h k sCt ‚ t  t |  | g d ƒ t d ƒ t |  | h k syt ‚ t  t |  | g d ƒ t d ƒ t |  | t |  t | |  | | |  t d |  d | d h k sàt ‚ t  t |  | g d ƒ t d ƒ t |  | t |  t | |  | | |  t d |  d | d t d |  d | d t d |  t d | t |  d | |  d |  d | |  | |  t | d |  | d | d |  | |  | t |  | t | |  h k sàt ‚ d  S(   Niÿÿÿÿi    i   i   i   s   i j kt   commutative(   R    t   sett   AssertionErrorR   R   R   R   t   False(   t   it   jt   k(    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_monomials.pyt   test_monomials   sL    $$$$!'*18*0EW-6`Q,,,BQ-6gC,,c           C   s:   t  d d ƒ d k s t ‚ t  d d ƒ d k s6 t ‚ d  S(   Ni   i   i   i
   (   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_monomials.pyt   test_monomial_countC   s    c           C   s   t  d d ƒ d	 k s t ‚ d  S(
   Ni   i   i   i   i    i   (   i   i   i   (   i   i   i    (   i   i   i   (   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_monomials.pyt   test_monomial_mulG   s    c           C   s   t  d d ƒ d k s t ‚ d  S(	   Ni   i   i   i   i    (   i   i   i   (   i   i   i    (   i   i   i   (   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_monomials.pyt   test_monomial_divJ   s    c           C   s   t  d d ƒ d k s t ‚ d  S(	   Ni   i   i   i   i    (   i   i   i   (   i   i   i    (   i   i   i    (   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_monomials.pyt   test_monomial_gcdM   s    c           C   s   t  d d ƒ d k s t ‚ d  S(	   Ni   i   i   i   i    (   i   i   i   (   i   i   i    (   i   i   i   (   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_monomials.pyt   test_monomial_lcmP   s    c           C   s"   t  d d	 d
 ƒ d k s t ‚ d  S(   Ni   i   i   i    i   i   i	   (   i   i   i   (   i    i   i   (   i   i   i	   (   i   i   i	   (   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_monomials.pyt   test_monomial_maxS   s    c           C   s"   t  d d	 d
 ƒ d k s t ‚ d  S(   Ni   i   i   i    i   i   i	   (   i   i   i   (   i    i   i   (   i   i   i	   (   i    i   i   (   R   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_monomials.pyt   test_monomial_minV   s    c           C   s:   t  d d	 ƒ t k s t ‚ t  d
 d ƒ t k s6 t ‚ d  S(   Ni   i   i   i   i   i   i    (   i   i   i   (   i   i   i   (   i   i   i   (   i    i   i   (   R   t   TrueR   R   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_monomials.pyt   test_monomial_dividesY   s    c             s(  t  d t t t f ƒ ‰  t  d t t t f ƒ }  ˆ  j ƒ  t d t d t k sX t ‚ |  j ƒ  t d t d k s| t ‚ ˆ  j t t t ƒ t d t d t k s­ t ‚ |  j t t t ƒ t d t d k sÚ t ‚ ˆ  j	 d k sï t ‚ ˆ  j
 t t t f k st ‚ |  j	 d k s"t ‚ |  j
 t t t f k s@t ‚ ˆ  d k sRt ‚ |  d k sdt ‚ ˆ  d k svt ‚ |  d k sˆt ‚ ˆ  d ˆ  d k o§d k n s²t ‚ ˆ  d ˆ  d k oÑd k n sÜt ‚ ˆ  d ˆ  d k oûd k n st ‚ |  d |  d k o%d k n s0t ‚ |  d |  d k oOd k n sZt ‚ |  d |  d k oyd k n s„t ‚ ˆ  d  d k sšt ‚ |  d  d k s°t ‚ ˆ  |  t  d ƒ k sÌt ‚ ˆ  |  t  d ƒ k sèt ‚ ˆ  d t  d ƒ k st ‚ ˆ  d t  d ƒ k s t ‚ ˆ  j |  ƒ t  d ƒ k sAt ‚ ˆ  j |  ƒ t  d ƒ k sbt ‚ ˆ  j d  ƒ t  d! ƒ k sƒt ‚ ˆ  j d" ƒ t  d# ƒ k s¤t ‚ ˆ  d t  d$ ƒ k sÀt ‚ ˆ  d ˆ  k sÖt ‚ ˆ  d t  d% ƒ k sòt ‚ ˆ  d t  d& ƒ k st ‚ t t ‡  f d †  ƒ d  S('   Ni   i   i   i   i    iýÿÿÿiþÿÿÿiÿÿÿÿi   i   i	   i   c              s   ˆ  t  d ƒ S(   Ni   i   i    (   i   i   i    (   R	   (    (   t   m(    s?   lib/python2.7/site-packages/sympy/polys/tests/test_monomials.pyt   <lambda>Ž   t    (   i   i   i   (   i   i   i    (   i   i   i   (   i   i   i    (   i   i   i   (   i   i   i   (   i   i   i    (   i   i   i    (   i   i   (   i   i   (   i   i   i   (   i   i   i   (   i   i   i    (   i   i   i   (   i   i   i    (   i   i   i   (   i   i   i    (   i   i   i   (   i   i   i    (   i   i   i    (   i   i   i    (   i   i   i   (   i    i    i    (   i   i   i   (   i	   i   i   (   R	   R   R   R   t   as_exprR   R   R   R   t	   exponentst   genst   gcdt   lcmR   R
   (   t   n(    (   R%   s?   lib/python2.7/site-packages/sympy/polys/tests/test_monomials.pyt   test_Monomial]   sF    ($1-******!!!!N($   t   __doc__t   sympy.polys.monomialsR    R   R   R   R   R   R   R   R   R	   t   sympy.polys.polyerrorsR
   t	   sympy.abcR   R   R   R   R   R   t
   sympy.coreR   R   t   sympy.utilities.pytestR   R   R   R   R   R   R    R!   R"   R$   R.   (    (    (    s?   lib/python2.7/site-packages/sympy/polys/tests/test_monomials.pyt   <module>   s   F	.	0								