
    \h#                     6   S SK Jr  S SKJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJr  S S	KJr  S S
KJr  S SKJr  S SKJrJrJr  \" S5      u  rrr\" S5      u  rrr \" S5      u  r!r"r#S r$S r%S r&S r'S r(S r)S r*S r+S r, " S S\5      r-S r.g)    )Sum)Expr)symbols)sqrt)	Piecewise)sin)MutableDenseMatrix)Interval)lambdify)raises)TensorflowPrinter)
lambdareprLambdaPrinterNumExprPrinterzx,y,zzi,a,bzj,c,dc                      [        [        [        -  5      S:X  d   e[        [        [        -   5      S;   d   e[        [        [        -  5      S:X  d   eg )Nzx*y)zy + xzx + yzx**y)r   xy     \/var/www/auris/envauris/lib/python3.13/site-packages/sympy/printing/tests/test_lambdarepr.py
test_basicr      sG    ac?e###a!e 2222adv%%%r   c                      [         S-  n [        U 5      [        U 5      :w  d   e[        [        U /5      5      S:X  d   eg )N   zImmutableDenseMatrix([[x % 2]]))r   r   strMatrix)es    r   test_matrixr      s=     	
AAa=CF"""faSk"&GGGGr   c            
         Sn [        [        [        S:  45      n[        U5      n[        X-   5        US:X  d   e[        S[        S:  4S[        S:  4S5      n[        U5      n[        X-   5        US:X  d   e[        S[        S:  4S[        S:  45      n[        U5      n[        X-   5        US:X  d   e[        [        [        S:  4[        S-  [	        S	S
SS5      R                  [        5      4S5      n[        U5      n[        X-   5        US:X  d   e[        [        S-  [        S:  4[        [        S:  4S[        -
  [        S:  4SSS9n[        U5      n[        X-   5        US:X  d   e[        [        S-  [        S:  4[        [        S:  4S[        -
  [        S:  4SS9n[        U5      n[        X-   5        US:X  d   e[        S[        S:  4S[        S:  4S	[        S	:  4S
[        S
:  4S[        S:  4S5      n[        U5      n[        X-   5        US:X  d   e[        S[        S:*  4S[        S:*  4S	[        S	:*  4S
[        S
:*  4S[        S:*  4S5      n[        U5      n[        X-   5        US:X  d   e[        S[        S:  4S[        S:  4S	[        S	:  4S
[        S
:  4S[        S:  4S5      n[        U5      n[        X-   5        US:X  d   e[        S[        S:  4S[        S:  4S	[        S	:  4S
[        S
:  4S[        S:  4S5      n[        U5      n[        X-   5        US:X  d   e[        [        S[        S:  4S5      [        S:  4S5      n[        U5      n[        X-   5        US:X  d   eg )Nz
lambda x: r   z((x) if (x < 0) else None)   r   )r   Tz-((1) if (x < 1) else (2) if (x < 2) else (0))z.((1) if (x < 1) else (2) if (x < 2) else None)      TFzC((x) if (x < 1) else (x**2) if (((x <= 4)) and ((x > 3))) else (0))evaluatezI((x**2) if (x < 0) else (x) if (x < 1) else (2 - x) if (x >= 1) else (0))zJ((x**2) if (x < 0) else (x) if (x < 1) else (2 - x) if (x >= 1) else None)   )   Tzn((1) if (x >= 1) else (2) if (x >= 2) else (3) if (x >= 3) else (4) if (x >= 4) else (5) if (x >= 5) else (6))zn((1) if (x <= 1) else (2) if (x <= 2) else (3) if (x <= 3) else (4) if (x <= 4) else (5) if (x <= 5) else (6))zi((1) if (x > 1) else (2) if (x > 2) else (3) if (x > 3) else (4) if (x > 4) else (5) if (x > 5) else (6))zi((1) if (x < 1) else (2) if (x < 2) else (3) if (x < 3) else (4) if (x < 4) else (5) if (x < 5) else (6)))r   T)r    Tz1((((1) if (x > 0) else (2))) if (y > 0) else (3)))r   r   r   evalr
   containsr   )hpls      r   test_piecewiser+   #   s    	A1a!e*A1AK,,,,	
AE
	
AE
	A
 	1AK????	
AE
	
AE
	A 	1AK@@@@	
AE
	
Ax1dE*33A67	A
 	1AKUUUU	
Aq1u	
AE
	
QQE		A 	1AK F F F F 		
Aq1u	
AE
	
QQ%	A
 	1AK ; ; ; ; 		
AF	
AF	
AF	
AF	
AF	A 	1AK O O O O 		
AF	
AF	
AF	
AF	
AF	A 	1AK S S S S 		
AE
	
AE
	
AE
	
AE
	
AE
	A 	1AK Q Q Q Q 		
AE
	
AE
	
AE
	
AE
	
AE
	A 	1AK Q Q Q Q 		AJ

 q5	 		A 	1AKCCCCr   c                     [        [        [        -  [        [        [        45      n [        U 5      nUS:X  d   e[        [        [        4n[        X 5      nSnU" U6 U R                  [        X$5      5      R                  5       :X  d   eg )Nz+(builtins.sum(x**i for i in range(a, b+1)))r   r       )
r   r   iabr   r   subszipdoitsr*   argsfvs        r   test_sum__1r:      st     	AFQ1IA1A====a7DAAa5AFF3t<(--////r   c                     [        [        [        -  [        [        [        45      n [        U 5      nUS:X  d   e[        [        [        4n[        X 5      nSnU" U6 U R                  [        X$5      5      R                  5       :X  d   eg )Nz*(builtins.sum(i*x for i in range(a, b+1)))r-   )
r   r/   r   r0   r1   r   r   r2   r3   r4   r5   s        r   test_sum__2r<      sr    AEAq!9A1A<<<<a7DAAa5AFF3t<(--////r   c                  \   [        [        [        -  [        -   [        [        [
        4[        [        [        45      n [        U 5      nUS:X  d   e[        [        [
        [        [        4n[        X 5      nSnU R                  [        X$5      5      R                  5       nU" U6 nXe:X  d   eg )NzE(builtins.sum(i*x + j for j in range(c, d+1) for i in range(a, b+1))))r   r    r!   r$   r%   )r   r/   r   jr0   r1   cdr   r   r2   r3   r4   )r6   r*   r7   r8   valsf_reff_ress          r   test_multiple_sumsrD      s    AEAI1ay1a),A1AWWWWaAq=DADFF3t?#((*EtHE>>r   c                      [        SS05      n U R                  [        [        5      SS9S:X  d   eU R                  [        [        5      SS9S:X  d   eg )Nstandardpython3F)rationalzsqrt(x)Tzx**(1/2))r   
_print_Powr   r   )prntrs    r   	test_sqrtrK      sU    :	23EDGe4	AAADGd3zAAAr   c                  &    [        [        S 5        g )Nc                  0    [        [        [        5      SS9$ )Ngarbage)method)r   r   r   r   r   r   <lambda>test_settings.<locals>.<lambda>   s    jQ	Br   )r   	TypeErrorr   r   r   test_settingsrS      s    
9BCr   c            
      0   SSK Jn   U " [        S:  SSSS9n[        5       R	                  U5      S:X  d   eSSKJnJnJnJ	n  U" S SU" [        5      /U" [        [        5      U" [        S	-  5      /5      nS
n[        5       R	                  U5      U:X  d   eg )Nr   )ITETFr"   z=numexpr.evaluate('where((x > 0), True, False)', truediv=True))ReturnFunctionDefinitionVariable
Assignmentfoor   zidef foo(x):
    y = numexpr.evaluate('x', truediv=True)
    return numexpr.evaluate('y**2', truediv=True))sympy.logic.boolalgrU   r   r   doprintsympy.codegen.astrV   rW   rX   rY   r   )rU   exprrV   rW   rX   rY   func_defexpecteds           r   test_numexprra      s    'q1udEE2D##D)JK K K SR!$}z!APVWXZ[W[P\>]^HCH ##H-999r   c                   2    \ rS rSrS rS rS rS rS rSr	g)	CustomPrintedObject   c                     g)Nlambdar   selfprinters     r   _lambdacodeCustomPrintedObject._lambdacode       r   c                     g)N
tensorflowr   rg   s     r   _tensorflowcode#CustomPrintedObject._tensorflowcode   s    r   c                     g)Nnumpyr   rg   s     r   
_numpycodeCustomPrintedObject._numpycode   s    r   c                     g)Nnumexprr   rg   s     r   _numexprcode CustomPrintedObject._numexprcode   s    r   c                     g)Nmpmathr   rg   s     r   _mpmathcodeCustomPrintedObject._mpmathcode   rl   r   r   N)
__name__
__module____qualname____firstlineno__rj   ro   rs   rw   r{   __static_attributes__r   r   r   rc   rc      s    r   rc   c                  X   [        5       n [        5       R                  U 5      S:X  d   e[        5       R                  U 5      S:X  d   e[	        5       R                  U 5      S:X  d   e[	        5       R                  [        [        [        S:  4[        [        S:  45      5      S:X  d   eg )Nrf   rn   z)numexpr.evaluate('numexpr', truediv=True)r   z7numexpr.evaluate('where((x >= 0), y, z)', truediv=True))	rc   r   r\   r   r   r   r   r   z)objs    r   test_printmethodr      s     
C?""3'8333&&s+|;;;##C(,WWWW##Iq!q&kAq1u:$FGEF F Fr   N)/sympy.concrete.summationsr   sympy.core.exprr   sympy.core.symbolr   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr   sympy.matrices.denser	   r   sympy.sets.setsr
   sympy.utilities.lambdifyr   sympy.testing.pytestr   sympy.printing.tensorflowr   sympy.printing.lambdareprr   r   r   r   r   r   r/   r0   r1   r>   r?   r@   r   r   r+   r:   r<   rD   rK   rS   ra   rc   r   r   r   r   <module>r      s    )   % 9 : 8 = $ - ' 7 O O '
1a
'
1a
'
1a&HwDt
00BD:$ "
Fr   