+
    ‹°³já  ã                   ó°   € ^ RI t^ RIt^ RIHt ^ RIHt ^ RIHt ^ RI	H
t
 ^ RIHt ^ RIHt ^ RIHt ^ R	IHtHt ^ RIt]! R
4      t ! R R]]4      tR tR# )é    N)Úversion_tuple)ÚIterable)ÚMul)ÚS)ÚSqrt)Úimport_module)Ú
PRECEDENCE)ÚAbstractPythonCodePrinterÚArrayPrinterÚ
tensorflowc                   óð  a a€ ] tR t^t oRtRt/ ]P                  Rb]P                  Rb]P                  Rb]P                  Rb]P                  Rb]P                  Rb]R	b]P                  R
b]P                  Rb]P                   Rb]P"                  Rb]P$                  Rb]P&                  Rb]P(                  Rb]P*                  Rb]P,                  Rb]P.                  Rb/ ]P0                  Rb]P2                  Rb]P4                  Rb]P6                  Rb]P8                  Rb]P:                  Rb]P<                  Rb]P>                  Rb]P@                  Rb]PB                  Rb]PD                  Rb]PF                  Rb]PH                  R b]PJ                  R!b]PL                  R"b]PN                  R#b]PP                  R$bC]PR                  R%]PT                  R&]PV                  R']PX                  R(]PZ                  R)]P\                  R*/Ct/]0! ]1Pd                  R+R,7      t2R@V 3R- llt3V 3R. lt4]4t5]4t6]4t7]4t8]4t9]4t:]4t;]4t<]4t=]4t>R/ t?R0 t@R1 tAR2 tBR3 tCR4 tDR5 tER6 tFR7 tGR8 tHR9 tIR:tJR;tKR<tLR=tMR>tNR?tOR,tPVtQV ;tR# )AÚTensorflowPrinterzx
Tensorflow printer which handles vectorized piecewise functions,
logical operators, max/min, and relational operators.
Ú_tensorflowcodeztensorflow.math.absztensorflow.math.signztensorflow.math.ceilztensorflow.math.floorztensorflow.math.logztensorflow.math.expútensorflow.math.sqrtztensorflow.math.cosztensorflow.math.acosztensorflow.math.sinztensorflow.math.asinztensorflow.math.tanztensorflow.math.atanztensorflow.math.atan2ztensorflow.math.coshztensorflow.math.acoshztensorflow.math.sinhztensorflow.math.asinhztensorflow.math.tanhztensorflow.math.atanhztensorflow.math.realztensorflow.math.imagztensorflow.math.angleztensorflow.math.erfztensorflow.math.lgammaztensorflow.math.equalztensorflow.math.not_equalztensorflow.math.greaterztensorflow.math.lessztensorflow.math.less_equalztensorflow.math.greater_equalztensorflow.math.logical_andztensorflow.math.logical_orztensorflow.math.logical_notztensorflow.math.maximumztensorflow.math.minimumztensorflow.math.addztensorflow.math.multiplyztensorflow.linalg.traceztensorflow.linalg.detN)Útensorflow_versionc                ó˜   <€ \         SV `  V4       V P                  R ,          pVf   \        '       d   \        P                  pW n        R# )r   N)ÚsuperÚ__init__Ú	_settingsr   Ú__version__r   )ÚselfÚsettingsÚversionÚ	__class__s   && €ÚZ/home/luca/screen-checking/.venv/lib/python3.14/site-packages/sympy/printing/tensorflow.pyr   ÚTensorflowPrinter.__init__S   s9   ø€ Ü‰Ñ˜Ô"à—.‘.Ð!5Õ6ˆØŠ?Ÿz›zÜ ×,Ñ,ˆGØ")Öó    c                óR  <€ V P                   P                  \        V4      R 4      pVf   \        SV `  V4      # VP
                   Uu. uF  q0P                  V4      NK  	  pp\        V4      ^8X  d!   V P                  V4      : RV^ ,          : R2# V P                  W$4      # u upi )NÚ(Ú))
ÚmappingÚgetÚtyper   Ú_print_BasicÚargsÚ_printÚlenÚ_module_formatÚ_expand_fold_binary_op)r   ÚexprÚopÚargÚchildrenr   s   &&   €r   Ú_print_FunctionÚ!TensorflowPrinter._print_Function[   s–   ø€ Ø�\‰\×Ñœd 4›j¨$Ó/ˆØŠ:Ü‘7Ñ'¨Ó-Ð-Ø04·	²	Ó:±	¨—K‘K Ö$±	ˆÐ:Üˆx‹=˜AÔà×#Ñ# BÖ'Ø˜—�ðð ð
 ×.Ñ.¨rÓ<Ð<ùò ;s   ÁB$c                óx   € V P                  R 4      pRP                  W P                  VP                  4      4      # )ztensorflow.linalg.invú{}({}))r(   Úformatr&   r,   )r   r*   r+   s   && r   Ú_print_InverseÚ TensorflowPrinter._print_Inverset   s/   € Ø× Ñ Ð!8Ó9ˆØ�‰˜r§;¡;¨t¯x©xÓ#8Ó9Ð9r   c                óö   € V P                   pV'       d,   \        V4      \        R 4      8  d   V P                  R4      pMV P                  R4      pRP                  W0P	                  VP
                  4      4      # )z1.14ztensorflow.matrix_transposez"tensorflow.linalg.matrix_transposer1   )r   r   r(   r2   r&   r,   )r   r*   r   r+   s   &&  r   Ú_print_TransposeÚ"TensorflowPrinter._print_Transposex   s_   € Ø×)Ñ)ˆß”} WÓ-´¸fÓ0EÔEØ×$Ñ$Ð%BÓC‰Bà×$Ñ$Ð%IÓJˆBØ�‰˜r§;¡;¨t¯x©xÓ#8Ó9Ð9r   c                óÜ   a a€ VP                   p\        ;QJ d    R  V 4       F  '       g   K   RM	  RM! R  V 4       4      '       d   \        R4      hV V3R loS! VP                  V4      # )c              3   óB   "  € T F  p\        V\        4      x € K  	  R # 5i©N)Ú
isinstancer   )Ú.0Úis   & r   Ú	<genexpr>Ú6TensorflowPrinter._print_Derivative.<locals>.<genexpr>‚   s   é € Ð:±	¨1Œz˜!œX×&Ð&³	ùs   ‚TFz1derivation by multiple variables is not supportedc                 ó®   <€ V'       g   SP                  V 4      # SP                  R 4      : RS! WRR 4      : RSP                  VR,          4      : R2# )ztensorflow.gradientsr   Nú, z)[0]éÿÿÿÿ)r&   r(   )r*   r%   r   Úunfolds   &&€€r   rC   Ú3TensorflowPrinter._print_Derivative.<locals>.unfold„   sL   ø€ ßØ—{‘{ 4Ó(Ð(à×'Ñ'Ð(>Ö?Ù˜4 c r Ö+Ø—K‘K  R¥Ö)ðð r   )Ú	variablesÚanyÚNotImplementedErrorr*   )r   r*   rE   rC   s   f& @r   Ú_print_DerivativeÚ#TensorflowPrinter._print_Derivative€   sQ   ù€ Ø—N‘Nˆ	ß‹3Ñ:±	Ó:�3�3Š3Ñ:±	Ó:×:Ò:Ü%Ð&YÓZÐZö	ñ �d—i‘i Ó+Ð+r   c                ó0  € V P                   pV'       d   \        V4      \        R 4      8  d   RpMRp^ RIHp VP                  ^ ,          P                  w  rV\        VP                  4      ^8X  dB   RP                  V P                  V4      V P                  V4      V P                  V4      ^ 4      # RP                  V P                  V4      V P                  V4      V P                  V4      V P                  V! VP                  R,          !  4      4      # )z1.0ztensorflow.selectztensorflow.where)Ú	Piecewisez{}({}, {}, {}):é   NN)	r   r   Ú$sympy.functions.elementary.piecewiserK   r%   r'   r2   r(   r&   )r   r*   r   Útensorflow_piecewiserK   ÚeÚconds   &&     r   Ú_print_PiecewiseÚ"TensorflowPrinter._print_PiecewiseŽ   så   € Ø×)Ñ)ˆß”} WÓ-´¸eÓ0DÔDØ#6Ñ à#5Ð åBØ—)‘)˜A•,×#Ñ#‰ˆÜˆt�y‰y‹>˜QÔØ#×*Ñ*Ø×#Ñ#Ð$8Ó9Ø—‘˜DÓ!Ø—‘˜A“Øó	ð ð  ×&Ñ&Ø×ÑÐ 4Ó5Ø�K‰K˜ÓØ�K‰K˜‹NØ�K‰K™	 4§9¡9¨R¥=Ñ1Ó2ó	4ð 	4r   c                ó<  € VP                   w  r#VP                  \        P                  8X  d1   R P	                  V P                  R4      V P                  V4      4      # RP	                  V P                  R4      V P                  V4      V P                  V4      4      # )r1   r   z
{}({}, {})ztensorflow.math.pow)r%   Úexpr   ÚHalfr2   r(   r&   )r   r*   ÚbaserT   s   &&  r   Ú
_print_PowÚTensorflowPrinter._print_Pow¤   s…   € ð —I‘I‰	ˆØ�8‰8”q—v‘vÔØ—?‘?Ø×#Ñ#Ð$:Ó;¸T¿[¹[ÈÓ=NóPð Pà×"Ñ"Ø×ÑÐ 5Ó6Ø�K‰K˜Ó˜tŸ{™{¨3Ó/ó1ð 	1r   c                ój  € VP                   '       d   R MRpRRP                  VP                  4        UUu. uF@  pRRP                  V Uu. uF  q@P                  V4      NK  	  up4      ,           R,           NKB  	  upp4      ,           R,           pV P	                  V4      : RV: R2# u upi u uppi )ztensorflow.Variableztensorflow.constantÚ[rA   Ú]r   r    )Úfree_symbolsÚjoinÚtolistr&   r(   )r   r*   Útensorflow_fr=   ÚjÚdatas   &&    r   Ú_print_MatrixBaseÚ#TensorflowPrinter._print_MatrixBase¯   sš   € Ø04×0A×0AÐ0AÑ,ÐG\ˆØ�4—9‘9ÐVZ×VaÑVaÔVcÔdÑVcÐQR˜c $§)¡)ÁQÓ,GÁQÀ¯[©[¸®^ÁQÑ,GÓ"HÕHÈ×LÐLÑVcÒdÓeÕeÐfiÕiˆà×Ñ Ö-Ûð
ð 	
ùò -HùÓds   ¶B/ÁB*Á$B/Â*B/c                óˆ  € ^ RI Hp VP                   Uu. uF  p\        W24      '       g   K  VNK  	  ppVP                   Uu. uF  q3V9  g   K  VNK  	  ppV'       dI   V P	                  \
        P                  ! V4      \        R,          4      : RV P                  RV4      : 2# V P                  RV4      # u upi u upi )r   )Ú
MatrixExprr   Ú*útensorflow.linalg.matmul)	Úsympy.matrices.expressionsre   r%   r;   Úparenthesizer   Úfromiterr	   r)   )r   r*   re   r,   Úmat_argsr%   s   &&    r   Ú_print_MatMulÚTensorflowPrinter._print_MatMul·   s¦   € Ý9Ø#'§9¢9ÓL¡9˜C´
¸3×0K—C�C¡9ˆÐLØ#ŸyšyÓ@™y˜°xÑ,?—�™yˆÐ@ßà×!Ñ!¤#§,¢,¨tÓ"4´jÀÕ6GÖHØ×+Ñ+Ø.°õ:ðð ð ×.Ñ.Ø*¨Hó6ð 6ùò MùÚ@s   •B:­B:ÁB?ÁB?c                ó^   € V P                  R VP                  .VP                  ,          4      # )rg   )r)   rV   rT   )r   r*   s   &&r   Ú_print_MatPowÚTensorflowPrinter._print_MatPowÅ   s)   € Ø×*Ñ*Ø&¨¯©¨°D·H±HÕ(<ó>ð 	>r   c                óŽ   € . pVP                    F#  pVP                  V P                  V4      4       K%  	  R P                  V4      # )Ú
)r%   Úappendr&   r]   )r   r*   ÚretÚsubexprs   &&  r   Ú_print_CodeBlockÚ"TensorflowPrinter._print_CodeBlockÉ   s8   € àˆØ—y”yˆGØ�J‰J�t—{‘{ 7Ó+Ö,ñ !à�y‰y˜‹~Ðr   c                ó>   € R V P                   ! VP                  !   R2# )ztensorflow.math.is_nan(r    ©r&   r%   ©r   rT   s   &&r   Ú_print_isnanÚTensorflowPrinter._print_isnanÐ   ó   € Ø(¨¯ª°c·h±hÑ)?Ð(@ÀÐBÐBr   c                ó>   € R V P                   ! VP                  !   R2# )ztensorflow.math.is_inf(r    ry   rz   s   &&r   Ú_print_isinfÚTensorflowPrinter._print_isinfÓ   r}   r   r   zlinalg.einsumzmath.addÚ	transposeÚonesÚzerosr:   )SÚ__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__ÚprintmethodÚsympyÚAbsÚsignÚceilingÚfloorÚlogrT   r   ÚcosÚacosÚsinÚasinÚtanÚatanÚatan2ÚcoshÚacoshÚsinhÚasinhÚtanhÚatanhÚreÚimr,   ÚerfÚloggammaÚEqÚNeÚStrictGreaterThanÚStrictLessThanÚLessThanÚGreaterThanÚAndÚOrÚNotÚMaxÚMinÚMatAddÚHadamardProductÚTraceÚDeterminantr!   Údictr
   Ú_default_settingsr   r.   Ú_print_ExprÚ_print_ApplicationÚ_print_MatrixExprÚ_print_RelationalÚ
_print_NotÚ
_print_AndÚ	_print_OrÚ_print_HadamardProductÚ_print_TraceÚ_print_Determinantr3   r6   rH   rQ   rW   rb   rl   ro   rv   r{   r   Ú_moduleÚ_einsumÚ_addÚ
_transposeÚ_onesÚ_zerosÚ__static_attributes__Ú__classdictcell__Ú__classcell__)r   Ú__classdict__s   @@r   r   r      so  ù‡ € ñð $€Kð5Ø�	‰	Ð(ð5à�
‰
Ð*ð5ð
 	�‰Ð-ð5ð 	�‰Ð,ð5ð 	�	‰	Ð(ð5ð 	�	‰	Ð(ð5ð 	Ð$ð5ð 	�	‰	Ð(ð5ð 	�
‰
Ð*ð5ð 	�	‰	Ð(ð5ð 	�
‰
Ð*ð5ð 	�	‰	Ð(ð5ð 	�
‰
Ð*ð5ð  	�‰Ð,ð!5ð$ 	�
‰
Ð*ð%5ð& 	�‰Ð,ð'5ð( 	�
‰
Ð*ñ)5ð* 	�‰Ð,ð+5ð, 	�
‰
Ð*ð-5ð. 	�‰Ð,ð/5ð2 	�‰Ð(ð35ð4 	�‰Ð(ð55ð6 	�	‰	Ð*ð75ð< 	�	‰	Ð(ð=5ð> 	�‰Ð0ð?5ðB 	�‰Ð)ðC5ðD 	�‰Ð-ðE5ðF 	×ÑÐ!:ðG5ðH 	×ÑÐ4ðI5ðJ 	�‰Ð4ðK5ðL 	×ÑÐ:ðM5ðP 	�	‰	Ð0ðQ5ðR 	�‰Ð.ðS5ðT 	�	‰	Ð0ñU5ðV 	�	‰	Ð,Ø�	‰	Ð,ð 	�‰Ð+Ø×ÑÐ9Ø�‰Ð.ð 	×ÑÐ3ñi5€Gñn Ø!×3Ñ3ØôÐ÷
*õ=ð "€KØ(ÐØ'Ðà'ÐØ €JØ €JØ€IØ,ÐØ"€LØ(Ðò:ò:ò,ò4ò,	1ò
ò6ò>òòCòCð €GØ€GØ€DØ€JØ€EØ‡F€Fr   r   c                 ó:   € \        V4      pVP                  V 4      # r:   )r   Údoprint)r*   r   Úprinters   &, r   Útensorflow_coderÉ   Þ   s   € Ü Ó)€GØ�?‰?˜4Ó Ð r   )Úsympy.codegenrŠ   Úsympy.codegen.cfunctionsÚsympy.external.importtoolsr   Úcollections.abcr   Úsympy.core.mulr   Úsympy.core.singletonr   r   Úsympy.externalr   Úsympy.printing.precedencer	   Úsympy.printing.pycoder
   r   r   r   rÉ   © r   r   Ú<module>rÔ      sG   ðÛ Û Ý 4Ý $å Ý "Ý )Ý (Ý 0ß IÛ á˜<Ó(€
ôK˜Ð&?ô Kô\!r   