+
    ‹°³jq   ã                   óÜ   € ^RI HtHt ^RIHt ^ RIHt . ROt ! R R]4      t ! R R]4      t	 ! R	 R]]4      t
]	P                   F  t]! ]	R
],          ]	P                  4       K   	  R tR# )é   )ÚPythonCodePrinterÚMpmathPrinter)ÚNumPyPrinter)Údefault_sort_keyÚLambdaPrinterÚIntervalPrinterc                   ód   a a€ ] tR t^t oRtRtR tR tR tR t	R t
R tR	 tV 3R
 ltRtVtV ;t# )r   zN
This printer converts expressions into strings that can be used by
lambdify.
Ú_lambdacodec                ó  € R .p\        VP                  \        R7       F7  pVP                  R V P	                  V4      R.4       VP                  R4       K9  	  VRR pVP                  R4       RP                  V4      # )Ú(©ÚkeyÚ)z and NÚ éÿÿÿÿ©ÚsortedÚargsr   ÚextendÚ_printÚappendÚjoin©ÚselfÚexprÚresultÚargs   &&  ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sympy/printing/lambdarepr.pyÚ
_print_AndÚLambdaPrinter._print_And   sn   € Ø�ˆÜ˜$Ÿ)™)Ô)9×:ˆCØ�M‰M˜3 §¡¨CÓ 0°#Ð6Ô7Ø�M‰M˜'Ö"ñ ;ð ˜˜�ˆØ�‰�cÔØ�w‰w�v‹Ðó    c                ó  € R .p\        VP                  \        R7       F7  pVP                  R V P	                  V4      R.4       VP                  R4       K9  	  VRR pVP                  R4       RP                  V4      # )r   r   r   z or Nr   r   r   r   s   &&  r   Ú	_print_OrÚLambdaPrinter._print_Or%   sn   € Ø�ˆÜ˜$Ÿ)™)Ô)9×:ˆCØ�M‰M˜3 §¡¨CÓ 0°#Ð6Ô7Ø�M‰M˜&Ö!ñ ;ð ˜˜�ˆØ�‰�cÔØ�w‰w�v‹Ðr!   c                óp   € R RV P                  VP                  ^ ,          4      R.pRP                  V4      # )r   znot (ú))r   ©r   r   r   ©r   r   r   s   && r   Ú
_print_NotÚLambdaPrinter._print_Not.   s/   € Ø�w §¡¨D¯I©I°a­LÓ 9¸4Ð@ˆØ�w‰w�v‹Ðr!   c                ó   € R # )ÚTrue© ©r   r   s   &&r   Ú_print_BooleanTrueÚ LambdaPrinter._print_BooleanTrue2   s   € Ùr!   c                ó   € R # )ÚFalser-   r.   s   &&r   Ú_print_BooleanFalseÚ!LambdaPrinter._print_BooleanFalse5   s   € Ùr!   c           	     óö   € R V P                  VP                  ^,          4      RV P                  VP                  ^ ,          4      RV P                  VP                  ^,          4      R.pRP                  V4      # )z((z) if (z) else (r&   r   r'   r(   s   && r   Ú
_print_ITEÚLambdaPrinter._print_ITE8   s]   € à�$—+‘+˜dŸi™i¨�lÓ+Ø�d—k‘k $§)¡)¨A¥,Ó/Ø˜Ÿ™ D§I¡I¨a¥LÓ1°4ð
ˆð
 �w‰w�v‹Ðr!   c                ó   € \        V4      # ©N)Ústrr.   s   &&r   Ú_print_NumberSymbolÚ!LambdaPrinter._print_NumberSymbol@   s   € Ü�4‹yÐr!   c                ó.   <€ \         \        V `
  ! V3/ VB # r9   )Úsuperr   Ú
_print_Pow)r   r   ÚkwargsÚ	__class__s   &&,€r   r?   ÚLambdaPrinter._print_PowC   s   ø€ ô Ô&¨Ò8¸ÑHÀÑHÐHr!   r-   )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Úprintmethodr   r#   r)   r/   r3   r6   r;   r?   Ú__static_attributes__Ú__classdictcell__Ú__classcell__©rA   Ú__classdict__s   @@r   r   r      s@   ù‡ € ñð  €Kòòòòòòò÷Iõ Ir!   c                   óJ  a a€ ] tR t^Kt oRt/ RRbRRbRRbRRbRRbR	R
bRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRbRRRRRRR R!R"R"R#R#R$R$/CtR%tR& tR2R' ltR( t	R) t
R* tR+ t];t;t;t;t;t;t;tt];t;t;t;ttR, tV 3R- ltV 3R. ltV 3R/ ltV 3R0 ltR1tVt V ;t!# )3ÚNumExprPrinterÚ_numexprcodeÚsinÚcosÚtanÚasinÚarcsinÚacosÚarccosÚatanÚarctanÚatan2Úarctan2ÚsinhÚcoshÚtanhÚasinhÚarcsinhÚacoshÚarccoshÚatanhÚarctanhÚlnÚlogÚexpÚsqrtÚAbsÚabsÚ	conjugateÚconjÚimÚimagÚreÚrealÚwhereÚcomplexÚcontainsÚnumexprc                ó   € R # )Ú1jr-   r.   s   &&r   Ú_print_ImaginaryUnitÚ#NumExprPrinter._print_ImaginaryUnitm   s   € Ùr!   c                ó€   € V Uu. uF  q0P                  V4      NK  	  ppV'       d   VP                  V4      # R # u upi )r   )r   r   )r   ÚseqÚ	delimiterÚitemÚss   &&&  r   Ú
_print_seqÚNumExprPrinter._print_seqp   s7   € á+.Ó/©3 4�[‰[˜Ö©3ˆÐ/ßØ—>‘> !Ó$Ð$áùò	 0s   …;c                ó\  € VP                   P                  pV P                  P                  VR 4      pVfU   \	        VR4      '       d1   RV P                  VP                  ! VP                  !  4      ,          # \        RV,          4      hV: RV P                  VP                  4      : R2# )NÚ_imp_z(%s)z&numexpr does not support function '%s'r   r   )
ÚfuncrC   Ú_numexpr_functionsÚgetÚhasattrr   r�   r   Ú	TypeErrorr~   )r   ÚeÚ	func_nameÚnstrs   &&  r   Ú_print_FunctionÚNumExprPrinter._print_Functionx   sŠ   € Ø—F‘F—O‘Oˆ	à×&Ñ&×*Ñ*¨9°dÓ;ˆØŠ<ä�q˜'×"Ò"Ø §¡¨A¯GªG°Q·V±VÑ,<Ó =Õ=Ð=äÐ HØ )õ!*ó +ð +ã §¡°·±Ö!8Ð9Ð9r!   c                ó  € VP                    Uu. uF  q P                  VP                  4      NK  	  ppVP                    Uu. uF  q P                  VP                  4      NK  	  pp. p^ pRp\	        WC4       FD  w  r�VR8X  d   VP                  V4       Rp M'VP                  RV: RV: R24       V^,          pKF  	  V'       g   VP                  R4       RP                  V4      RV,          ,           # u upi u upi )	zPiecewise function printerFr,   Tzwhere(ú, zlog(-1)r   r   )r   r   r   ÚcondÚzipr   r   )	r   r   r   ÚexprsÚcondsÚansÚparenthesis_countÚis_last_cond_TruerŽ   s	   &&       r   Ú_print_PiecewiseÚNumExprPrinter._print_Piecewise…   sÙ   € à26·)²)Ó<±)¨3—‘˜SŸX™XÖ&±)ˆÐ<Ø26·)²)Ó<±)¨3—‘˜SŸX™XÖ&±)ˆÐ<ð
 ˆØÐØ!ÐÜ˜eÖ+‰JˆDØ�vŒ~Ø—
‘
˜4Ô Ø$(Ð!Ùà—
’
«t³TÐ:Ô;Ø! QÕ&Ò!ñ ,÷ !ð �J‰J�yÔ!Ø�w‰w�s‹|˜cÐ$5Õ5Õ5Ð5ùòC =ùÚ<s   �#C8Á#C=c                óN   € ^ RI Hp V P                  VP                  V4      4      # )é    )Ú	Piecewise)Ú$sympy.functions.elementary.piecewiser™   r   Úrewrite)r   r   r™   s   && r   r6   ÚNumExprPrinter._print_ITEª   s   € ÝBØ�{‰{˜4Ÿ<™<¨	Ó2Ó3Ð3r!   c                óN   € \        R VP                  P                  ,          4      h)znumexpr cannot be used with %s)r†   rA   rC   r.   s   &&r   ÚblacklistedÚNumExprPrinter.blacklisted®   s$   € ÜÐ8ØŸ™×/Ñ/õ0ó 1ð 	1r!   c                óŒ   € V P                  V P                  R ,           4      pV: RV P                  VP                  4      : R2# )z	.evaluatez('z', truediv=True))Ú_module_formatÚmoduler   r   )r   r   Úevaluates   && r   Ú_print_NumExprEvaluateÚ%NumExprPrinter._print_NumExprEvaluateÄ   s3   € Ø×&Ñ& t§{¡{°KÕ'?Ó@ˆÛ+3°T·[±[ÀÇÁÖ5KÐLÐLr!   c                ól   <€ ^ RI Hp ^ RIHp \	        W4      '       g	   V! V4      p\
        SV `  V4      # ©r˜   )Ú
CodegenAST©ÚNumExprEvaluate)Úsympy.codegen.astr¨   Úsympy.codegen.pynodesrª   Ú
isinstancer>   Údoprint)r   r   r¨   rª   rA   s   &&  €r   r®   ÚNumExprPrinter.doprintÈ   s-   ø€ Ý0Ý9Ü˜$×+Ò+Ù" 4Ó(ˆDÜ‰w‰˜tÓ$Ð$r!   c                óš   <€ ^ RI Hp VP                  w  p\        W24      '       g   VP	                  V! V4      4      p\
        SV `  V4      # ©r˜   r©   )r¬   rª   r   r­   r‚   r>   Ú_print_Return)r   r   rª   ÚrrA   s   &&  €r   r²   ÚNumExprPrinter._print_ReturnÏ   s?   ø€ Ý9Ø�Y‰Y‰ˆÜ˜!×-Ò-Ø—9‘9™_¨QÓ/Ó0ˆDÜ‰wÑ$ TÓ*Ð*r!   c                ó    <€ ^ RI Hp VP                  vr4p\        WB4      '       g   VP                  ! W2! V4      .VO5!  p\
        SV `  V4      # r±   )r¬   rª   r   r­   r‚   r>   Ú_print_Assignment)r   r   rª   ÚlhsÚrhsr   rA   s   &&    €r   r¶   Ú NumExprPrinter._print_AssignmentÖ   sH   ø€ Ý9ØŸ)™)ˆˆ�4Ü˜#×/Ò/Ø—9’9˜S /°#Ó"6Ð>¸Ó>ˆDÜ‰wÑ(¨Ó.Ð.r!   c                óÈ   <€ ^ RI Hp ^ RIHp VP                   Uu. uF  p\        WB4      '       d   TMV! V4      NK   	  pp\        SV `  WP                  ! V!  4      # u upi r§   )	r«   r¨   r¬   rª   r   r­   r>   Ú_print_CodeBlockr‚   )r   r   r¨   rª   r   r   rA   s   &&    €r   r»   ÚNumExprPrinter._print_CodeBlockÝ   sY   ø€ Ý0Ý9ØY]×YbÒYbÓdÑYbÐRUœ
 3×3Ò3‘¹ÈÓ9MÒMÑYbˆÐdÜ‰wÑ'¨¯iªi¸Ñ.>Ó?Ð?ùò es   œ$Ar-   )r�   )"rC   rD   rE   rF   rH   rƒ   r¢   rw   r~   rŠ   r•   r6   rž   Ú_print_SparseRepMatrixÚ_print_MutableSparseMatrixÚ_print_ImmutableSparseMatrixÚ_print_MatrixÚ_print_DenseMatrixÚ_print_MutableDenseMatrixÚ_print_ImmutableMatrixÚ_print_ImmutableDenseMatrixÚ_print_listÚ_print_tupleÚ_print_TupleÚ_print_dictÚ_print_Dictr¤   r®   r²   r¶   r»   rI   rJ   rK   rL   s   @@r   rO   rO   K   s¾  ù‡ € ð !€KðØ�ðà�ðð 	�ðð 	�ð	ð
 	�ðð 	�ðð 	�)ðð 	�ðð 	�ðð 	�ðð 	�ðð 	�ðð 	�ðð 	ˆuðð 	ˆuðð  	ˆuð!ð" 	�ð#ð$ 	�Ø�fØˆvØˆvØ�'Ø�IØ�Zñ1Ðð6 €Fòôò:ò#6òJ4ò1ð ðÐð Øðà ðð ðð ð	ð
 ðð Øð ð€Kð Øðàðð ØòMõ%õ+õ/÷@õ @r!   rO   c                   óZ   a a€ ] tR t^ät oRtV 3R ltV 3R ltV 3R ltV 3R ltRt	Vt
V ;t# )r   z?Use ``lambda`` printer but print numbers as ``mpi`` intervals. c                ó8   <€ R \         \        V `  V4      ,          # ©z	mpi('%s'))r>   r   Ú_print_Integer©r   r   rA   s   &&€r   rÍ   ÚIntervalPrinter._print_Integerç   s   ø€ ØœUÔ#4°dÑJÈ4ÓPÕPÐPr!   c                ó8   <€ R \         \        V `  V4      ,          # rÌ   ©r>   r   Ú_print_RationalrÎ   s   &&€r   rÒ   ÚIntervalPrinter._print_Rationalê   ó   ø€ ØœUÔ#4°dÑKÈDÓQÕQÐQr!   c                ó8   <€ R \         \        V `  V4      ,          # rÌ   rÑ   rÎ   s   &&€r   Ú_print_HalfÚIntervalPrinter._print_Halfí   rÔ   r!   c                ó.   <€ \         \        V `  VR R7      # )T)Úrational)r>   r   r?   rÎ   s   &&€r   r?   ÚIntervalPrinter._print_Powð   s   ø€ Ü”] DÑ4°TÀDÐ4ÓIÐIr!   r-   )rC   rD   rE   rF   rG   rÍ   rÒ   rÖ   r?   rI   rJ   rK   rL   s   @@r   r   r   ä   s&   ù‡ € ÙIõQõRõR÷Jõ Jr!   z	_print_%sc                ó6   € \        V4      P                  V 4      # )z*
Returns a string usable for lambdifying.
)r   r®   )r   Úsettingss   &,r   Ú
lambdareprrÝ   ÷   s   € ô ˜Ó"×*Ñ*¨4Ó0Ð0r!   N)r   r   r   r   r   r   rÝ   )Úpycoder   r   Únumpyr   Úsympy.core.sortingr   Ú__all__r   rO   r   rƒ   ÚkÚsetattrrŠ   rÝ   r-   r!   r   Ú<module>rä      sw   ð÷õ  Ý /ò€ô2IÐ%ô 2IônV@�]ô V@ôrJ�m ]ô Jð  
×	*Ô	*€AÙˆN˜K¨!�O¨^×-KÑ-KÖLñ 
+ô1r!   