§
    «³ÙgÝ/  ã                   ó°  — d dl Z d dlZd dlZd dlmZ d dlmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZ d dlmZmZmZmZmZmZ d dlmZ d dlmZ d dlm Z m!Z! d dl"m#Z#m$Z$m%Z%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3m4Z4 d	„ Z5d
„ Z6d„ Z7d„ Z8d„ Z9d„ Z:d„ Z;d„ Z<d„ Z=d„ Z>d„ Z?d„ Z@d„ ZAd„ ZBd„ ZCd„ ZDd„ ZEd„ ZFd„ ZGd„ ZHd„ ZId„ ZJd„ ZKd „ ZLd!„ ZMd"„ ZNd#„ ZOd$„ ZPd%„ ZQdS )&é    N)ÚQ)ÚSymbolÚFunctionÚFloatÚRationalÚIntegerÚIÚMulÚPowÚEqÚLtÚLeÚGtÚGeÚNe)ÚexpÚ	factorialÚ
factorial2ÚsinÚMinÚMax)ÚAnd)ÚLimit)ÚraisesÚskip)Ú
parse_exprÚstandard_transformationsÚrationalizeÚ
TokenErrorÚsplit_symbolsÚimplicit_multiplicationÚconvert_equals_signsÚconvert_xorÚfunction_exponentiationÚlambda_notationÚauto_symbolÚrepeated_decimalsÚ#implicit_multiplication_applicationÚauto_numberÚfactorial_notationÚimplicit_applicationÚ_transformationÚTc                  ól  — t          d¦  «        } i dd| z  “dt          d¦  «        “dt          dd¦  «        “d	ddt          z  z   “d
t	          | ¦  «        “dt          | ¦  «        “dt          | ¦  «        “dt          | dz   ¦  «        dz
  “dt          dd¦  «        “dt          dd¦  «        “dt          dd¦  «        “dt          dd¦  «        “dt          dd¦  «        “dt          dd¦  «        “dt          dd¦  «        “dt          dd¦  «        “d t          d!d"¦  «        “t          d#d$¦  «        d%t          d¦  «         t          d&¦  «        t          d'¦  «        t          d¦  «        g| j        t          dd¦  «        t          t          ddd(¬)¦  «        t          ddd(¬)¦  «        d(¬)¦  «        t          t          | ¦  «        | d*d+¬,¦  «        t          j        | ¦  «        d-œ	¥}|                     ¦   «         D ]\  }}t!          |¦  «        |k    sJ ‚Œt#          t$          d.„ ¦  «         t#          t$          d/„ ¦  «         t#          t$          d0„ ¦  «         t#          t$          d1„ ¦  «         t#          t$          d2„ ¦  «         t#          t$          d3„ ¦  «         t#          t$          d4„ ¦  «         d S )5NÚxz2*xé   z3.00é   z22/7é   é   z2+3jzexp(x)zx!zx!!z(x + 1)! - 1é   z3.[3]é
   z.0[3]é   z3.2[3]éa   z1.3[12]i±  iJ  z	1 + 3.[3]é   z	1 + .0[3]é   z
1 + 3.2[3]é   z.[0011]i�  z0.1[00102] + 1ii˜ i iÎ'  i'  i _7 éÿÿÿÿéþÿÿÿF©Úevaluater   ú-)Údir)	z1.[0191]z10!z-(2)z[-1, -2, 3]zSymbol("x").free_symbolszS('S(3).n(n=3)')zfactorint(12, visual=True)zLimit(sin(x), x, 0, dir="-")z	Q.even(x)c                  ó,   — t          dt          ¦  «        S ©Nr/   )r   r   © ó    ú[/granary/edev/quantum/lib/python3.11/site-packages/sympy/parsing/tests/test_sympy_parser.pyú<lambda>z#test_sympy_parser.<locals>.<lambda>?   s   € Ý�3Õ0Ñ1Ô1ð rD   c                  ó&   — t          dd„ ¬¦  «        S )Nr/   c                 ó   — dS ©Nr4   rC   ©r/   Úys     rE   rF   z5test_sympy_parser.<locals>.<lambda>.<locals>.<lambda>B   s   € °A€ rD   ©Útransformations©r   rC   rD   rE   rF   z#test_sympy_parser.<locals>.<lambda>A   s   € Ý�3¨¨Ð6Ñ6Ô6ð rD   c                  ó(   — t          dd„ f¬¦  «        S )Nr/   c                 ó   — dS rI   rC   rJ   s     rE   rF   z5test_sympy_parser.<locals>.<lambda>.<locals>.<lambda>D   s   € °Q€ rD   rL   rN   rC   rD   rE   rF   z#test_sympy_parser.<locals>.<lambda>C   s   € Ý�3¨¨Ð(8Ð9Ñ9Ô9ð rD   c                  ó$   — t          dd¬¦  «        S )Nr/   )rC   rL   rN   rC   rD   rE   rF   z#test_sympy_parser.<locals>.<lambda>E   s   € �j¨¸eÐDÑDÔD€ rD   c                  ó&   — t          di g g ¦  «        S rB   rN   rC   rD   rE   rF   z#test_sympy_parser.<locals>.<lambda>F   ó   € �j¨¨b°"°bÑ9Ô9€ rD   c                  ó&   — t          dg g i ¦  «        S rB   rN   rC   rD   rE   rF   z#test_sympy_parser.<locals>.<lambda>G   rS   rD   c                  ó&   — t          dg g i ¦  «        S rB   rN   rC   rD   rE   rF   z#test_sympy_parser.<locals>.<lambda>H   rS   rD   )r   r   r   r	   r   r   r   r   Úfree_symbolsr
   r   r   r   r   ÚevenÚitemsr   r   Ú	TypeError)r/   ÚinputsÚtextÚresults       rE   Útest_sympy_parserr]      s  € Ýˆs‰Œ€Að Øˆq�1‰uð à•�a‘”ð ð 	•˜˜Q‘”ð ð 	��A•a‘C‘ð	 ð
 	•#�a‘&”&ð ð 	�i˜‰lŒlð ð 	�z˜!‰}Œ}ð ð 	�	 ! a¡%Ñ(Ô(¨1Ñ,ð ð 	•˜"˜a‘”ð ð 	•˜!˜R‘”ð ð 	•(˜2˜rÑ"Ô"ð ð 	•8˜C Ñ%Ô%ð ð 	•X˜b !‘_”_ð ð 	•X˜b "Ñ%Ô%ð ð 	•h˜s BÑ'Ô'ð ð  	•8˜A˜sÑ#Ô#ð! ð" 	�( 6¨6Ñ2Ô2ð# õ$ ˜U DÑ)Ô)ØÝ˜‘”�Ý ™œ¥W¨R¡[¤[µ'¸!±*´*Ð=Ø$%¤NÝ! ! Q™KœKÝ&)Ý��1˜uÐ%Ñ%Ô%Ý��1˜uÐ%Ñ%Ô%Øð'ñ 'ô 'õ ).­c°!©f¬f°a¸ÀÐ(DÑ(DÔ(DÝ”V˜A‘Y”Yð; ð  ð  €FðB Ÿš™œð *ð *‰ˆˆfÝ˜$ÑÔ 6Ò)Ð)Ð)Ð)Ð)å
�9ð 2ð 2ñ 3ô 3ð 3å
�9ð 7ð 7ñ 8ô 8ð 8å
�9ð :ð :ñ ;ô ;ð ;å
�9ÐDÐDÑEÔEÐEÝ
�9Ð9Ð9Ñ:Ô:Ð:Ý
�9Ð9Ð9Ñ:Ô:Ð:Ý
�9Ð9Ð9Ñ:Ô:Ð:Ð:Ð:rD   c                  ó¬   — dt          dd¦  «        i} t          t          fz   }|                      ¦   «         D ]\  }}t	          ||¬¦  «        |k    sJ ‚Œd S )Nz0.123é{   iè  rL   )r   r   r   rX   r   )rZ   rM   r[   r\   s       rE   Útest_rationalizer`   K   sp   € à•˜#˜tÑ$Ô$ð€Fõ /µ+°Ñ?€OØŸš™œð Kð K‰ˆˆfÝ˜$°Ð@Ñ@Ô@ÀFÒJÐJÐJÐJÐJðKð KrD   c                  óZ   — g d¢} | D ]#}	 t          |¦  «         J ‚# t          $ r Y Œ w xY wd S )N)zx!!!zx!!!!z(!))r   r   ©rZ   r[   s     rE   Útest_factorial_failrc   T   s`   € Ø%Ð%Ð%€Fð ð ð ˆð	Ý�tÑÔÐØˆLøÝð 	ð 	ð 	ØˆKð	øøøð	ð s   Š›
(§(c                  óš   ‡— g d¢} | D ]Št          t          ˆfd„¦  «         Œg d¢} | D ]!Št          t          t          fˆfd„¦  «         Œ"d S )N)z1[1]z.1e1[1]z0x1[1]z1.1j[1]z
1.1[1 + 1]z0.1[[1]]z0x1.1[1]c                  ó"   •— t          ‰ ¦  «        S ©NrN   ©r[   s   €rE   rF   z$test_repeated_fail.<locals>.<lambda>g   s   ø€ ¥*¨TÑ"2Ô"2€ rD   )z0.1[z0.1[1z0.1[]c                  ó"   •— t          ‰ ¦  «        S rf   rN   rg   s   €rE   rF   z$test_repeated_fail.<locals>.<lambda>l   s   ø€ µ*¸TÑ2BÔ2B€ rD   )r   rY   r   ÚSyntaxErrorrb   s    @rE   Útest_repeated_failrj   `   sŽ   ø€ ð ð  ð  €Fð
 ð 4ð 4ˆÝ�yÐ2Ð2Ð2Ð2Ñ3Ô3Ð3Ð3ð (Ð'Ð'€FØð Dð DˆÝ•
�KÐ(Ð*BÐ*BÐ*BÐ*BÑCÔCÐCÐCðDð DrD   c                  ó’   — t          d¦  «        t          dd¦  «        k    sJ ‚t          d¦  «        t          dd¦  «        k    sJ ‚d S )Nz.[1]r4   é	   z1 + .[1]r5   )r   r   rC   rD   rE   Útest_repeated_dot_onlyrm   o   sJ   € Ý�fÑÔ¥¨!¨Q¡¤Ò/Ð/Ð/Ð/Ý�jÑ!Ô!¥X¨b°!¡_¤_Ò4Ð4Ð4Ð4Ð4Ð4rD   c                  ó”   — dd„ i} dt          d¦  «        i}|                     ¦   «         D ]\  }}t          || ¬¦  «        |k    sJ ‚Œd S )NÚmy_functionc                 ó   — | dz   S )Nr0   rC   ©r/   s    rE   rF   z!test_local_dict.<locals>.<lambda>v   s
   €   Q¡€ rD   zmy_function(2)é   ©Ú
local_dict)r   rX   r   )rt   rZ   r[   r\   s       rE   Útest_local_dictru   t   sp   € à��ð€Jð 	�' !™*œ*ð€Fð Ÿš™œð Að A‰ˆˆfÝ˜$¨:Ð6Ñ6Ô6¸&Ò@Ð@Ð@Ð@Ð@ðAð ArD   c                  ó¬   — t           t          t          fz   } t          dd¬¦  «        }t          d¦  «        }t	          dd|i| ¬¦  «        ||z  k    sJ ‚d S )NÚwT)ÚrealrK   Úyxr/   ©rt   rM   ©r   r    r!   r   r   )Útrw   rK   s      rE   Útest_local_dict_split_implmultr}      s]   € Ý ¥MÕ3JÐ#LÑL€AÝˆs˜ÐÑÔ€AÝˆs‰Œ€AÝ�d¨¨A wÀÐBÑBÔBÀaÈÁcÒIÐIÐIÐIÐIÐIrD   c                  óæ   ‡— t          d¦  «        } dt          d¦  «        iŠt          d‰¬¦  «         ‰d         | ¦  «        k    sJ ‚dt          d¦  «        iŠt          t          ˆfd„¦  «         d S )Nr/   ÚfooÚbarúfoo(x)rs   Úbazc                  ó&   •— t          d‰ ¬¦  «        S )Nr�   rs   rN   )Úds   €rE   rF   z/test_local_dict_symbol_to_fcn.<locals>.<lambda>‹   s   ø€ �j¨¸aÐ@Ñ@Ô@€ rD   )r   r   r   r   rY   )r/   r„   s    @rE   Útest_local_dict_symbol_to_fcnr…   †   sx   ø€ Ýˆs‰Œ€AØ	•˜‘”Ð €AÝ�h¨1Ð-Ñ-Ô-°°°5´¸!±´Ò<Ð<Ð<Ð<Ø	•�u‘”Ð€AÝ
�9Ð@Ð@Ð@Ð@ÑAÔAÐAÐAÐArD   c                  óÒ   — dt           i} dt          t          d¦  «        t          d¦  «        ¦  «        i}|                     ¦   «         D ]\  }}t          || ¬¦  «        |k    sJ ‚Œd S )Nr   zQ & Sr   ÚS©Úglobal_dict)r   r   rX   r   )r‰   rZ   r[   r\   s       rE   Útest_global_dictrŠ   Ž   s~   € à•&ð€Kð 	••V˜C‘[”[¥&¨¡+¤+Ñ.Ô.ð€Fð Ÿš™œð Cð C‰ˆˆfÝ˜$¨KÐ8Ñ8Ô8¸FÒBÐBÐBÐBÐBðCð CrD   c                  ó~  — i } t          d| ¦  «         t          t          ¦  «        }|                     ¦   «         D ]$\  }}t	          |t
          j        ¦  «        r|| |<   Œ%t          | d<   t          | d<   |  	                    d¦  «         dt          i}| D ](}t          ||¬¦  «        }|t          |¦  «        k    sJ ‚Œ)d S )Nzfrom sympy import *ÚmaxÚminr   rˆ   )ÚexecÚvarsÚbuiltinsrX   Ú
isinstanceÚtypesÚBuiltinFunctionTyper   r   Úpopr   r   )Údefault_globalsÚbuiltins_dictÚnameÚobjr‰   s        rE   Útest_no_globalsr™   ™   sÝ   € ð €OÝÐ	 Ñ0Ô0Ð0Ý�‘N”N€MØ"×(Ò(Ñ*Ô*ð (ð (‰	ˆˆcÝ�c�5Ô4Ñ5Ô5ð 	(Ø$'ˆO˜DÑ!øÝ €O�EÑÝ €O�EÑð ×Ò˜Ñ!Ô!Ð!Ø�FÐ#€Kàð #ð #ˆÝ˜¨;Ð7Ñ7Ô7ˆØ•f˜T‘l”lÒ"Ð"Ð"Ð"Ð"ð#ð #rD   c                  ó^   — t          t          d„ ¦  «         t          t          d„ ¦  «         d S )Nc                  ó    — t          d¦  «        S )Nz(()rN   rC   rD   rE   rF   z!test_issue_2515.<locals>.<lambda>¯   ó   € �z¨%Ñ0Ô0€ rD   c                  ó    — t          d¦  «        S )Nz"""rN   rC   rD   rE   rF   z!test_issue_2515.<locals>.<lambda>°   rœ   rD   )r   r   rC   rD   rE   Útest_issue_2515rž   ®   s0   € Ý
�:Ð0Ð0Ñ1Ô1Ð1Ý
�:Ð0Ð0Ñ1Ô1Ð1Ð1Ð1rD   c                  óÌ   — t          d¦  «        } d}t          |d¬¦  «        t          |d¬¦  «        k    sJ ‚t          |d¬¦  «                             d| dz   z  ¦  «        sJ ‚d S )Nr/   z2*(x+1)r   r=   Fr0   r4   )r   r   Úequals)r/   Úes     rE   Útest_issue_7663r¢   ³   sr   € Ýˆs‰Œ€AØ€AÝ�a !Ð$Ñ$Ô$­
°1¸uÐ(EÑ(EÔ(EÒEÐEÐEÐEÝ�a !Ð$Ñ$Ô$×+Ò+¨A¨q°©s©GÑ4Ô4Ð4Ð4Ð4Ð4Ð4rD   c                  ó”   — dddddœ} |                       ¦   «         D ]+\  }}t          |d¬¦  «        t          |d¬¦  «        k    sJ ‚Œ,d S )Nú4*-3z(-4)*3z(-2)*x*yzx*(-4)*x)r¤   z-4*3z-2*x*yzx*-4*xFr=   ©rX   r   ©rZ   r[   r\   s      rE   Ú#test_recursive_evaluate_false_10560r§   ¹   ss   € àØØØð	ð €Fð Ÿš™œð Vð V‰ˆˆfÝ˜$¨Ð/Ñ/Ô/µ:¸fÈuÐ3UÑ3UÔ3UÒUÐUÐUÐUÐUðVð VrD   c                  óD  — g d¢} | D ]P}t          |d¬¦  «        }|t          |¦  «        cxk    r%t          |                     ¦   «         ¦  «        k    sn J ‚ŒQt          t          dd¬¦  «        ¦  «        dk    sJ ‚t          t          dd¬¦  «        ¦  «        dk    sJ ‚d S )N)!zAbs(0)zim(0)zre(0)zsign(0)zarg(0)zconjugate(0)zacos(0)zacot(0)zacsc(0)zasec(0)zasin(0)zatan(0)zacosh(0)zacoth(0)zacsch(0)zasech(0)zasinh(0)zatanh(0)zcos(0)zcot(0)zcsc(0)zsec(0)zsin(0)ztan(0)zcosh(0)zcoth(0)zcsch(0)zsech(0)zsinh(0)ztanh(0)zexp(0)úlog(0)zsqrt(0)Fr=   zln(0)r©   zcbrt(0)z0**(1/3))r   ÚstrÚdoit)rZ   ÚcaseÚexprs      rE   Útest_function_evaluate_falser®   Ä   sÆ   € ðð ð €Fð ð 5ð 5ˆÝ˜$¨Ð/Ñ/Ô/ˆØ•s˜4‘y”yÐ4Ð4Ò4Ð4¥C¨¯	ª	©¬Ñ$4Ô$4Ò4Ð4Ð4Ð4Ð4Ð4Ð4Ý�z˜'¨EÐ2Ñ2Ô2Ñ3Ô3°xÒ?Ð?Ð?Ð?Ý�z˜)¨eÐ4Ñ4Ô4Ñ5Ô5¸ÒCÐCÐCÐCÐCÐCrD   c                  ó�   — dddœ} |                       ¦   «         D ]+\  }}t          |d¬¦  «        t          |d¬¦  «        k    sJ ‚Œ,d S )Nz(-10)/5z
(-10)/(-5))z-10/5z-10/-5Fr=   r¥   r¦   s      rE   Útest_issue_10773r°   Ô   sm   € àØðð €Fð Ÿš™œð Vð V‰ˆˆfÝ˜$¨Ð/Ñ/Ô/µ:¸fÈuÐ3UÑ3UÔ3UÒUÐUÐUÐUÐUðVð VrD   c                  óê   — t           t          t          fz   } t          d¦  «        }t          d¦  «        }t          d¦  «        }t	          d¦  «        |k    sJ ‚t	          d| ¬¦  «        ||z  k    sJ ‚d S )Nr/   rK   ÚxyrL   r{   )rM   r/   rK   r²   s       rE   Útest_split_symbolsr³   Ý   sz   € Ý.Ý$Õ&=Ð?ñ@€Oåˆs‰Œ€AÝˆs‰Œ€AÝ	�‰Œ€Bõ �dÑÔ˜rÒ!Ð!Ð!Ð!Ý�d¨OÐ<Ñ<Ô<ÀÀ!ÁÒCÐCÐCÐCÐCÐCrD   c                  ó<  — t           t          t          fz   } t          d¦  «        }t          d¦  «        }t          d¦  «        }t	          d¦  «        }t          d| ¬¦  «        ||z  |dz   z  k    sJ ‚t          d| d|i¬	¦  «        | ||dz   ¦  «        z  k    sJ ‚d S )
Nr/   rK   ÚaÚfzay(x+1)rL   r4   zaf(x+1))rM   rt   )r   r    r!   r   r   r   )rM   r/   rK   rµ   r¶   s        rE   Útest_split_symbols_functionr·   é   s¼   € Ý.Ý$Õ&=Ð?ñ@€Oåˆs‰Œ€AÝˆs‰Œ€AÝˆs‰Œ€AÝ�‰Œ€Aõ �i°ÐAÑAÔAÀQÀqÁSÈ!ÈAÉ#ÁYÒNÐNÐNÐNÝ�i°Ø"% a ð*ñ *ô *Ø-.¨q¨q°°1±©v¬v©Xò6ð 6ð 6ð 6ð 6ð 6rD   c                  ó4  — t           t          t          fz   } t          d¦  «        }t          d¦  «        }t          d¦  «        }t	          d¦  «        }t          d| ¬¦  «        t          |¦  «        dz  k    sJ ‚t          d| ¬¦  «        t          |¦  «        |z  k    sJ ‚t          d| ¬¦  «        t          |¦  «        |z  k    sJ ‚t          d	| ¬¦  «        t           ||¦  «        ¦  «        k    sJ ‚t          d
| ¬¦  «        | ||¦  «        z  k    sJ ‚d S )Nr/   rK   rµ   zsin^2(x)rL   r0   zsin^y(x)zexp^y(x)zE^y(x)za^y(x))r   r#   r$   r   r   r   r   r   )r|   r/   rK   rµ   Úyfcns        rE   Útest_functional_exponentrº   ÷   s  € Ý ¥KÕ1HÐ#IÑI€AÝˆs‰Œ€AÝˆs‰Œ€AÝˆs‰Œ€AÝ�C‰=Œ=€DÝ�j°!Ð4Ñ4Ô4½¸Q¹¼À!¹ÒCÐCÐCÐCÝ�j°!Ð4Ñ4Ô4½¸Q¹¼À!¹ÒCÐCÐCÐCÝ�j°!Ð4Ñ4Ô4½¸Q¹¼À!¹ÒCÐCÐCÐCÝ�h°Ð2Ñ2Ô2µc¸$¸$¸q¹'¼'±l´lÒBÐBÐBÐBÝ�h°Ð2Ñ2Ô2°a¸$¸$¸q¹'¼'±lÒBÐBÐBÐBÐBÐBrD   c                  óX   ‡ — t           t          fz   Š t          t          ˆ fd„¦  «         d S )Nc                  ó&   •— t          d‰ ¬¦  «        S )Nz(1,2),(3,4]rL   rN   rL   s   €rE   rF   z@test_match_parentheses_implicit_multiplication.<locals>.<lambda>  s   ø€ �z¨-ÈÐXÑXÔX€ rD   )r   r!   r   r   rL   s   @rE   Ú.test_match_parentheses_implicit_multiplicationr½     s3   ø€ Ý.Ý.Ð0ñ1€Oå
�:ÐXÐXÐXÐXÑYÔYÐYÐYÐYrD   c                  ób  — t           t          fz   } t          d¦  «        }t          d¦  «        }t          d| ¬¦  «        t	          d|¦  «        k    sJ ‚t          d| ¬¦  «        t	          ||¦  «        k    sJ ‚t          d| ¬¦  «        t	          t	          d|z  |¦  «        d¦  «        k    sJ ‚d S )	Nr/   rK   z1*2=xrL   r0   zy = xz(2*y = x) = FalseF)r   r"   r   r   r   )rM   r/   rK   s      rE   Útest_convert_equals_signsr¿   
  sÉ   € Ý.Ý-Ð0ñ1€Oåˆs‰Œ€AÝˆs‰Œ€AÝ�g¨Ð?Ñ?Ô?Å2ÀaÈÁ8Ä8ÒKÐKÐKÐKÝ�g¨Ð?Ñ?Ô?Å2ÀaÈÁ8Ä8ÒKÐKÐKÐKÝÐ)Ø'ð)ñ )ô )Ý,.­r°!°A±#°q©z¬z¸5Ñ,AÔ,AòBð Bð Bð Bð Bð BrD   c                  ó~   — t          d¦  «        } t          d¦  «        }t          d¦  «         || ¦  «        k    sJ ‚d S )Nr/   r¶   zf(x))r   r   r   )r/   r¶   s     rE   Útest_parse_function_issue_3539rÁ     s?   € Ýˆs‰Œ€AÝ�‰Œ€AÝ�fÑÔ   1¡¤Ò%Ð%Ð%Ð%Ð%Ð%rD   c            
      ó:  — t          ddd¬¦  «        t          ddd¬¦  «        t          ddd¬¦  «        t          ddd¬¦  «        t	          ddd¬¦  «        t          ddd¬¦  «        dœ} |                      ¦   «         D ]\  }}t          |d¬¦  «        |k    sJ ‚Œd S )Nr4   r0   Fr=   )z1 < 2z1 <= 2z1 > 2z1 >= 2z1 != 2z1 == 2)r   r   r   r   r   r   rX   r   r¦   s      rE   Útest_issue_24288rÃ     sÂ   € å�A�q 5Ð)Ñ)Ô)Ý�Q˜ EÐ*Ñ*Ô*Ý�A�q 5Ð)Ñ)Ô)Ý�Q˜ EÐ*Ñ*Ô*Ý�Q˜ EÐ*Ñ*Ô*Ý�Q˜ EÐ*Ñ*Ô*ðð €Fð Ÿš™œð :ð :‰ˆˆfÝ˜$¨Ð/Ñ/Ô/°6Ò9Ð9Ð9Ð9Ð9ð:ð :rD   c                  óü   — t           t          fz   } t          d¦  «        }t          d¦  «        }t          d| ¬¦  «        }||cxk    rd|z  d|z  z  k    sn J ‚t          d| ¬¦  «        }||dz  |z  d	z  k    sJ ‚d S )
NÚnz2**n * 3**nz2**n3**nrL   r0   r1   Ún12n34é   é"   )r   r(   r   r   )rM   rÅ   Úexpr1Úexpr2s       rE   Útest_split_symbols_numericrË   &  s§   € å Ý	,Ð.ñ	/ð õ 	ˆs‰Œ€AÝ�}Ñ%Ô%€EÝ�z°?ÐCÑCÔC€EØ�EÐ&Ð&Ò&Ð&˜Q ™T ! Q¡$™YÒ&Ð&Ð&Ð&Ð&Ð&å�x°ÐAÑAÔA€EØ�A�b‘D˜‘F˜2‘IÒÐÐÐÐÐrD   c                  óJ   — t          d¦  «        t          d¦  «        k    sJ ‚d S )Nu   Î±)r   r   rC   rD   rE   Útest_unicode_namesrÍ   4  s'   € Ý�dÑÔ�v d™|œ|Ò+Ð+Ð+Ð+Ð+Ð+rD   c                  ó¨  — t           j        dk     rt          d¦  «         t          d¦  «        dk    sJ ‚t          d¦  «        t          d¦  «        cxk    rt	          dd¦  «        k    sn J ‚t          d	¦  «        t          d
¦  «        cxk    rt	          dd¦  «        k    sn J ‚t          d¦  «        t          d¦  «        cxk    rt	          dd¦  «        k    sn J ‚t          d¦  «        t          d¦  «        cxk    rt	          dd¦  «        k    sn J ‚t          d¦  «        t          d¦  «        cxk    rt	          dd¦  «        k    sn J ‚d S )N)r1   é   z2test_python3_features requires Python 3.8 or newerÚ123_456i@â z1.2[3_4]z1.2[34]ic  iï  z1.2[012_012]z1.2[012012]i�  iM  z.[3_4]z.[34]rÈ   éc   z.1[3_4]z.1[34]é…   iÞ  z123_123.123_123[3_4]z123123.123123[34]l   [.•X,iÀžæ)ÚsysÚversion_infor   r   r   rC   rD   rE   Útest_python3_featuresrÕ   8  s�  € å
Ô˜&Ò Ð ÝÐAÑBÔBÐBõ �iÑ Ô  FÒ*Ð*Ð*Ð*Ý�jÑ!Ô!¥Z°	Ñ%:Ô%:ÐPÐPÒPÐP½hÀsÈCÑ>PÔ>PÒPÐPÐPÐPÐPÐPÝ�nÑ%Ô%­°MÑ)BÔ)BÐXÐXÒXÐXÅhÈsÐTWÑFXÔFXÒXÐXÐXÐXÐXÐXÝ�hÑÔ¥:¨gÑ#6Ô#6ÐJÐJÒJÐJ½(À2ÀrÑ:JÔ:JÒJÐJÐJÐJÐJÐJÝ�iÑ Ô ¥J¨xÑ$8Ô$8ÐNÐNÒNÐN½HÀSÈ#Ñ<NÔ<NÒNÐNÐNÐNÐNÐNÝÐ,Ñ-Ô-µÐ<OÑ1PÔ1PÐvÐvÒvÐvÕT\Ð]kÐmuÑTvÔTvÒvÐvÐvÐvÐvÐvÐvÐvrD   c                  ó„   — t          d¦  «        } t          dd| it          t          fz   ¬¦  «        }|j        | hk    sJ ‚d S )Nr/   z	E**x(1+x)rz   )r   r   r   r(   rV   )r/   Úeqs     rE   Útest_issue_19501rØ   F  sT   € Ýˆs‰Œ€AÝ	�K¨S°!¨HÝ Ý	,Ð.ñ	/ð
1ñ 
1ô 
1€Bð Œ?˜q˜cÒ!Ð!Ð!Ð!Ð!Ð!rD   c                  ó,  — ddl m}  t          t          ¦  «        dk    sJ ‚t          d         t          k    sJ ‚t          d         t
          k    sJ ‚t          d         t          k    sJ ‚t          d         t          k    sJ ‚t          d         t          k    sJ ‚t          d         t          k    sJ ‚t          d	         t          k    sJ ‚t          d
         t          k    sJ ‚t          d         t          k    sJ ‚t          d         t          k    sJ ‚t          d         t          k    sJ ‚t          d         t          k    sJ ‚t           d d…         t           d         cxk    rt"          k    sn J ‚t          }t           d         |t          |¦  «        dz
           |d         fk    sJ ‚t           d d…df         t"          |d         fz   k    sJ ‚t%          dd¬¦  «        d| dz  z  dz  k    sJ ‚t%          dd¬¦  «        t'          d| z  ¦  «        k    sJ ‚d S )Nr   rq   rÇ   r4   r0   r1   rr   é   é   r3   rÏ   rl   r5   é   )r   r4   r0   r1   rr   )r;   r   z0.3x^2ÚallrL   zsin 3xÚimplicit)Ú	sympy.abcr/   Úlenr,   r%   r&   r'   r)   r*   r(   r#   r+   r!   r"   r$   r   r-   r   r   r   )r/   r|   s     rE   Útest_parsing_definitionsrá   N  s   € ØÐÐÐÐÐÝ�ÑÔ 2Ò%Ð%Ð%Ð%Ý˜1Ô¥Ò0Ð0Ð0Ð0Ý˜1Ô¥Ò,Ð,Ð,Ð,Ý˜1ÔÕ!2Ò2Ð2Ð2Ð2Ý˜1Ô¥Ò,Ð,Ð,Ð,Ý˜1ÔÕ!3Ò3Ð3Ð3Ð3Ý˜1ÔÕ!DÒDÐDÐDÐDÝ˜1Ô¥Ò,Ð,Ð,Ð,Ý˜1ÔÕ!5Ò5Ð5Ð5Ð5Ý˜1ÔÕ!8Ò8Ð8Ð8Ð8Ý˜1ÔÕ!5Ò5Ð5Ð5Ð5Ý˜2ÔÕ"9Ò9Ð9Ð9Ð9Ý˜2Ô¥+Ò-Ð-Ð-Ð-ÝˆRˆaˆRŒ5•A�i”LÐ<Ð<Ò<Ð<Õ$<Ò<Ð<Ð<Ð<Ð<Ð<Ý€AÝˆUŒ8˜�#˜a™&œ& 1™*œ q¨¤tÐ,Ò,Ð,Ð,Ð,ÝˆRˆaˆR�ˆUŒ8Õ/°1°Q´4°'Ñ9Ò9Ð9Ð9Ð9Ý�h°Ð6Ñ6Ô6¸!¸A¸q¹D¹&À¹)ÒCÐCÐCÐCÝ�h°
Ð;Ñ;Ô;½sÀ1ÀQÁ3¹x¼xÒGÐGÐGÐGÐGÐGrD   c                  ó¦   — g d¢} | D ]'\  }}t          |¦  «        t          |¦  «        k    sJ ‚Œ(t          t          d¦  «        ¦  «        dk    sJ ‚d S )N))zabs(x)zAbs(x))z	max(x, y)z	Max(x, y))z	min(x, y)z	Min(x, y))z	pow(x, y)z	Pow(x, y)zpow(38, -1, 97)Ú23)r   rª   )ÚcasesÚbuilt_in_func_callÚsympy_func_calls      rE   Útest_builtinsrç   e  sy   € ðð ð €Eð 05ð Mð MÑ+Ð˜OÝÐ,Ñ-Ô-µ¸OÑ1LÔ1LÒLÐLÐLÐLÐLÝ�zÐ+Ñ,Ô,Ñ-Ô-°Ò5Ð5Ð5Ð5Ð5Ð5rD   c                  ób   — t          t          d„ ¦  «         dd i} t          d| ¦  «        du sJ ‚d S )Nc                  ó&   — t          dddi¦  «        S )Nr/   Ú r4   rN   rC   rD   rE   rF   z"test_issue_22822.<locals>.<lambda>r  s   € �z¨#°°A¨wÑ7Ô7€ rD   Úsome_parameterzsome_parameter is NoneT)r   Ú
ValueErrorr   )Údatas    rE   Útest_issue_22822rî   q  sB   € Ý
�:Ð7Ð7Ñ8Ô8Ð8Ø˜dÐ#€DÝÐ.°Ñ5Ô5¸Ð=Ð=Ð=Ð=Ð=Ð=rD   )RrÓ   r�   r’   Úsympy.assumptionsr   Ú
sympy.corer   r   r   r   r   r	   r
   r   r   r   r   r   r   r   Úsympy.functionsr   r   r   r   r   r   Úsympy.logicr   Úsympy.seriesr   Úsympy.testing.pytestr   r   Úsympy.parsing.sympy_parserr   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r*   r+   r,   r-   r]   r`   rc   rj   rm   ru   r}   r…   rŠ   r™   rž   r¢   r§   r®   r°   r³   r·   rº   r½   r¿   rÁ   rÃ   rË   rÍ   rÕ   rØ   rá   rç   rî   rC   rD   rE   ú<module>rö      s³  ðð €
€
€
Ø €€€Ø €€€à Ð Ð Ð Ð Ð Ø fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fÐ fØ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EÐ EØ Ð Ð Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø -Ð -Ð -Ð -Ð -Ð -Ð -Ð -ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð/;ð /;ð /;ðdKð Kð Kð	ð 	ð 	ðDð Dð Dð5ð 5ð 5ð
Að Að AðJð Jð JðBð Bð BðCð Cð Cð#ð #ð #ð*2ð 2ð 2ð
5ð 5ð 5ðVð Vð VðDð Dð Dð Vð Vð Vð	Dð 	Dð 	Dð6ð 6ð 6ð
Cð 
Cð 
CðZð Zð ZðBð Bð Bð&ð &ð &ð

:ð 
:ð 
:ðð ð ð,ð ,ð ,ðwð wð wð"ð "ð "ðHð Hð Hð.	6ð 	6ð 	6ð>ð >ð >ð >ð >rD   