ó
~9­\c           @   s³  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 m Z m Z m Z d  d l m Z d  d l 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& d  d l' m( Z( d  d l) m* Z* e d	 ƒ \ Z+ Z, i  Z- e d
 e- ƒ 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 „  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/ „  ZR d0 „  ZS d1 „  ZT d2 „  ZU d3 S(4   iÿÿÿÿ(   t   raises(   t   symbolst   Functiont   Integert   Matrixt   Abst   Rationalt   Floatt   St   WildFunctiont   ImmutableDenseMatrixt   sint   truet   falset   onest   sqrtt   roott   AlgebraicNumbert   Symbolt   Dummyt   Wildt   MatrixSymbol(   t   exec_(   t   Pointt   Ellipse(   t   srepr(   t   ringt   fieldt   ZZt   QQt   lext   grlext   Poly(   t   DMP(   t   FiniteExtensions   x,ys   from sympy import *c         C   s7   t  |  ƒ | k s t ‚ t | t ƒ |  k s3 t ‚ d S(   s†   
    sT := sreprTest

    Tests that srepr delivers the expected string and that
    the condition eval(srepr(expr))==expr holds.
    N(   R   t   AssertionErrort   evalt   ENV(   t   exprt   string(    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   sT   s    c          C   s8   d t  f d „  ƒ  Y}  t |  t ƒ ƒ d k s4 t ‚ d  S(   Nt   Rc           B   s   e  Z d  „  Z RS(   c         S   s   d | j  |  j d ƒ S(   Ns   foo(%s)i    (   t   _printt   args(   t   selft   printer(    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt
   _sympyrepr!   s    (   t   __name__t
   __module__R.   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyR)       s   s   foo(Symbol('x'))(   R   R   t   xR#   (   R)   (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_printmethod   s    c           C   sa   t  t t d ƒ t t d d d d ƒd k s7 t ‚ t t d d d d ƒd k s] t ‚ d  S(	   Ns   Add(Symbol('x'), Symbol('y'))i   i   t   orderR   s-   Add(Pow(Symbol('x'), Integer(2)), Integer(1))t   olds-   Add(Integer(1), Pow(Symbol('x'), Integer(2)))(   R(   R1   t   yR   R#   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_Add&   s    &c          C   sa   d d l  m }  m } xD |  | f D]6 } | t d ƒ Œ  } t t | ƒ ƒ | k s# t ‚ q# Wd  S(   Niÿÿÿÿ(   t   Addt   Muls   x:256(   t   sympyR7   R8   R   R$   R   R#   (   R7   R8   t   opR&   (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt#   test_more_than_255_args_issue_10259,   s    c           C   sP   t  t d ƒ t ƒ d ƒ t  t d ƒ d ƒ t  t t ƒ d ƒ t  t d ƒ d  S(   Nt   fs   Function('f')(Symbol('x'))s   Function('f')s   sin(Symbol('x'))R   (   R(   R   R1   R   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_Function3   s    c           C   s<   t  t d d ƒ d ƒ t  t t d d ƒ d d ƒ d ƒ d  S(   Ni    s   Point2D(Integer(0), Integer(0))i   i   s@   Ellipse(Point2D(Integer(0), Integer(0)), Integer(5), Integer(1))(   R(   R   R   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_Geometry;   s    c           C   sô   t  t j d ƒ t  t j d ƒ t  t j d ƒ t  t j d ƒ t  t j d ƒ t  t j d ƒ t  t j d ƒ t  t j	 d ƒ t  t j
 d	 ƒ t  t j d
 ƒ t  t j d ƒ t  t j d ƒ t  t j d ƒ t  t j d ƒ t  t j d ƒ d  S(   Nt   Catalant   zoot
   EulerGammat   Et   GoldenRatiot   TribonacciConstants   Rational(1, 2)t   It   oot   nans   -oos   Integer(-1)s
   Integer(1)t   pis
   Integer(0)(   R(   R   R?   t   ComplexInfinityRA   t   Exp1RC   RD   t   Halft   ImaginaryUnitt   Infinityt   NaNt   NegativeInfinityt   NegativeOnet   Onet   Pit   Zero(    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_SingletonsB   s    c           C   s   t  t d ƒ d ƒ d  S(   Ni   s
   Integer(4)(   R(   R   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_IntegerT   s    c           C   s   t  t t d ƒ g d ƒ d  S(   Ni   s   [Symbol('x'), Integer(4)](   R(   R1   R   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt	   test_listX   s    c          C   s¥   xž t  d f t d f g D]„ \ }  } t |  t d 
d g t t t g g ƒ d | ƒ t |  ƒ  d | ƒ t |  t d 
d g t t t g g ƒ d | ƒ q Wd  S(   Nt   MutableDenseMatrixR
   i   sM   %s([[Symbol('x'), Integer(1)], [Symbol('y'), Add(Symbol('x'), Symbol('y'))]])s   %s([])(   R   R
   R(   R1   R5   (   t   clst   name(    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_Matrix\   s
    %'c           C   sF   t  t d d ƒ d ƒ t  t d d ƒ d ƒ t  t d d ƒ d ƒ d  S(   Ni    i   s   MutableDenseMatrix(0, 3, [])i   s   MutableDenseMatrix(4, 0, [])s   MutableDenseMatrix([])(   R(   R   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_empty_Matrixf   s    c           C   s0   t  t d d ƒ d ƒ t  t d d ƒ d ƒ d  S(   Ni   i   s   Rational(1, 3)iÿÿÿÿs   Rational(-1, 3)(   R(   R   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_Rationall   s    c           C   sâ   t  t d d d ƒd ƒ t  t d d d ƒd ƒ t  t d d d	 ƒd
 ƒ t  t d d d ƒd ƒ t  t d d d ƒd ƒ t  t d d d ƒd ƒ t  t d d d ƒd
 ƒ t  t d d d ƒd ƒ t  t d d ƒ d ƒ d  S(   Ns   1.23t   dpsi   s   Float('1.22998', precision=13)s
   1.23456789i	   s$   Float('1.23456788994', precision=33)s   1.234567890123456789i   s.   Float('1.234567890123456789013', precision=66)s   0.60038617995049726i   s*   Float('0.60038617995049726', precision=53)t	   precisioni   i!   iB   i5   (   R(   R   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt
   test_Floatq   s    c           C   s7   t  t d ƒ t  t d ƒ t  t d d t ƒd ƒ d  S(   Ns   Symbol('x')s   Symbol('y')R1   t   negatives   Symbol('x', negative=True)(   R(   R1   R5   R   t   True(    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_Symbol…   s    c          C   sg   t  d d d d d ƒ}  d } d } t |  ƒ | | f k sB t ‚ t t |  ƒ t ƒ |  k sc t ‚ d  S(   NR1   R`   i    t   integeri   s)   Symbol('x', integer=True, negative=False)s)   Symbol('x', negative=False, integer=True)(   R   R   R#   R$   R%   (   R1   t   s1t   s2(    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_Symbol_two_assumptions‹   s
    c           C   s{   t  t d ƒ d ƒ t  t d d t ƒd ƒ t  t d d d ƒd ƒ t  t d d t ƒd ƒ t  t d d d ƒd ƒ d  S(   NR1   s   Symbol('x')t   commutatives   Symbol('x', commutative=False)i    s   Symbol('x', commutative=True)i   (   R(   R   t   FalseRa   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt,   test_Symbol_no_special_commutative_treatment”   s
    c           C   s   t  t d d t ƒd ƒ d  S(   NR1   t   evens   Wild('x', even=True)(   R(   R   Ra   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt	   test_Wildœ   s    c          C   s*   t  d ƒ }  t |  d t |  j ƒ ƒ d  S(   Nt   ds   Dummy('d', dummy_index=%s)(   R   R(   t   strt   dummy_index(   Rl   (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt
   test_Dummy    s    c          C   sx   t  d d t ƒ}  |  t t |  ƒ ƒ k s0 t ‚ d t |  j ƒ } d t |  j ƒ } t |  ƒ | | f k st t ‚ d  S(   NRl   t   nonzeros(   Dummy('d', dummy_index=%s, nonzero=True)s(   Dummy('d', nonzero=True, dummy_index=%s)(   R   Ra   R$   R   R#   Rm   Rn   (   Rl   Rd   Re   (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_Dummy_assumption¥   s
    c          C   sG   t  d d t ƒ}  |  j ƒ  } t | ƒ d t | j ƒ k sC t ‚ d  S(   Nt   nRc   s   Dummy('n', dummy_index=%s)(   R   Ra   t   as_dummyR   Rm   Rn   R#   (   Rr   Rl   (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_Dummy_from_Symbol­   s    	c           C   s'   t  t f d ƒ t  t t f d ƒ d  S(   Ns   (Symbol('x'),)s   (Symbol('x'), Symbol('y'))(   R(   R1   R5   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt
   test_tupleµ   s    c           C   s   t  t d ƒ d ƒ d  S(   Nt   ws   WildFunction('w')(   R(   R	   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_WildFunctionº   s    c           C   s   t  t d „  ƒ d  S(   Nc           S   s   t  t d d ƒS(   Nt   methodt   garbage(   R   R1   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   <lambda>¿   t    (   R    t	   TypeError(    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_settins¾   s    c           C   sG   t  d t d t d ƒ t d t d t d d ƒd k sC t ‚ d  S(   Ni   s:   Mul(Integer(3), Pow(Symbol('x'), Integer(3)), Symbol('y'))R3   R4   s:   Mul(Integer(3), Symbol('y'), Pow(Symbol('x'), Integer(3)))(   R(   R1   R5   R   R#   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_MulÂ   s    c          C   sE   t  t d ƒ ƒ }  t |  d ƒ t  t d d ƒ ƒ }  t |  d ƒ d  S(   Ni   sJ   AlgebraicNumber(Pow(Integer(2), Rational(1, 2)), [Integer(1), Integer(0)])iþÿÿÿi   sK   AlgebraicNumber(Pow(Integer(-2), Rational(1, 3)), [Integer(1), Integer(0)])(   R   R   R(   R   (   t   a(    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_AlgebraicNumberÆ   s    c           C   s€   t  t d t t ƒ d ƒ d k s( t ‚ t  t d t t ƒ d ƒ d k sP t ‚ t  t d t d t ƒ d ƒ d k s| t ‚ d  S(	   NR1   i    s!   PolyRing((Symbol('x'),), ZZ, lex)s   x,ys/   PolyRing((Symbol('x'), Symbol('y')), QQ, grlex)s   x,y,zt   ts=   PolyRing((Symbol('x'), Symbol('y'), Symbol('z')), ZZ[t], lex)(   R   R   R   R   R#   R   R   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_PolyRingÌ   s    ((c           C   s€   t  t d t t ƒ d ƒ d k s( t ‚ t  t d t t ƒ d ƒ d k sP t ‚ t  t d t d t ƒ d ƒ d k s| t ‚ d  S(	   NR1   i    s"   FracField((Symbol('x'),), ZZ, lex)s   x,ys0   FracField((Symbol('x'), Symbol('y')), QQ, grlex)s   x,y,zR   s>   FracField((Symbol('x'), Symbol('y'), Symbol('z')), ZZ[t], lex)(   R   R   R   R   R#   R   R   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_FracFieldÒ   s    ((c          C   sD   t  d t ƒ \ }  } } t d | d | d ƒ d k s@ t ‚ d  S(   Ns   x,yi   i   i   sV   PolyElement(PolyRing((Symbol('x'), Symbol('y')), ZZ, lex), [((2, 1), 3), ((0, 0), 1)])(   R   R   R   R#   (   R)   R1   R5   (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_PolyElementØ   s    c          C   sP   t  d t ƒ \ }  } } t d | d | d | | d ƒ d k sL t ‚ d  S(   Ns   x,yi   i   i   st   FracElement(FracField((Symbol('x'), Symbol('y')), ZZ, lex), [((2, 1), 3), ((0, 0), 1)], [((1, 0), 1), ((0, 2), -1)])(   R   R   R   R#   (   t   FR1   R5   (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_FracElementÝ   s    c           C   sO   t  t j t ƒ ƒ d k s! t ‚ t  t j t t d t ƒƒ d k sK t ‚ d  S(   Ns1   FractionField(FracField((Symbol('x'),), QQ, lex))R3   s?   FractionField(FracField((Symbol('x'), Symbol('y')), QQ, grlex))(   R   R   t
   frac_fieldR1   R#   R5   R   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_FractionFieldá   s    c           C   st   t  t j t ƒ ƒ d k s! t ‚ t  t t j t ƒ ƒ d k sF t ‚ t  t j t ƒ j t ƒ ƒ d k sp t ‚ d  S(   Ns%   GlobalPolynomialRing(ZZ, Symbol('x'))s(   GlobalPolynomialRing(ZZ[x], Symbol('y'))sT   GlobalPolynomialRing(FractionField(FracField((Symbol('x'),), QQ, lex)), Symbol('y'))(   R   R   t   old_poly_ringR1   R#   R5   R   R‡   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_PolynomialRingBaseè   s    c           C   sX   t  t d d g t ƒ ƒ d k s' t ‚ t  t j t ƒ d d g ƒ ƒ d k sT t ‚ d  S(   Ni   i   s   DMP([1, 2], ZZ)s;   DMP([1, 2], ZZ, ring=GlobalPolynomialRing(ZZ, Symbol('x')))(   R   R!   R   R#   R‰   R1   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_DMPñ   s    'c           C   s3   t  t t t d d t ƒ ƒ ƒ d k s/ t ‚ d  S(   Ni   i   s/   FiniteExtension(Poly(x**2 + 1, x, domain='ZZ'))(   R   R"   R    R1   R#   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_FiniteExtension÷   s     c          C   s<   t  t t d d t ƒ ƒ }  t |  j ƒ d k s8 t ‚ d  S(   Ni   i   su   ExtElem(DMP([1, 0], ZZ, ring=GlobalPolynomialRing(ZZ, Symbol('x'))), FiniteExtension(Poly(x**2 + 1, x, domain='ZZ')))(   R"   R    R1   R   t	   generatorR#   (   t   A(    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_ExtensionElementü   s    c           C   s4   t  t ƒ d k s t ‚ t  t ƒ d k s0 t ‚ d  S(   NR   R   (   R   R   R#   R   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_BooleanAtom  s    c           C   s   t  t j d ƒ d  S(   Nt   Integers(   R(   R   R‘   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_Integers  s    c           C   s   t  t j d ƒ d  S(   Nt   Naturals(   R(   R   R“   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_Naturals  s    c           C   s   t  t j d ƒ d  S(   Nt	   Naturals0(   R(   R   R•   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_Naturals0  s    c           C   s   t  t j d ƒ d  S(   Nt   Reals(   R(   R   R—   (    (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt
   test_Reals  s    c          C   si   t  d d t ƒ}  t d |  |  ƒ } t d |  |  ƒ } t | d ƒ t | | d ƒ t | | d ƒ d  S(   NRr   Rc   RŽ   t   BsO   MatrixSymbol(Symbol('A'), Symbol('n', integer=True), Symbol('n', integer=True))s¨   MatMul(MatrixSymbol(Symbol('A'), Symbol('n', integer=True), Symbol('n', integer=True)), MatrixSymbol(Symbol('B'), Symbol('n', integer=True), Symbol('n', integer=True)))s¨   MatAdd(MatrixSymbol(Symbol('A'), Symbol('n', integer=True), Symbol('n', integer=True)), MatrixSymbol(Symbol('B'), Symbol('n', integer=True), Symbol('n', integer=True)))(   R   Ra   R   R(   (   Rr   RŽ   R™   (    (    s=   lib/python2.7/site-packages/sympy/printing/tests/test_repr.pyt   test_matrix_expressions  s    N(V   t   sympy.utilities.pytestR    R9   R   R   R   R   R   R   R   R   R	   R
   R   R   R   R   R   R   R   R   R   R   R   t   sympy.core.compatibilityR   t   sympy.geometryR   R   t   sympy.printingR   t   sympy.polysR   R   R   R   R   R   R    t   sympy.polys.polyclassesR!   t   sympy.polys.agca.extensionsR"   R1   R5   R%   R(   R2   R6   R;   R=   R>   RT   RU   RV   RZ   R[   R\   R_   Rb   Rf   Ri   Rk   Ro   Rq   Rt   Ru   Rw   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/printing/tests/test_repr.pyt   <module>   sd   ˆ4										
																															