
    sg                     \   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mZ d dlmZmZ d dlmZmZ d dlmZmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dl m!Z! d dl"m#Z# d dl$m%Z%m&Z&  ed      \  Z'Z( ed      Z) ed      Z*d Z+d Z,d Z-d Z.d Z/e&d        Z0d Z1d Z2d Z3d Z4d Z5d Z6y)    )
DerivativeFunction)IRationaloopi)EqGeGtLeLtNe)Symbolsymbols)Abs	conjugate)explog)sqrt)sin)Integral)Matrix)limit)python)raisesXFAILzx,ythetaphic                     t        t        d       dz        dk(  sJ t        t        d       dz        dk(  sJ t        t              dk(  sJ t        t        dz        dk(  sJ t        dt        z        d	k(  sJ t        t        t        d
z  z        dk(  sJ t        t        t        dd      z        dk(  sJ t        t        dz  t        z   dz         dv sJ t        dt        z
        dv sJ t        ddt        z  z
        dv sJ t        dt        dd      t        z  t        z  z
        dv sJ t        t        t        z        dk(  sJ t        t         t        z        dk(  sJ t        t        dz   t        z        dv sJ t        dt        z   t        z        dv sJ t        dt        z  t        dz   z        dk(  sJ t        dt        dd      t        dz   z  z
        dv sJ y )N      ze = Rational(-1, 2)      ze = Rational(-13, 22)e = oozx = Symbol('x')
e = x**2zx = Symbol('x')
e = 1/xz*y = Symbol('y')
x = Symbol('x')
e = y/x**2z&x = Symbol('x')
e = x**Rational(-5, 2))z x = Symbol('x')
e = 1 + x + x**2z x = Symbol('x')
e = x + x**2 + 1z x = Symbol('x')
e = x**2 + x + 1)zx = Symbol('x')
e = 1 - xzx = Symbol('x')
e = -x + 1)zx = Symbol('x')
e = 1 - 2*xzx = Symbol('x')
e = -2*x + 1   )z/y = Symbol('y')
x = Symbol('x')
e = 1 - 3/2*y/xz0y = Symbol('y')
x = Symbol('x')
e = -3/2*y/x + 1z1y = Symbol('y')
x = Symbol('x')
e = 1 - 3*y/(2*x)z'x = Symbol('x')
y = Symbol('y')
e = x/yz(x = Symbol('x')
y = Symbol('y')
e = -x/y)z/y = Symbol('y')
x = Symbol('x')
e = 1/y*(2 + x)z/y = Symbol('y')
x = Symbol('x')
e = 1/y*(x + 2)z/x = Symbol('x')
y = Symbol('y')
e = 1/y*(2 + x)z-x = Symbol('x')
y = Symbol('y')
e = (2 + x)/yz-x = Symbol('x')
y = Symbol('y')
e = (x + 2)/y)z-y = Symbol('y')
x = Symbol('x')
e = y*(1 + x)z-y = Symbol('y')
x = Symbol('x')
e = y*(x + 1)
   z!x = Symbol('x')
e = -5*x/(x + 10))z7x = Symbol('x')
e = Rational(-3, 2)*x + Rational(-1, 2),x = Symbol('x')
e = -3*x/2 + Rational(-1, 2)r)   )r   r   r   xy     S/var/www/html/venv/lib/python3.12/site-packages/sympy/printing/tests/test_python.pytest_python_basicr/      s8   8A;,q.!%::::8B<-"#'>>>>":!!! !Q$<8888!A#;4444!ArE'?LLLL	8B?HI I I !Q$(Q, $/ / / / !a%= ' ' ' ' !ac'? ) ) ) ) !hq!nQ&q(() .? ? ? ? !A#;EEEE1"Q$<GGGG1q5!) !; ; ; ; 1q5!) != = = =
 "Q$B- $HHHH!hq!na!e,,- 2   r-   c                      t        dt        d      z        dk(  sJ t        dt        d      z  dt        d      z  z         dk(  sJ t        dt        d      z   t        d      d	      z         d
k(  sJ y )N   lambdaz(lambda_ = Symbol('lambda')
e = 5*lambda_   lambda_zRlambda__ = Symbol('lambda')
lambda_ = Symbol('lambda_')
e = 7*lambda_ + 5*lambda__forfor_   zCfor__ = Symbol('for')
for_ = Function('for_')
e = 5*for__ + for_(8))r   r   r   r,   r-   r.   (test_python_keyword_symbol_name_escapingr8   I   s    	&
JK K K1VH%%&*;(;;<bc d c1VE]?%5Xf%5a%889ST U Tr-   c                  H    t        d t        d      d      z        dk(  sJ y )Nr1   r5   r7   z$for_ = Function('for')
e = 5*for_(8))r   r   r,   r-   r.   *test_python_keyword_function_name_escapingr:   S   s2    	/(5/!
!HI I Ir-   c                     t        t        t        t                    dk(  sJ t        t	        t        t                    dk(  sJ t        t        t        t                    dk(  sJ t        t        t        t                    dk(  sJ t        t        t        t                    dk(  sJ t        t        t        t        dz   z  t        dz              dv sJ y )	Nz,x = Symbol('x')
y = Symbol('y')
e = Eq(x, y)z*x = Symbol('x')
y = Symbol('y')
e = x >= yz*x = Symbol('x')
y = Symbol('y')
e = x <= yz)x = Symbol('x')
y = Symbol('y')
e = x > yz)x = Symbol('x')
y = Symbol('y')
e = x < yr    r!   )z7x = Symbol('x')
y = Symbol('y')
e = Ne(x/(1 + y), y**2)z7x = Symbol('x')
y = Symbol('y')
e = Ne(x/(y + 1), y**2))	r   r	   r*   r+   r
   r   r   r   r   r,   r-   r.   test_python_relationalr<   X   s    "Q(OOOO"Q(MMMM"Q(MMMM"Q(LLLL"Q(LLLL"QAY1%& +E E E Er-   c                     t        dt        z  t        t              z         dv sJ t        t        d            dk(  sJ t        dt	        dd      z        dk(  sJ t        t        dt
        z               dk(  sJ t        dt
        z   t	        dd      z        dk(  sJ t        dt	        dd	      z        d
k(  sJ t        t        t                    dk(  sJ t        t        t        t        dz  dz   z              dv sJ t        d      } t         | t                    dk(  sJ t         | t        t                    dk(  sJ t         | t        t        dz   z  t                    dv sJ t        t        t        t        dz         dz               dv sJ t        t        dz   t	        dd      z  dz   t	        dd      z        dv sJ t        t        t              dz        dk(  sJ y )Nr!   z x = Symbol('x')
e = 2*x + exp(x)ze = sqrt(2)r    r'   ze = 2**Rational(1, 3)ze = sqrt(2 + pi)ze = (2 + pi)**Rational(1, 3)   ze = 2**Rational(1, 4)zx = Symbol('x')
e = Abs(x))z%x = Symbol('x')
e = Abs(x/(1 + x**2))z%x = Symbol('x')
e = Abs(x/(x**2 + 1))fz*x = Symbol('x')
f = Function('f')
e = f(x)z=x = Symbol('x')
y = Symbol('y')
f = Function('f')
e = f(x, y))zEx = Symbol('x')
y = Symbol('y')
f = Function('f')
e = f(x/(1 + y), y)zEx = Symbol('x')
y = Symbol('y')
f = Function('f')
e = f(x/(y + 1), y))z)x = Symbol('x')
e = sqrt(1 + sqrt(1 + x))z)x = Symbol('x')
e = sqrt(sqrt(x + 1) + 1))zAx = Symbol('x')
e = (1 + (1 + x)**Rational(1, 3))**Rational(1, 3)zAx = Symbol('x')
e = ((x + 1)**Rational(1, 3) + 1)**Rational(1, 3)zx = Symbol('x')
e = sin(x)**2)
r   r*   r   r   r   r   r   r   r+   r   )r?   s    r.   test_python_functionsr@   c   s   !A#A,#FFFF$q'?m+++!Xa^#$(????$q2v,#55551r6HQN*+/MMMM!Xa^#$(????#a&>::::Aq!taxL66 6 6
 	A!A$<IIII!Aq'?````!Aq1uIq/" 'T T T T
 $QUq()* /6 6 6 6
 QUXa^+q08Aq>AB GN N N N
 #a&!) @@@@r-   c            	          t        t        d      \  } }t        t        | |t        z  z               dk(  sJ t        t        t        | |t        z  z                     dk(  sJ y )Nabz_     _
a - I*bz _     _
 a - I*b
e       )mapr   r   r   r   r   )abs     r.    test_python_functions_conjugatesrF      sX    vtDAq9Q1W%'+====9SQqS\*,0NNNNr-   c                     t        t        t              t        d      } t        |       dk(  sJ t        t        t              t        d      t        z   }t        |      dk(  sJ t        t        t              t        dz  z   t        t        d      }t        |      dk(  sJ t        dt        z  t        z  t        t        d      t        dz  z   }t        |      dv sJ y )NF)evaluatez)x = Symbol('x')
e = Derivative(log(x), x)z-x = Symbol('x')
e = x + Derivative(log(x), x)r!   zCx = Symbol('x')
y = Symbol('y')
e = Derivative(x**2 + log(x), x, y))zBx = Symbol('x')
y = Symbol('y')
e = x**2 + Derivative(2*x*y, y, x)zBx = Symbol('x')
y = Symbol('y')
e = Derivative(2*x*y, y, x) + x**2)r   r   r*   r   r+   )f_1f_2f_3f_4s       r.   test_python_derivativesrM      s    
SVQ
/C#;FFFF
SVQ
/!
3C#;JJJJ SVad]Aq5
9C#;OP P P QqSUAq5
1AqD
8C#; P P P Pr-   c                  0   t        t        t              t              } t        |       dk(  sJ t        t        dz  t              }t        |      dk(  sJ t        t        dt        z  z  t              }t        |      dk(  sJ t        t        dz  t        ddf      }t        |      dk(  sJ t        t        dz  t        t	        dd      df      }t        |      dk(  sJ t        t        dz  t
        dz  z  t        t
              }t        |      d	k(  sJ y )
Nz'x = Symbol('x')
e = Integral(log(x), x)r!   z%x = Symbol('x')
e = Integral(x**2, x)z*x = Symbol('x')
e = Integral(x**(2**x), x)r    z-x = Symbol('x')
e = Integral(x**2, (x, 1, 2))r(   z;x = Symbol('x')
e = Integral(x**2, (x, Rational(1, 2), 10))z=x = Symbol('x')
y = Symbol('y')
e = Integral(x**2*y**2, x, y))r   r   r*   r   r   r+   )rI   rJ   rK   rL   f_5f_6s         r.   test_python_integralsrQ      s   
3q61
C#;DDDD
1a4
C#;BBBB 1q!t9a
 C#;GGGG 1a4!Q
#C#;JJJJ
1a4!Xa^R0
1CNO O O 1a419a
#C#;[[[[r-   c                  |    t        t        t        dz  dz   dgt        t        t        z   gg            } d}| |k(  sJ y )Nr!   r    zSx = Symbol('x')
y = Symbol('y')
e = MutableDenseMatrix([[x**2 + 1, 1], [y, x + y]]))r   r   r*   r+   )pss     r.   test_python_matrixrU      s:    v1Q{Q!H-./A_A6M6r-   c                      t        t        t        t        t                    dk(  sJ t        t        t        dz  t        d            dk(  sJ y )Nr$   r!   r   ze = 0)r   r   r*   r   r,   r-   r.   test_python_limitsrW      s=    %1b/"h...%1a#$///r-   c                  Z    t        d      } t        d      }| |z  }t        |      dk(  sJ y )Nza_{b}rE   z/a_b = Symbol('a_{b}')
b = Symbol('b')
e = a_b*b)r   r   )a_brE   exprs      r.   test_issue_20762r[      s0    
/CsAq5D$<NNNNr-   c                  &    t        t        d        y )Nc                  $    t        t        d      S )Ngarbage)method)r   r*   r,   r-   r.   <lambda>ztest_settings.<locals>.<lambda>   s    fQy9 r-   )r   	TypeErrorr,   r-   r.   test_settingsrb      s    
99:r-   N)7sympy.core.functionr   r   sympy.core.numbersr   r   r   r   sympy.core.relationalr	   r
   r   r   r   r   sympy.core.symbolr   r   $sympy.functions.elementary.complexesr   r   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   (sympy.functions.elementary.trigonometricr   sympy.integrals.integralsr   sympy.matrices.denser   sympy.series.limitsr   sympy.printing.pythonr   sympy.testing.pytestr   r   r*   r+   thphr/   r8   r:   r<   r@   rF   rM   rQ   rU   rW   r[   rb   r,   r-   r.   <module>rr      s    6 4 4 : : / A = 9 8 . ' % ( .u~1G_E]0fUI
E AF O OP&\2
0O;r-   