§
    «³ÙgYM  ã                   óª   — d dl Z d dlZd dlmZ d dlmZ  ed¦  «        Zer	d dlmZmZ n G d„ d¦  «        Z G d„ d	¦  «        Z G d
„ de¦  «        Z	dS )é    N)Úimport_module)ÚLaTeXParsingErrorÚlark)ÚTransformerÚTokenc                   ó   — e Zd Zd„ ZdS )r   c                 ó   — d S ©N© )ÚselfÚargss     úZ/granary/edev/quantum/lib/python3.11/site-packages/sympy/parsing/latex/lark/transformer.pyÚ	transformzTransformer.transform   s   € ØˆDó    N)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s#   € € € € € ð	ð 	ð 	ð 	ð 	r   r   c                   ó   — e Zd ZdS )r   N)r   r   r   r   r   r   r   r      s   € € € € € Øˆr   r   c                   ó  — e Zd ZdZej        Zej        j        j	        Z
d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d„ Z"d„ Z#d„ Z$d„ Z%d„ Z&d„ Z'd„ Z(d „ Z)d!„ Z*d"„ Z+d#„ Z,d$„ Z-d%„ Z.d&„ Z/d'„ Z0d(„ Z1d)„ Z2d*„ Z3d+„ Z4d,„ Z5d-„ Z6d.„ Z7d/„ Z8d0„ Z9d1„ Z:d2„ Z;d3„ Z<d4„ Z=d5„ Z>d6„ Z?d7„ Z@d8„ ZAd9„ ZBd:„ ZCd;„ ZDd<„ ZEd=„ ZFd>„ ZGd?„ ZHd@„ ZIdA„ ZJdB„ ZKdC„ ZLdD„ ZMdE„ ZNdF„ ZOdG„ ZPdH„ ZQdI„ ZRdJ„ ZSdK„ ZTdL„ ZUdM„ ZVdNeWfdO„ZXdPS )QÚTransformToSymPyExpra   Returns a SymPy expression that is generated by traversing the ``lark.Tree``
    passed to the ``.transform()`` function.

    Notes
    =====

    **This class is never supposed to be used directly.**

    In order to tweak the behavior of this class, it has to be subclassed and then after
    the required modifications are made, the name of the new class should be passed to
    the :py:class:`LarkLaTeXParser` class by using the ``transformer`` argument in the
    constructor.

    Parameters
    ==========

    visit_tokens : bool, optional
        For information about what this option does, see `here
        <https://lark-parser.readthedocs.io/en/latest/visitors.html#lark.visitors.Transformer>`_.

        Note that the option must be set to ``True`` for the default parser to work.
    c                 ó   — t           j        S r
   )ÚsympyÚoo©r   Útokenss     r   Ú	CMD_INFTYzTransformToSymPyExpr.CMD_INFTY1   s	   € ÝŒxˆr   c                 óf   — t          j        dd|dd …         ¦  «        }t          j        |¦  «        S )NÚvarÚ é   )ÚreÚsubr   ÚSymbol)r   r   Úvariable_names      r   ÚGREEK_SYMBOLz!TransformToSymPyExpr.GREEK_SYMBOL4   s/   € õ œ˜u b¨&°°°¬*Ñ5Ô5ˆåŒ|˜MÑ*Ô*Ð*r   c                 óÞ   — |j                              d¦  «        \  }}|                     d¦  «        r"t          j        |›d|dd…         ›d�¦  «        S t          j        |›d|›d�¦  «        S )NÚ_Ú{ú_{r    éÿÿÿÿÚ})ÚvalueÚsplitÚ
startswithr   r#   )r   r   Úsymbolr"   s       r   ÚBASIC_SUBSCRIPTED_SYMBOLz-TransformToSymPyExpr.BASIC_SUBSCRIPTED_SYMBOL;   sq   € Ø”l×(Ò(¨Ñ-Ô-‰ˆ�Ø�>Š>˜#ÑÔð 	;Ý”<¨V¨V¨V°S¸¸2¸´Y°Y°YÐ ?Ñ@Ô@Ð@å”<¨V¨V¨V°S°S°SÐ 9Ñ:Ô:Ð:r   c                 ó  — |j                              d¦  «        \  }}t          j        dd|dd …         ¦  «        }|                     d¦  «        r"t          j        |›d|dd…         ›d�¦  «        S t          j        |›d|›d�¦  «        S )	Nr'   r   r   r    r(   r)   r*   r+   )r,   r-   r!   r"   r.   r   r#   )r   r   Úgreek_letterr"   s       r   ÚGREEK_SUBSCRIPTED_SYMBOLz-TransformToSymPyExpr.GREEK_SUBSCRIPTED_SYMBOLB   s�   € Ø"œL×.Ò.¨sÑ3Ô3Ñˆ�cÝ”v˜e R¨°a°b°bÔ)9Ñ:Ô:ˆà�>Š>˜#ÑÔð 	AÝ”<¨\¨\¨\¸3¸qÀ¸t¼9¸9¸9Ð EÑFÔFÐFå”<¨\¨\¨\¸3¸3¸3Ð ?Ñ@Ô@Ð@r   c                 óN  — |j                              d¦  «        \  }}|                     d¦  «        r:|dd…         }t          j        dd|¦  «        }t          j        |›d|›d�¦  «        S |d	d …         }t          j        dd|¦  «        }t          j        |›d|›d�¦  «        S )
Nr'   r(   é   r*   r   r   r)   r+   r    )r,   r-   r.   r!   r"   r   r#   )r   r   r/   r"   r2   s        r   ÚSYMBOL_WITH_GREEK_SUBSCRIPTz0TransformToSymPyExpr.SYMBOL_WITH_GREEK_SUBSCRIPTK   sª   € Ø”l×(Ò(¨Ñ-Ô-‰ˆ�Ø�>Š>˜#ÑÔð 		DØ˜q ˜tœ9ˆLÝœ6 %¨¨\Ñ:Ô:ˆLå”<¨V¨V¨V°\°\°\Ð BÑCÔCÐCà˜q˜r˜rœ7ˆLÝœ6 %¨¨\Ñ:Ô:ˆLå”<¨V¨V¨V°\°\°\Ð BÑCÔCÐCr   c                 ó6   — t          j        |d         ¦  «        S ©Nr5   )r   r#   r   s     r   Úmulti_letter_symbolz(TransformToSymPyExpr.multi_letter_symbolX   s   € ÝŒ|˜F 1œIÑ&Ô&Ð&r   c                 ó¾   — d|d         v r*t           j        j                             |d         ¦  «        S t           j        j                             |d         ¦  «        S )Nú.r   )r   ÚcoreÚnumbersÚFloatÚIntegerr   s     r   ÚnumberzTransformToSymPyExpr.number[   sK   € Ø�&˜”)ÐÐÝ”:Ô%×+Ò+¨F°1¬IÑ6Ô6Ð6å”:Ô%×-Ò-¨f°Q¬iÑ8Ô8Ð8r   c                 ó   — |d         S ©Nr   r   r   s     r   Úlatex_stringz!TransformToSymPyExpr.latex_stringa   ó   € Ø�aŒyÐr   c                 ó   — |d         S ©Nr    r   r   s     r   Úgroup_round_parenthesesz,TransformToSymPyExpr.group_round_parenthesesd   rD   r   c                 ó   — |d         S rF   r   r   s     r   Úgroup_square_bracketsz*TransformToSymPyExpr.group_square_bracketsg   rD   r   c                 ó   — |d         S rF   r   r   s     r   Úgroup_curly_parenthesesz,TransformToSymPyExpr.group_curly_parenthesesj   rD   r   c                 óD   — t          j        |d         |d         ¦  «        S ©Nr   r5   )r   ÚEqr   s     r   ÚeqzTransformToSymPyExpr.eqm   ó   € ÝŒx˜˜qœ	 6¨!¤9Ñ-Ô-Ð-r   c                 óD   — t          j        |d         |d         ¦  «        S rM   )r   ÚNer   s     r   ÚnezTransformToSymPyExpr.nep   rP   r   c                 óD   — t          j        |d         |d         ¦  «        S rM   )r   ÚLtr   s     r   ÚltzTransformToSymPyExpr.lts   rP   r   c                 óD   — t          j        |d         |d         ¦  «        S rM   )r   ÚLer   s     r   ÚltezTransformToSymPyExpr.ltev   rP   r   c                 óD   — t          j        |d         |d         ¦  «        S rM   )r   ÚGtr   s     r   ÚgtzTransformToSymPyExpr.gty   rP   r   c                 óD   — t          j        |d         |d         ¦  «        S rM   )r   ÚGer   s     r   ÚgtezTransformToSymPyExpr.gte|   rP   r   c                 óD   — t          j        |d         |d         ¦  «        S rM   )r   ÚAddr   s     r   ÚaddzTransformToSymPyExpr.add   ó   € ÝŒy˜ œ F¨1¤IÑ.Ô.Ð.r   c                 ó¨   — t          |¦  «        dk    r	|d          S t          |¦  «        dk    r"t          j        |d         |d          ¦  «        S d S )Nr5   r    é   r   )Úlenr   ra   r   s     r   r"   zTransformToSymPyExpr.sub‚   sT   € Ýˆv‰;Œ;˜!ÒÐØ˜1”I�:ÐÝ�‰[Œ[˜AÒÐÝ”9˜V AœY¨°¬¨
Ñ3Ô3Ð3ð Ðr   c                 óD   — t          j        |d         |d         ¦  «        S rM   )r   ÚMulr   s     r   ÚmulzTransformToSymPyExpr.mulˆ   rc   r   c                 ój   — t          j        |d         t          j        |d         d¦  «        ¦  «        S )Nr   r5   r*   ©r   rh   ÚPowr   s     r   ÚdivzTransformToSymPyExpr.div‹   s(   € ÝŒy˜ œ¥E¤I¨f°Q¬i¸Ñ$<Ô$<Ñ=Ô=Ð=r   c                 óÈ  — ddl m}m} t          |d         |¦  «        r4t          |d         |¦  «        rddl m}  ||d         |d         ¦  «        S |d         t          j        d¦  «        k    r|d         |d         fS t          |d         t          ¦  «        r't          j        |d         |d         d         ¦  «        S t          j	        |d         |d         ¦  «        S )Nr   )ÚBraÚKetr    )ÚOuterProductÚd)
Úsympy.physics.quantumro   rp   Ú
isinstancerq   r   r#   ÚtupleÚ
Derivativerh   )r   r   ro   rp   rq   s        r   Úadjacent_expressionsz)TransformToSymPyExpr.adjacent_expressionsŽ   sî   € ð 	3Ð2Ð2Ð2Ð2Ð2Ð2Ð2Ý�f˜Q”i Ñ%Ô%ð 
	3­*°V¸A´YÀÑ*DÔ*Dð 
	3Ø:Ð:Ð:Ð:Ð:Ð:Ø�<  q¤	¨6°!¬9Ñ5Ô5Ð5Ø�AŒY�%œ, sÑ+Ô+Ò+Ð+à˜!”9˜f QœiÐ'Ð'Ý˜˜qœ	¥5Ñ)Ô)ð 	3åÔ# F¨1¤I¨v°a¬y¸¬|Ñ<Ô<Ð<å”9˜V AœY¨¨q¬	Ñ2Ô2Ð2r   c                 óD   — t          j        |d         |d         ¦  «        S rM   )r   rl   r   s     r   Úsuperscriptz TransformToSymPyExpr.superscriptž   rc   r   c                 óÆ   — |d         }t          |d         t          ¦  «        r|d         \  }}d|fS |d         }t          j        |t          j        |d¦  «        ¦  «        S )Nr    r5   Ú
derivativer*   )rt   ru   r   rh   rl   )r   r   Ú	numeratorr'   ÚvariableÚdenominators         r   ÚfractionzTransformToSymPyExpr.fraction¡   sc   € Ø˜1”Iˆ	Ý�f˜Q”i¥Ñ'Ô'ð 	Dà  œ)‰KˆAˆxð   Ð)Ð)à  œ)ˆKÝ”9˜Y­¬	°+¸rÑ(BÔ(BÑCÔCÐCr   c                 óD   — t          j        |d         |d         ¦  «        S )Nr    r5   )r   Úbinomialr   s     r   r�   zTransformToSymPyExpr.binomial­   s   € ÝŒ~˜f Qœi¨°¬Ñ3Ô3Ð3r   c                 ó@  — d }d }d|v r|                      d¦  «        }d|v r|                      d¦  «        }|r||dz            nd }|r||dz            nd }|                      |¦  «        }|€t          d¦  «        ‚|                      |¦  «        dz   }||         }|�|€t          d¦  «        ‚|�|€t          d¦  «        ‚|�||dz
  k    rd}	n"|�||dz
  k    rd}	n|dk    rd}	n||dz
           }	|�t          j        |	|||f¦  «        S t          j        |	|¦  «        S )	Nr'   ú^r    ztDifferential symbol was not found in the expression.Valid differential symbols are "d", "\text{d}, and "\mathrm{d}".úFLower bound for the integral was found, but upper bound was not found.úFUpper bound for the integral was found, but lower bound was not found.re   r5   )ÚindexÚ_extract_differential_symbolr   r   ÚIntegral)
r   r   Úunderscore_indexÚcaret_indexÚlower_boundÚupper_boundÚdifferential_symbolÚdifferential_variable_indexÚdifferential_variableÚ	integrands
             r   Únormal_integralz$TransformToSymPyExpr.normal_integral°   sª  € ØÐØˆà�&ˆ=ˆ=ð  &Ÿ|š|¨CÑ0Ô0Ðà�&ˆ=ˆ=ð !Ÿ,š, sÑ+Ô+ˆKà6FÐP�fÐ-°Ñ1Ô2Ð2ÈDˆØ1<ÐF�f˜[¨1™_Ô-Ð-À$ˆà"×?Ò?ÀÑGÔGÐàÐ&Ý#ð %nñ oô oð oð '-§l¢lÐ3FÑ&GÔ&GÈ!Ñ&KÐ#Ø &Ð'BÔ CÐð Ð" {Ð':å#Ð$lÑmÔmÐmàÐ" {Ð':å#Ð$lÑmÔmÐmð Ð'Ð,<Ð@[Ð^_Ñ@_Ò,_Ð,_ð ˆIˆIØÐ$¨Ð8SÐVWÑ8WÒ)WÐ)Wð ˆIˆIØ(¨AÒ-Ð-ð ˆIˆIð Ð:¸QÑ>Ô?ˆIàÐ"õ
 ”> )Ð.CÀ[ÐR]Ð-^Ñ_Ô_Ð_õ ”> )Ð-BÑCÔCÐCr   c                 ó†   — t          |¦  «        dk    r
d|d         fS t          |¦  «        dk    r|d         |d         fS d S )Nre   r    é   r5   )rf   r   s     r   Úgroup_curly_parentheses_intz0TransformToSymPyExpr.group_curly_parentheses_intó   sO   € õ ˆv‰;Œ;˜!ÒÐØ�f˜Q”i�<ÐÝ�‰[Œ[˜AÒÐØ˜!”9˜f QœiÐ'Ð'ð Ðr   c                 ó|   — |d         \  }}|d         }t          j        |t          j        |d¦  «        ¦  «        |fS )Nr    r5   r*   rk   )r   r   r|   r}   r~   s        r   Úspecial_fractionz%TransformToSymPyExpr.special_fractionü   s>   € Ø$ QœiÑˆ	�8Ø˜Q”iˆõ Œy˜¥E¤I¨k¸2Ñ$>Ô$>Ñ?Ô?ÀÐIÐIr   c                 ój  — d }d }d|v r|                      d¦  «        }d|v r|                      d¦  «        }|r||dz            nd }|r||dz            nd }|�|€t          d¦  «        ‚|�|€t          d¦  «        ‚|d         \  }}|�t          j        ||||f¦  «        S t          j        ||¦  «        S )Nr'   rƒ   r    r„   r…   r*   )r†   r   r   rˆ   )r   r   r‰   rŠ   r‹   rŒ   r�   r�   s           r   Úintegral_with_special_fractionz3TransformToSymPyExpr.integral_with_special_fraction  sõ   € ØÐØˆà�&ˆ=ˆ=ð  &Ÿ|š|¨CÑ0Ô0Ðà�&ˆ=ˆ=ð !Ÿ,š, sÑ+Ô+ˆKà6FÐP�fÐ-°Ñ1Ô2Ð2ÈDˆØ1<ÐF�f˜[¨1™_Ô-Ð-À$ˆð Ð" {Ð':å#Ð$lÑmÔmÐmàÐ" {Ð':å#Ð$lÑmÔmÐmà+1°"¬:Ñ(ˆ	Ð(àÐ"õ
 ”> )Ð.CÀ[ÐR]Ð-^Ñ_Ô_Ð_õ ”> )Ð-BÑCÔCÐCr   c                 ó  — |                      d¦  «        }|                      d¦  «        }|                      d|¦  «        }|                      d|¦  «        }||dz   |…         }||dz   d …         }|d         }|d         }	|d         }
||	|
fS )Nr'   rƒ   r(   r+   r    r   r*   ©r†   )r   r   r‰   rŠ   Úleft_brace_indexÚright_brace_indexÚbottom_limitÚ	top_limitÚindex_variableÚlower_limitÚupper_limits              r   Úgroup_curly_parentheses_specialz4TransformToSymPyExpr.group_curly_parentheses_special*  sª   € Ø!Ÿ<š<¨Ñ,Ô,ÐØ—l’l 3Ñ'Ô'ˆð "Ÿ<š<¨Ð-=Ñ>Ô>ÐØ"ŸLšL¨Ð.>Ñ?Ô?ÐàÐ.°Ñ2Ð4EÐEÔFˆð ˜;¨™?Ð+Ð+Ô,ˆ	ð & aœˆØ" 2Ô&ˆØ ”lˆð ˜{¨KÐ7Ð7r   c                 óD   — t          j        |d         |d         ¦  «        S ©Nr5   r    )r   ÚSumr   s     r   Ú	summationzTransformToSymPyExpr.summationM  rc   r   c                 óD   — t          j        |d         |d         ¦  «        S r¤   )r   ÚProductr   s     r   ÚproductzTransformToSymPyExpr.productP  s   € ÝŒ}˜V AœY¨¨q¬	Ñ2Ô2Ð2r   c                 óâ   — |                      d¦  «        }d|v r"|                      d|¦  «        }||dz            }n||dz            }|dk    r
|d         dfS |dk    r
|d         dfS |d         dfS )Nrƒ   r(   r    ú+r   ú-ú+-rš   )r   r   rŠ   Úleft_curly_brace_indexÚ	directions        r   Úlimit_dir_exprz#TransformToSymPyExpr.limit_dir_exprS  s�   € Ø—l’l 3Ñ'Ô'ˆà�&ˆ=ˆ=Ø%+§\¢\°#°{Ñ%CÔ%CÐ"ØÐ5¸Ñ9Ô:ˆIˆIà˜{¨Q™Ô/ˆIà˜ÒÐØ˜!”9˜c�>Ð!Ø˜#ÒÐØ˜!”9˜c�>Ð!à˜!”9˜d�?Ð"r   c                 ó~   — |d         }t          |d         t          ¦  «        r|d         \  }}n
|d         }d}|||fS )Nr    re   r­   )rt   ru   ©r   r   Úlimit_variableÚdestinationr¯   s        r   Úgroup_curly_parentheses_limz0TransformToSymPyExpr.group_curly_parentheses_limc  sL   € Ø œˆÝ�f˜Q”i¥Ñ'Ô'ð 	Ø%+¨A¤YÑ"ˆK˜˜à  œ)ˆKØˆIà˜{¨IÐ5Ð5r   c                 óT   — |d         \  }}}t          j        |d         |||¦  «        S ©Nr5   r*   )r   ÚLimitr²   s        r   ÚlimitzTransformToSymPyExpr.limitm  s,   € Ø17¸´Ñ.ˆ˜ YåŒ{˜6 "œ: ~°{ÀIÑNÔNÐNr   c                 ó   — |d         S rF   r   r   s     r   Údifferentialz!TransformToSymPyExpr.differentialr  rD   r   c                 óD   — t          j        |d         |d         ¦  «        S )Nr*   é   )r   rv   r   s     r   r{   zTransformToSymPyExpr.derivativeu  s   € ÝÔ  r¤
¨F°1¬IÑ6Ô6Ð6r   c                 óR   — t          |¦  «        dk    r|S d„ }t          ||¦  «        S )Nr    c                 óh   — t          | t          ¦  «        r| j        dk    rt          d¦  «        ‚dS dS )NÚCOMMAzAA comma token was expected, but some other token was encountered.FT)rt   r   Útyper   )r   s    r   Úremove_tokensz?TransformToSymPyExpr.list_of_expressions.<locals>.remove_tokens~  s:   € Ý˜d¥EÑ*Ô*ð !Ø”y GÒ+Ð+å/Ð0sÑtÔtÐtØ ˜5Ø�tr   )rf   Úfilter)r   r   rÂ   s      r   Úlist_of_expressionsz(TransformToSymPyExpr.list_of_expressionsx  s;   € Ýˆv‰;Œ;˜!ÒÐð ˆMðð ð õ ˜-¨Ñ0Ô0Ð0r   c                 óH   —  t          j        |d         ¦  «        |d         Ž S rM   )r   ÚFunctionr   s     r   Úfunction_appliedz%TransformToSymPyExpr.function_appliedˆ  s!   € Ø(�uŒ~˜f QœiÑ(Ô(¨&°¬)Ð4Ð4r   c                 ó*   — t          j        |d         Ž S r8   )r   ÚMinr   s     r   ÚminzTransformToSymPyExpr.min‹  ó   € ÝŒy˜& œ)Ð$Ð$r   c                 ó*   — t          j        |d         Ž S r8   )r   ÚMaxr   s     r   ÚmaxzTransformToSymPyExpr.maxŽ  rË   r   c                 ó0   — ddl m}  ||d         ¦  «        S )Nr   )ro   r    )rs   ro   )r   r   ro   s      r   ÚbrazTransformToSymPyExpr.bra‘  ó&   € Ø-Ð-Ð-Ð-Ð-Ð-Øˆs�6˜!”9‰~Œ~Ðr   c                 ó0   — ddl m}  ||d         ¦  «        S )Nr   )rp   r    )rs   rp   )r   r   rp   s      r   ÚketzTransformToSymPyExpr.ket•  rÑ   r   c                 ój   — ddl m}m}m}  | ||d         ¦  «         ||d         ¦  «        ¦  «        S )Nr   )ro   rp   ÚInnerProductr    re   )rs   ro   rp   rÕ   )r   r   ro   rp   rÕ   s        r   Úinner_productz"TransformToSymPyExpr.inner_product™  sJ   € Ø@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Ð@Øˆ|˜C˜C  q¤	™NœN¨C¨C°°q´	©N¬NÑ;Ô;Ð;r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Úsinr   s     r   rØ   zTransformToSymPyExpr.sin�  ó   € ÝŒy˜ œÑ#Ô#Ð#r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Úcosr   s     r   rÛ   zTransformToSymPyExpr.cos   rÙ   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Útanr   s     r   rÝ   zTransformToSymPyExpr.tan£  rÙ   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Úcscr   s     r   rß   zTransformToSymPyExpr.csc¦  rÙ   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Úsecr   s     r   rá   zTransformToSymPyExpr.sec©  rÙ   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Úcotr   s     r   rã   zTransformToSymPyExpr.cot¬  rÙ   r   c                 ó¬   — |d         }|dk    rt          j        |d         ¦  «        S t          j        t          j        |d         ¦  «        |¦  «        S r·   )r   Úasinrl   rØ   ©r   r   Úexponents      r   Ú	sin_powerzTransformToSymPyExpr.sin_power¯  óH   € Ø˜!”9ˆØ�rŠ>ˆ>Ý”:˜f RœjÑ)Ô)Ð)å”9�UœY v¨b¤zÑ2Ô2°HÑ=Ô=Ð=r   c                 ó¬   — |d         }|dk    rt          j        |d         ¦  «        S t          j        t          j        |d         ¦  «        |¦  «        S r·   )r   Úacosrl   rÛ   ræ   s      r   Ú	cos_powerzTransformToSymPyExpr.cos_power¶  ré   r   c                 ó¬   — |d         }|dk    rt          j        |d         ¦  «        S t          j        t          j        |d         ¦  «        |¦  «        S r·   )r   Úatanrl   rÝ   ræ   s      r   Ú	tan_powerzTransformToSymPyExpr.tan_power½  ré   r   c                 ó¬   — |d         }|dk    rt          j        |d         ¦  «        S t          j        t          j        |d         ¦  «        |¦  «        S r·   )r   Úacscrl   rß   ræ   s      r   Ú	csc_powerzTransformToSymPyExpr.csc_powerÄ  ré   r   c                 ó¬   — |d         }|dk    rt          j        |d         ¦  «        S t          j        t          j        |d         ¦  «        |¦  «        S r·   )r   Úasecrl   rá   ræ   s      r   Ú	sec_powerzTransformToSymPyExpr.sec_powerË  ré   r   c                 ó¬   — |d         }|dk    rt          j        |d         ¦  «        S t          j        t          j        |d         ¦  «        |¦  «        S r·   )r   Úacotrl   rã   ræ   s      r   Ú	cot_powerzTransformToSymPyExpr.cot_powerÒ  ré   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   rå   r   s     r   ÚarcsinzTransformToSymPyExpr.arcsinÙ  ó   € ÝŒz˜& œ)Ñ$Ô$Ð$r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   rë   r   s     r   ÚarccoszTransformToSymPyExpr.arccosÜ  rû   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   rî   r   s     r   ÚarctanzTransformToSymPyExpr.arctanß  rû   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   rñ   r   s     r   ÚarccsczTransformToSymPyExpr.arccscâ  rû   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   rô   r   s     r   ÚarcseczTransformToSymPyExpr.arcsecå  rû   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   r÷   r   s     r   ÚarccotzTransformToSymPyExpr.arccotè  rû   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Úsinhr   s     r   r  zTransformToSymPyExpr.sinhë  rû   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Úcoshr   s     r   r	  zTransformToSymPyExpr.coshî  rû   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Útanhr   s     r   r  zTransformToSymPyExpr.tanhñ  rû   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Úasinhr   s     r   r  zTransformToSymPyExpr.asinhô  ó   € ÝŒ{˜6 !œ9Ñ%Ô%Ð%r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Úacoshr   s     r   r  zTransformToSymPyExpr.acosh÷  r  r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Úatanhr   s     r   r  zTransformToSymPyExpr.atanhú  r  r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   ÚAbsr   s     r   ÚabszTransformToSymPyExpr.absý  rÙ   r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Úfloorr   s     r   r  zTransformToSymPyExpr.floor   r  r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Úceilingr   s     r   ÚceilzTransformToSymPyExpr.ceil  s   € ÝŒ}˜V AœYÑ'Ô'Ð'r   c                 ó6   — t          j        |d         ¦  «        S rB   )r   Ú	factorialr   s     r   r  zTransformToSymPyExpr.factorial  ó   € ÝŒ˜v aœyÑ)Ô)Ð)r   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Ú	conjugater   s     r   r  zTransformToSymPyExpr.conjugate	  r  r   c                 óÈ   — t          |¦  «        dk    rt          j        |d         ¦  «        S t          |¦  «        dk    r!t          j        |d         |d         ¦  «        S d S )Nr5   r    re   )rf   r   ÚsqrtÚrootr   s     r   Úsquare_rootz TransformToSymPyExpr.square_root  sZ   € Ýˆv‰;Œ;˜!ÒÐå”:˜f QœiÑ(Ô(Ð(Ý�‰[Œ[˜AÒÐå”:˜f Qœi¨°¬Ñ3Ô3Ð3ð Ðr   c                 ó6   — t          j        |d         ¦  «        S rF   )r   Úexpr   s     r   Úexponentialz TransformToSymPyExpr.exponential  rÙ   r   c                 óT  — |d         j         dk    rt          j        |d         d¦  «        S |d         j         dk    rt          j        |d         ¦  «        S |d         j         dk    r?d|v r!t          j        |d         |d	         ¦  «        S t          j        |d         ¦  «        S d S )
Nr   ÚFUNC_LGr    é
   ÚFUNC_LNÚFUNC_LOGr'   re   r5   )rÁ   r   Úlogr   s     r   r,  zTransformToSymPyExpr.log  s¢   € Ø�!Œ9Œ>˜YÒ&Ð&õ ”9˜V AœY¨Ñ+Ô+Ð+Ø�AŒYŒ^˜yÒ(Ð(Ý”9˜V AœYÑ'Ô'Ð'Ø�AŒYŒ^˜zÒ)Ð)à�fˆ}ˆ}å”y ¨¤¨F°1¬IÑ6Ô6Ð6õ ”y ¨¤Ñ+Ô+Ð+ð *Ð)r   Úsc                 óH   ‡— h d£}t          ˆfd„|D ¦   «         d ¦  «        }|S )N>   ú\text{d}ú
\mathrm{d}rr   c              3   ó$   •K  — | ]
}|‰v ¯|V — Œd S r
   r   )Ú.0r/   r-  s     €r   ú	<genexpr>zDTransformToSymPyExpr._extract_differential_symbol.<locals>.<genexpr>+  s/   øè è € Ð#]Ð#]¨vÐQWÐ[\ÐQ\ÐQ\ FÐQ\ÐQ\ÐQ\ÐQ\Ð#]Ð#]r   )Únext)r   r-  Údifferential_symbolsr�   s    `  r   r‡   z1TransformToSymPyExpr._extract_differential_symbol(  s<   ø€ Ø@Ð@Ð@Ðå"Ð#]Ð#]Ð#]Ð#]Ð9MÐ#]Ñ#]Ô#]Ð_cÑdÔdÐà"Ð"r   N)Yr   r   r   Ú__doc__r   r#   ÚSYMBOLr<   r=   r?   ÚDIGITr   r%   r0   r3   r6   r9   r@   rC   rG   rI   rK   rO   rS   rV   rY   r\   r_   rb   r"   ri   rm   rw   ry   r   r�   r‘   r”   r–   r˜   r¢   r¦   r©   r°   rµ   r¹   r»   r{   rÄ   rÇ   rÊ   rÎ   rÐ   rÓ   rÖ   rØ   rÛ   rÝ   rß   rá   rã   rè   rì   rï   rò   rõ   rø   rú   rý   rÿ   r  r  r  r  r	  r  r  r  r  r  r  r  r  r  r#  r&  r,  Ústrr‡   r   r   r   r   r      sÞ  € € € € € ðð ð. Œ\€FØŒJÔÔ&€Eðð ð ð+ð +ð +ð;ð ;ð ;ðAð Að AðDð Dð Dð'ð 'ð 'ð9ð 9ð 9ðð ð ðð ð ðð ð ðð ð ð.ð .ð .ð.ð .ð .ð.ð .ð .ð.ð .ð .ð.ð .ð .ð.ð .ð .ð/ð /ð /ð4ð 4ð 4ð/ð /ð /ð>ð >ð >ð3ð 3ð 3ð /ð /ð /ð
Dð 
Dð 
Dð4ð 4ð 4ðADð ADð ADðF(ð (ð (ðJð Jð Jð%Dð %Dð %DðN!8ð !8ð !8ðF/ð /ð /ð3ð 3ð 3ð#ð #ð #ð 6ð 6ð 6ðOð Oð Oð
ð ð ð7ð 7ð 7ð1ð 1ð 1ð 5ð 5ð 5ð%ð %ð %ð%ð %ð %ðð ð ðð ð ð<ð <ð <ð$ð $ð $ð$ð $ð $ð$ð $ð $ð$ð $ð $ð$ð $ð $ð$ð $ð $ð>ð >ð >ð>ð >ð >ð>ð >ð >ð>ð >ð >ð>ð >ð >ð>ð >ð >ð%ð %ð %ð%ð %ð %ð%ð %ð %ð%ð %ð %ð%ð %ð %ð%ð %ð %ð%ð %ð %ð%ð %ð %ð%ð %ð %ð&ð &ð &ð&ð &ð &ð&ð &ð &ð$ð $ð $ð&ð &ð &ð(ð (ð (ð*ð *ð *ð*ð *ð *ð4ð 4ð 4ð$ð $ð $ð,ð ,ð ,ð"#¨cð #ð #ð #ð #ð #ð #r   r   )
r!   r   Úsympy.externalr   Úsympy.parsing.latex.errorsr   r   r   r   r   r   r   r   ú<module>r<     sû   ðØ 	€	€	€	à €€€Ø (Ð (Ð (Ð (Ð (Ð (Ø 8Ð 8Ð 8Ð 8Ð 8Ð 8à€}�VÑÔ€àð 	Ø'Ð'Ð'Ð'Ð'Ð'Ð'Ð'Ð'ðð ð ð ð ñ ô ð ð
ð ð ð ð ñ ô ð ð
W#ð W#ð W#ð W#ð W#˜;ñ W#ô W#ð W#ð W#ð W#r   