
    sh                     l    S SK r S SKJrJrJrJrJrJrJrJ	r	J
r
Jr  S SKJr  S rS rS rS rS rS	 rg)
    N)

parse_exprstandard_transformationsconvert_xor#implicit_multiplication_applicationimplicit_multiplicationimplicit_applicationfunction_exponentiationsplit_symbolssplit_symbols_custom_token_splittable)raisesc                    ^^ SSSSSSSSS	S
SSSSS.n [         [        4-   nU[        [        4-   mU  H!  m[	        TTS9n[	        U T   US9nX#:X  a  M!   e   / SQnU H  m[        [        UU4S j5        M     [        [        U4S j5        g )Nz5*xza*b*cz3*sin(x)z(x+1)*(x+2)z(5*x**2)*sin(x)z2*sin(x)*cos(x)zpi*xzx*piE*xzEulerGamma*yzE*pizpi*(x+2)z(x+2)*pi	pi*sin(x))5xabcz3sin(x)z
(x+1)(x+2)z(5 x**2)sin(x)z2 sin(x) cos(x)zpi xzx pizE xzEulerGamma yzE piz
pi (x + 2)z
(x + 2) piz	pi sin(x)transformations)sin xcos 2*x	sin cos xc                     > [        T TS9$ Nr   r   casetransformations2s   ڐ/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/sympy/parsing/tests/test_implicit_multiplication_application.py<lambda>.test_implicit_multiplication.<locals>.<lambda>-       z$8HI    c                     > [        ST S9$ N	sin**2(x)r   r   r   s   r   r   r    /       :k;KLr"   )r   r   r
   r   r   r   SyntaxError	TypeError)casesr   implicitnormalapplicationr   r   s        @@r   test_implicit_multiplicationr.      s    #+,&   E  /+?O&-*A*C Cd4DEE$KI!"! 
 4K{I	K  9LNr"   c                    ^^ SSSSSSS.n [         [        4-   nU[        4-   mU  H'  m[        TTS9n[        U T   US9nX#:X  a  M!   X#45       e   / S	QnU H  m[	        [
        UU4S
 j5        M     [	        [        U4S j5        g )N	factorialsin(x)z	tan(y**3)zcos(2*x)cotzsin(cos(tan(x))))r0   r   ztan y**3r   z(cot)zsin cos tan xr   )x yx sin x2xc                     > [        T TS9$ r   r   r   s   r   r   +test_implicit_application.<locals>.<lambda>E   r!   r"   c                     > [        ST S9$ r$   r   r&   s   r   r   r7   G   r'   r"   )r   r   r   r   r   r(   r)   )r*   r   r+   r,   multiplicationr   r   s        @@r   test_implicit_applicationr:   2   s     +E /+?O&*>)@@d4DEE$KI!6X$66! 
 .N{I	K  9LNr"   c                  6  ^^ SSSS.n [         [        4-   nU[        4-   mU  H!  m[        TTS9n[        U T   US9nX#:X  a  M!   e   / SQnU H  m[	        [
        UU4S j5        M     [        SS	[        R                  " S	5      0TS
9[        S5      :X  d   eg )Nz	sin(x)**2zexp(z)^yzsin(E^(x))**2)r%   zexp^y(z)zsin**2(E^(x))r   )r3   r4   r5   r   r   r   c                     > [        T TS9$ r   r   r   s   r   r   .test_function_exponentiation.<locals>.<lambda>[   r!   r"   zx**2x
local_dictr   )r   r   r	   r   r   r(   sympySymbol)r*   r   r+   r,   other_implicitr   r   s        @@r   test_function_exponentiationrD   J   s     (E
 /+?O&*A)CCd4DEE$KI!"! 
.N{I	K  f3S0A)C&68;Ef;MN N Nr"   c                      [         [        4-   n SnU H  n[        X S9[        U5      :X  a  M   e   U [        4-  n S[        R
                  0nSSSS.nUR                  5        H  u  pV[        XSU S9[        U5      :X  a  M   e   S	 n[         n U [        U5      [        4-  n [        S
U S9[        S
5      :X  d   e[        SU S9[        S5      :X  d   e[        SU S9[        S5      :X  d   eU H  n[        X S9[        U5      :X  a  M   e   g )N)alphabetagammadeltaepsilonzetaetathetaiotakappamunuxiomicronpirhosigmatauupsilonphichipsiomegar   er   zI*yzE*E)xeIyeer?   c                 &    U S;  a  [        U 5      $ g)N)unsplittablenamesF)r   )symbols    r   	can_split(test_symbol_splitting.<locals>.can_split|   s    22$V,,r"   rb   rc   xyx*y)r   r
   r   r   rA   Eitemsr   )r   greek_lettersletterr@   r*   r   expectedre   s           r   test_symbol_splittingrn   a   s]    /-1AAO3M
  &B&!" 	# "  
 /11O!JE
  ++-$*9;(#$ 	% $ ( /O,Y7/1 1O noFn%& ' &g?g   dO<e  &B&!" 	# "  r"   c                     0 SS_SS_SS_SS_SS	_S
S_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_SS_S S!S"S#S$S%S&S'S(SS)S*S+S,S-S..En [         [        4-   nU[        4-   nU  H  n[        X2S/9n[        X   US/9nXE:X  a  M   e   g )0Nr5   z2*xr3   rh   rg   r   r1   z2sin xz2*sin(x)zx y zzx*y*zzsin(2 * 3x)zsin(2 * 3 * x)zsin(x) (1 + cos(x))zsin(x) * (1 + cos(x))z(x + 2) sin(x)z(x + 2) * sin(x)z(x + 2) sin xz
sin(sin x)zsin(sin(x))zsin x!zsin(factorial(x))zsin x!!zsin(factorial2(x))r0   r4   z
x * sin(x)zxy sin xzx * y * sin(x)z
(x+2)(x+3)z(x + 2) * (x+3)zx**2 + 2 * x * y + y**2rT   Nonez
ln(sin(x))z	sin(x**2)zSymbol("alpha")zSymbol("x_2")zsin(x**2)**2z	sin(x)**3ztan(3*x)zsin(3*E**(x))**2zsin(E**(3*x))**2zsin(3*x*E^x)**2r   )zx**2 + 2xy + y**2rT   rp   zln sin xzsin x**2rF   x_2z
sin^2 x**2z	sin**3(x)z(factorial)ztan 3xzsin^2(3*E^(x))zsin**2(E^(3x))zsin^2 (3x*E^(x))zpi sin xr   )r   r   r   r   )r*   r   r   r   r+   r,   s         r   test_all_implicit_stepsrr      sZ   !e!u! 	e! 		!
 	*! 	! 	'! 	6! 	,! 	+! 	m! 	%! 	'! 	[! 	<!  	$!!" 	'#!$ 7 "$ ",,-A!ED /+?O&*M)OOdEEKI!"! r"   c                      [         R                  " S5      n [        [        4-   n[	        SUS9nUS:X  d   e[	        SUS9nX U S-  S-   -  :X  d   eg )Nuzx.is_polynomial(x)r   Tz((exp(x) / (1 + exp(2x))).subs(exp(x), u)      )rA   rB   r   r   r   )rt   r   exprs      r   'test_no_methods_implicit_multiplicationrx      sa    SA..01O*OLD4<<@&57DadQh<r"   )rA   sympy.parsing.sympy_parserr   r   r   r   r   r   r	   r
   r   r   sympy.testing.pytestr   r.   r:   rD   rn   rr   rx    r"   r   <module>r|      s@       (NBN0N.+#\(#V	 r"   