§
    OŠtj#  ã                   óP  — 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 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mZ  ed¦  «        \  ZZZ ed¦  «        \  ZZZ  ed¦  «        \  Z!Z"Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d„ Z)d„ Z*d„ Z+d„ Z, G d„ de¦  «        Z-d„ Z.dS )é    )ÚSum)ÚExpr)Úsymbols)Úsqrt)Ú	Piecewise)Úsin)ÚMutableDenseMatrix)ÚInterval)Úlambdify)Úraises)ÚTensorflowPrinter)Ú
lambdareprÚLambdaPrinterÚNumExprPrinterzx,y,zzi,a,bzj,c,dc                  óÎ   — t          t          t          z  ¦  «        dk    sJ ‚t          t          t          z   ¦  «        dv sJ ‚t          t          t          z  ¦  «        dk    sJ ‚d S )Nzx*y)zy + xzx + yzx**y)r   ÚxÚy© ó    úb/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/sympy/printing/tests/test_lambdarepr.pyÚ
test_basicr      s^   € Ý•a�‘c‰?Œ?˜eÒ#Ð#Ð#Ð#Ý•a�!‘eÑÔÐ 2Ð2Ð2Ð2Ð2Ý•a�‘dÑÔ˜vÒ%Ð%Ð%Ð%Ð%Ð%r   c                  ó¤   — t           dz  } t          | ¦  «        t          | ¦  «        k    sJ ‚t          t          | g¦  «        ¦  «        dk    sJ ‚d S )Né   zImmutableDenseMatrix([[x % 2]]))r   r   ÚstrÚMatrix)Úes    r   Útest_matrixr      sR   € õ 	
ˆA‰€AÝ�a‰=Œ=�C ™FœFÒ"Ð"Ð"Ð"Ý•f˜a˜S‘k”kÑ"Ô"Ð&GÒGÐGÐGÐGÐGÐGr   c            
      óô  — d} t          t          t          dk     f¦  «        }t          |¦  «        }t          | |z   ¦  «         |dk    sJ ‚t          dt          dk     fdt          dk     fd¦  «        }t          |¦  «        }t          | |z   ¦  «         |dk    sJ ‚t          dt          dk     fdt          dk     f¦  «        }t          |¦  «        }t          | |z   ¦  «         |dk    sJ ‚t          t          t          dk     ft          dz  t	          d	d
dd¦  «                             t          ¦  «        fd¦  «        }t          |¦  «        }t          | |z   ¦  «         |dk    sJ ‚t          t          dz  t          dk     ft          t          dk     fdt          z
  t          dk    fdd¬¦  «        }t          |¦  «        }t          | |z   ¦  «         |dk    sJ ‚t          t          dz  t          dk     ft          t          dk     fdt          z
  t          dk    fd¬¦  «        }t          |¦  «        }t          | |z   ¦  «         |dk    sJ ‚t          dt          dk    fdt          dk    fd	t          d	k    fd
t          d
k    fdt          dk    fd¦  «        }t          |¦  «        }t          | |z   ¦  «         |dk    sJ ‚t          dt          dk    fdt          dk    fd	t          d	k    fd
t          d
k    fdt          dk    fd¦  «        }t          |¦  «        }t          | |z   ¦  «         |dk    sJ ‚t          dt          dk    fdt          dk    fd	t          d	k    fd
t          d
k    fdt          dk    fd¦  «        }t          |¦  «        }t          | |z   ¦  «         |dk    sJ ‚t          dt          dk     fdt          dk     fd	t          d	k     fd
t          d
k     fdt          dk     fd¦  «        }t          |¦  «        }t          | |z   ¦  «         |dk    sJ ‚t          t          dt          dk    fd¦  «        t          dk    fd¦  «        }t          |¦  «        }t          | |z   ¦  «         |dk    sJ ‚d S )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å•1•a˜!’e�*ÑÔ€AÝ�1‰Œ€AÝˆˆQ‰�K„K€KØÐ,Ò,Ð,Ð,Ð,åØ	
�A�ŠEˆ
Ø	
�A�ŠEˆ
Øñ	ô 	€Aõ
 	�1‰Œ€AÝˆˆQ‰�K„K€KØÐ?Ò?Ð?Ð?Ð?åØ	
�A�ŠEˆ
Ø	
�A�ŠEˆ
ñ	ô 	€Aõ 	�1‰Œ€AÝˆˆQ‰�K„K€KØÐ@Ò@Ð@Ð@Ð@åÝ	
�A�ŠEˆ
Ý	
ˆA‰�x˜˜1˜d EÑ*Ô*×3Ò3µAÑ6Ô6Ð7Øñ	ô 	€Aõ
 	�1‰Œ€AÝˆˆQ‰�K„K€KØÐUÒUÐUÐUÐUåÝ	
ˆA‰�q�1ŠuˆÝ	
�A�ŠEˆ
Ø	
�Q‰•�Q’ˆØ˜Eð		ñ 	ô 	€Aõ 	�1‰Œ€AÝˆˆQ‰�K„K€KØð Fò Fð Fð Fð Fõ 	Ý	
ˆA‰�q�1ŠuˆÝ	
�A�ŠEˆ
Ø	
�Q‰•�Q’ˆ %ð	ñ 	ô 	€Aõ
 	�1‰Œ€AÝˆˆQ‰�K„K€KØð ;ò ;ð ;ð ;ð ;õ 	Ø	
�A�ŠFˆØ	
�A�ŠFˆØ	
�A�ŠFˆØ	
�A�ŠFˆØ	
�A�ŠFˆØñ	ô 	€Aõ 	�1‰Œ€AÝˆˆQ‰�K„K€KØð Oò Oð Oð Oð Oõ 	Ø	
�A�ŠFˆØ	
�A�ŠFˆØ	
�A�ŠFˆØ	
�A�ŠFˆØ	
�A�ŠFˆØñ	ô 	€Aõ 	�1‰Œ€AÝˆˆQ‰�K„K€KØð Sò Sð Sð Sð Sõ 	Ø	
�A�ŠEˆ
Ø	
�A�ŠEˆ
Ø	
�A�ŠEˆ
Ø	
�A�ŠEˆ
Ø	
�A�ŠEˆ
Øñ	ô 	€Aõ 	�1‰Œ€AÝˆˆQ‰�K„K€KØð Qò Qð Qð Qð Qõ 	Ø	
�A�ŠEˆ
Ø	
�A�ŠEˆ
Ø	
�A�ŠEˆ
Ø	
�A�ŠEˆ
Ø	
�A�ŠEˆ
Øñ	ô 	€Aõ 	�1‰Œ€AÝˆˆQ‰�K„K€KØð Qò Qð Qð Qð Qõ 	Ý	Ø•�A’ˆJØñ

ô 

õ ˆqŠ5ð	ð 	ñ	ô 	€Aõ 	�1‰Œ€AÝˆˆQ‰�K„K€KØÐCÒCÐCÐCÐCÐCÐCr   c                  óZ  — t          t          t          z  t          t          t          f¦  «        } t          | ¦  «        }|dk    sJ ‚t          t          t          f}t          || ¦  «        }d} ||Ž |                      t          ||¦  «        ¦  «         	                    ¦   «         k    sJ ‚d S )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:   �   s–   € õ 	�A•‰F•Q��1�IÑÔ€AÝ�1‰Œ€AØÐ=Ò=Ð=Ð=Ð=å�a•ˆ7€DÝ��qÑÔ€AØ€AØˆ1ˆaˆ5�A—F’F�3˜t Q™<œ<Ñ(Ô(×-Ò-Ñ/Ô/Ò/Ð/Ð/Ð/Ð/Ð/r   c                  óZ  — t          t          t          z  t          t          t          f¦  «        } t          | ¦  «        }|dk    sJ ‚t          t          t          f}t          || ¦  «        }d} ||Ž |                      t          ||¦  «        ¦  «         	                    ¦   «         k    sJ ‚d S )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<   ©   s”   € Ý�A•‰E•A•q�!�9ÑÔ€AÝ�1‰Œ€AØÐ<Ò<Ð<Ð<Ð<å�a•ˆ7€DÝ��qÑÔ€AØ€AØˆ1ˆaˆ5�A—F’F�3˜t Q™<œ<Ñ(Ô(×-Ò-Ñ/Ô/Ò/Ð/Ð/Ð/Ð/Ð/r   c                  ó°  — t          t          t          z  t          z   t          t          t
          ft          t          t          f¦  «        } t          | ¦  «        }|dk    sJ ‚t          t          t
          t          t          f}t          || ¦  «        }d}|  
                    t          ||¦  «        ¦  «                             ¦   «         } ||Ž }||k    sJ ‚d S )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•‰E•A‰I��1�a�y¥1¥a­ )Ñ,Ô,€Aå�1‰Œ€AØÐWÒWÐWÐWÐWå�a••A•qˆ=€DÝ��qÑÔ€AØ€DØ�FŠF•3�t˜T‘?”?Ñ#Ô#×(Ò(Ñ*Ô*€EØˆAˆtˆH€EØ�EŠ>ˆ>ˆ>ˆ>ˆ>ˆ>r   c                  óä   — t          ddi¦  «        } |                      t          t          ¦  «        d¬¦  «        dk    sJ ‚|                      t          t          ¦  «        d¬¦  «        dk    sJ ‚d S )NÚstandardÚpython3F)Úrationalzsqrt(x)Tzx**(1/2))r   Ú
_print_Powr   r   )Úprntrs    r   Ú	test_sqrtrK   Â   sn   € Ý˜:¨	Ð2Ñ3Ô3€EØ×Ò�D¥™GœG¨eÐÑ4Ô4¸	ÒAÐAÐAÐAØ×Ò�D¥™GœG¨dÐÑ3Ô3°zÒAÐAÐAÐAÐAÐAr   c                  ó2   — t          t          d„ ¦  «         d S )Nc                  óH   — t          t          t          ¦  «        d¬¦  «        S )NÚgarbage)Úmethod)r   r   r   r   r   r   ú<lambda>ztest_settings.<locals>.<lambda>É   s   € �j­­Q©¬¸	ÐBÑBÔB€ r   )r   Ú	TypeErrorr   r   r   Útest_settingsrR   È   s   € Ý
�9ÐBÐBÑCÔCÐCÐCÐCr   c            
      ó‚  — ddl m}   | t          dk    ddd¬¦  «        }t          ¦   «                              |¦  «        dk    sJ ‚ddlm}m}m}m	}  |d d |t          ¦  «        g |t          t          ¦  «         |t          d	z  ¦  «        g¦  «        }d
}t          ¦   «                              |¦  «        |k    sJ ‚d S )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.boolalgrT   r   r   ÚdoprintÚsympy.codegen.astrU   rV   rW   rX   r   )rT   ÚexprrU   rV   rW   rX   Úfunc_defÚexpecteds           r   Útest_numexprr`   Ì   s   € à'Ð'Ð'Ð'Ð'Ð'Øˆ3�q�1Šu�d˜E¨EÐ2Ñ2Ô2€DÝÑÔ×#Ò# DÑ)Ô)ØJòKð Kð Kð Kð SÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRÐRØ!Ð! $¨°°½±´¨}¸z¸zÍ!ÍA¹¼ÐPVÐPVÕWXÐZ[ÑW[ÑP\ÔP\Ð>]Ñ^Ô^€HðC€Hõ ÑÔ×#Ò# HÑ-Ô-°Ò9Ð9Ð9Ð9Ð9Ð9r   c                   ó,   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ ZdS )ÚCustomPrintedObjectc                 ó   — dS )NÚlambdar   ©ÚselfÚprinters     r   Ú_lambdacodezCustomPrintedObject._lambdacodeÜ   ó   € Øˆxr   c                 ó   — dS )NÚ
tensorflowr   re   s     r   Ú_tensorflowcodez#CustomPrintedObject._tensorflowcodeß   s   € Øˆ|r   c                 ó   — dS )NÚnumpyr   re   s     r   Ú
_numpycodezCustomPrintedObject._numpycodeâ   s   € Øˆwr   c                 ó   — dS )NÚnumexprr   re   s     r   Ú_numexprcodez CustomPrintedObject._numexprcodeå   s   € Øˆyr   c                 ó   — dS )NÚmpmathr   re   s     r   Ú_mpmathcodezCustomPrintedObject._mpmathcodeè   ri   r   N)Ú__name__Ú
__module__Ú__qualname__rh   rl   ro   rr   ru   r   r   r   rb   rb   Û   s_   € € € € € ðð ð ðð ð ðð ð ðð ð ðð ð ð ð r   rb   c                  ó¶  — t          ¦   «         } t          ¦   «                              | ¦  «        dk    sJ ‚t          ¦   «                              | ¦  «        dk    sJ ‚t	          ¦   «                              | ¦  «        dk    sJ ‚t	          ¦   «                              t          t          t          dk    ft          t          dk     f¦  «        ¦  «        dk    sJ ‚d S )Nrd   rk   z)numexpr.evaluate('numexpr', truediv=True)r   z7numexpr.evaluate('where((x >= 0), y, z)', truediv=True))	rb   r   r[   r   r   r   r   r   Úz)Úobjs    r   Útest_printmethodr|   ì   sÕ   € õ Ñ
Ô
€CÝ‰?Œ?×"Ò" 3Ñ'Ô'¨8Ò3Ð3Ð3Ð3ÝÑÔ×&Ò& sÑ+Ô+¨|Ò;Ð;Ð;Ð;ÝÑÔ×#Ò# CÑ(Ô(Ð,WÒWÐWÐWÐWåÑÔ×#Ò#¥I­qµ!°q²&¨k½A½qÀ1ºu¸:Ñ$FÔ$FÑGÔGØEòFð Fð Fð 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   rz   r/   r0   r1   r>   r?   r@   r   r   r+   r:   r<   rD   rK   rR   r`   rb   r|   r   r   r   ú<module>r‰      s	  ðØ )Ð )Ð )Ð )Ð )Ð )Ø  Ð  Ð  Ð  Ð  Ð  Ø %Ð %Ð %Ð %Ð %Ð %Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø :Ð :Ð :Ð :Ð :Ð :Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8Ø =Ð =Ð =Ð =Ð =Ð =Ø $Ð $Ð $Ð $Ð $Ð $Ø -Ð -Ð -Ð -Ð -Ð -Ø 'Ð 'Ð 'Ð 'Ð 'Ð 'à 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ OÐ Oð ˆ'�'Ñ
Ô
�€€1€aØ
ˆ'�'Ñ
Ô
�€€1€aØ
ˆ'�'Ñ
Ô
�€€1€að&ð &ð &ðHð Hð HðwDð wDð wDðt
0ð 
0ð 
0ð0ð 0ð 0ðð ð ðBð Bð BðDð Dð Dð:ð :ð :ðð ð ð ð ˜$ñ ô ð ð"
Fð 
Fð 
Fð 
Fð 
Fr   