§
    ÈÁ³g¥G  ã                   ó´   — d dl 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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  G d„ dej        ¦  «        Z dS )é    N)ÚExprÚOpÚArithOpÚLanguageÚ	as_symbolÚ	as_numberÚ	as_stringÚas_arrayÚ
as_complexÚas_termsÚ
as_factorsÚeliminate_quotesÚinsert_quotesÚ
fromstringÚas_exprÚas_applyÚas_numer_denomÚ
as_ternaryÚas_refÚas_derefÚ	normalizeÚas_eqÚas_neÚas_ltÚas_gtÚas_leÚas_geé   )Úutilc                   óP   — e 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S )ÚTestSymbolicc                 óÜ   — d„ }dD ]e} ||dz   ¦  «          ||dz   |z   dz   ¦  «          ||dz   ¦  «          ||dz   |z   dz   ¦  «          ||dz   ¦  «          |d	|z   d
z   ¦  «         Œfd S )Nc                 óZ   — t          | ¦  «        \  }}t          ||¦  «        }|| k    sJ ‚d S ©N)r   r   )ÚsÚrÚdÚs1s       ú\/var/www/html/mpstechhub/venv/lib/python3.11/site-packages/numpy/f2py/tests/test_symbolic.pyÚworkerz2TestSymbolic.test_eliminate_quotes.<locals>.worker%   s3   € Ý# AÑ&Ô&‰DˆAˆqÝ˜q !Ñ$Ô$ˆBØ˜’7�7�7�7�7�7ó    )Ú Úmykind_z"1234" // "ABCD"z
"1234" // z"ABCD"z"1234" // 'ABCD'z'ABCD'z"1\"2'AB'34"za = z'1\'2"AB"34'© )Úselfr*   Úkinds      r)   Útest_eliminate_quotesz"TestSymbolic.test_eliminate_quotes$   sÉ   € ð	ð 	ð 	ð
 $ð 	6ð 	6ˆDØˆF�4Ð,Ñ,Ñ-Ô-Ð-ØˆF�4˜,Ñ&¨Ñ-°Ñ8Ñ9Ô9Ð9ØˆF�4Ð.Ñ.Ñ/Ô/Ð/ØˆF�4˜,Ñ&¨Ñ-°Ñ8Ñ9Ô9Ð9ØˆF�4Ð+Ñ+Ñ,Ô,Ð,ØˆF�6˜D‘=Ð#4Ñ4Ñ5Ô5Ð5Ð5ð	6ð 	6r+   c                 ó(  — t          d¦  «        }t          d¦  «        }t          d¦  «        }|j        t          j        k    sJ ‚t	          |¦  «        dk    sJ ‚||k    sJ ‚||k    sJ ‚t          |¦  «        €J ‚t          d¦  «        }t          d¦  «        }|j        t          j        k    sJ ‚t	          |¦  «        dk    sJ ‚||k    sJ ‚||k    sJ ‚t          |¦  «        €J ‚t          d¦  «        }t          d	¦  «        }|j        t          j        k    sJ ‚t	          |¦  «        d
k    sJ ‚||k    sJ ‚||k    sJ ‚t          |¦  «        €J ‚t          dd¦  «        }t          dd¦  «        }	|j        t          j
        k    sJ ‚t	          |¦  «        dk    sJ ‚||k    sJ ‚||	k    sJ ‚t          |¦  «        €J ‚t          d¦  «        }
t          d¦  «        }|
j        t          j        k    sJ ‚t	          |
¦  «        dk    sJ t	          |
¦  «        ¦   «         ‚|
|
k    sJ ‚|
|k    sJ ‚t          ||f¦  «        }t          |f¦  «        }|j        t          j        k    sJ ‚t	          |¦  «        dk    sJ ‚||k    sJ ‚||k    sJ ‚t          |¦  «        }t          |¦  «        }|j        t          j        k    sJ ‚t	          |¦  «        dk    sJ ‚||k    sJ ‚||k    sJ ‚t          |¦  «        €J ‚t#          |¦  «        }t#          |¦  «        }|j        t          j        k    sJ ‚t	          |¦  «        dk    sJ ‚||k    sJ ‚||k    sJ ‚t          |¦  «        €J ‚t'          |||¦  «        }t'          |||¦  «        }|j        t          j        k    sJ ‚||k    sJ ‚||k    sJ ‚t          |¦  «        €J ‚t+          ||¦  «        }t-          ||¦  «        }|j        t          j        k    sJ ‚||k    sJ ‚||k    sJ ‚t          |¦  «        €J ‚d S )NÚxÚyÚzzExpr(Op.SYMBOL, 'x')é{   éÈ  zExpr(Op.INTEGER, (123, 4))gš™™™™™(@gÍÌÌÌÌÌF@zExpr(Op.REAL, (12.3, 4))r   é   é   é   zFExpr(Op.COMPLEX, (Expr(Op.INTEGER, (1, 4)), Expr(Op.INTEGER, (2, 4))))z'123'ú"ABC"zExpr(Op.STRING, ("'123'", 1))zHExpr(Op.ARRAY, (Expr(Op.INTEGER, (123, 4)), Expr(Op.INTEGER, (456, 4))))z)Expr(Op.TERMS, {Expr(Op.SYMBOL, 'x'): 1})z+Expr(Op.FACTORS, {Expr(Op.SYMBOL, 'x'): 1}))r   Úopr   ÚSYMBOLÚreprÚhashr   ÚINTEGERÚREALr   ÚCOMPLEXr	   ÚSTRINGr
   ÚARRAYr   ÚTERMSr   ÚFACTORSr   ÚTERNARYr   r   Ú
RELATIONAL)r/   r3   r4   r5   ÚnÚmÚfnÚfmÚcÚc2r%   Ús2ÚaÚbÚtÚuÚvÚwÚeÚfs                       r)   Útest_sanityzTestSymbolic.test_sanity2   s[  € Ý�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆàŒt•r”yÒ Ð Ð Ð Ý�A‰wŒwÐ0Ò0Ð0Ð0Ð0Ø�AŠvˆvˆvˆvØ�AŠvˆvˆvˆvÝ�A‰wŒwÐ"Ð"Ð"å�c‰NŒNˆÝ�c‰NŒNˆØŒt•r”zÒ!Ð!Ð!Ð!Ý�A‰wŒwÐ6Ò6Ð6Ð6Ð6Ø�AŠvˆvˆvˆvØ�AŠvˆvˆvˆvÝ�A‰wŒwÐ"Ð"Ð"å�t‰_Œ_ˆÝ�t‰_Œ_ˆØŒu�œÒÐÐÐÝ�B‰xŒxÐ5Ò5Ð5Ð5Ð5Ø�RŠxˆxˆxˆxØ�RŠxˆxˆxˆxÝ�B‰xŒxÐ#Ð#Ð#å�q˜!ÑÔˆÝ˜˜1ÑÔˆØŒt•r”zÒ!Ð!Ð!Ð!Ý�A‰wŒwð 9ò :ð :ð :ð :à�AŠvˆvˆvˆvØ�BŠwˆwˆwˆwÝ�A‰wŒwÐ"Ð"Ð"å�gÑÔˆÝ�wÑÔˆØŒt•r”yÒ Ð Ð Ð Ý�A‰wŒwÐ;Ò;Ð;Ð;½TÀ!¹W¼WÑ;Ô;Ð;Ø�AŠvˆvˆvˆvØ�BŠwˆwˆwˆwå�a˜�VÑÔˆÝ�a�U‰OŒOˆØŒt•r”xÒÐÐÐÝ�A‰wŒwð ;ò <ð <ð <ð <à�AŠvˆvˆvˆvØ�AŠvˆvˆvˆvå�Q‰KŒKˆÝ�Q‰KŒKˆØŒt•r”xÒÐÐÐÝ�A‰wŒwÐEÒEÐEÐEÐEØ�AŠvˆvˆvˆvØ�AŠvˆvˆvˆvÝ�A‰wŒwÐ"Ð"Ð"å�q‰MŒMˆÝ�q‰MŒMˆØŒt•r”zÒ!Ð!Ð!Ð!Ý�A‰wŒwÐGÒGÐGÐGÐGØ�AŠvˆvˆvˆvØ�AŠvˆvˆvˆvÝ�A‰wŒwÐ"Ð"Ð"å�q˜!˜QÑÔˆÝ�q˜!˜QÑÔˆØŒt•r”zÒ!Ð!Ð!Ð!Ø�AŠvˆvˆvˆvØ�AŠvˆvˆvˆvÝ�A‰wŒwÐ"Ð"Ð"å�!�Q‰KŒKˆÝ�!�Q‰KŒKˆØŒt•r”}Ò$Ð$Ð$Ð$Ø�AŠvˆvˆvˆvØ�AŠvˆvˆvˆvÝ�A‰wŒwÐ"Ð"Ð"Ð"Ð"r+   c                 ó$  — t          d¦  «        }t          d¦  «        }t          d¦  «        }t          d¦  «        }t          d¦  «        }t          ||f¦  «        }t          ||¦  «        }t	          |¦  «        dk    sJ ‚t	          |¦  «        dk    sJ ‚t	          |¦  «        dk    sJ ‚t	          |¦  «        dk    sJ ‚t	          t          t          j        |d	i¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |d
i¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |di¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |di¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |d	|d	i¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |d|di¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |d
|di¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |d|di¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |d
|di¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |d	i¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |d
i¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |di¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |di¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |d	|d	i¦  «        ¦  «        dk    sJ ‚t	          t          t          j        |d
|di¦  «        ¦  «        dk    sJ ‚t          t          j        |d
t          t          j        |d	|d	i¦  «        di¦  «        }t	          |¦  «        dk    sJ t	          |¦  «        ¦   «         ‚t          t          j        |d
t          t          j        |d	|d	i¦  «        di¦  «        }t	          |¦  «        dk    sJ t	          |¦  «        ¦   «         ‚t	          t          t          j	        ddi f¦  «        ¦  «        d k    sJ ‚t	          t          t          j	        d|fi f¦  «        ¦  «        d!k    sJ ‚t	          t          t          j	        d||fi f¦  «        ¦  «        d"k    sJ ‚t	          t          t          j
        d|f¦  «        ¦  «        d#k    sJ ‚t	          t          |||¦  «        ¦  «        d$k    sJ ‚t	          t          ||¦  «        ¦  «        d%k    sJ ‚t	          t          ||¦  «        ¦  «        d&k    sJ ‚t	          t          ||¦  «        ¦  «        d'k    sJ ‚t	          t          ||¦  «        ¦  «        d(k    sJ ‚t	          t!          ||¦  «        ¦  «        d)k    sJ ‚t	          t#          ||¦  «        ¦  «        d*k    sJ ‚d S )+Nr3   r4   r5   r6   r7   Ú123z
[123, 456]z
(123, 456)r   r8   z2 * xéÿÿÿÿz-xéþÿÿÿz-2 * xúx + yz-x - yr9   z2 * x + 3 * yz-2 * x + 3 * yéýÿÿÿz2 * x - 3 * yúx ** 2zx ** -1zx ** -2úx * yzx ** 2 * y ** 3zx ** 2 * (x + y) ** 3zx ** 2 * (x * y) ** 3rW   r.   zf()úf(x)zf(x, y)úf[x]zmerge(y, z, x)úx .eq. yúx .ne. yúx .lt. yúx .le. yúx .gt. yúx .ge. y)r   r   r
   r   Ústrr   r   rE   rF   ÚAPPLYÚINDEXINGr   r   r   r   r   r   r   )	r/   r3   r4   r5   rI   rJ   rP   rM   rT   s	            r)   Útest_tostring_fortranz"TestSymbolic.test_tostring_fortranƒ   s~  € Ý�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆÝ�a˜�VÑÔˆÝ�q˜!ÑÔˆå�1‰vŒv˜Š}ˆ}ˆ}ˆ}Ý�1‰vŒv˜ŠˆˆˆÝ�1‰vŒv˜Ò%Ð%Ð%Ð%Ý�1‰vŒv˜Ò%Ð%Ð%Ð%å•4�œ 1 a &Ñ)Ô)Ñ*Ô*¨cÒ1Ð1Ð1Ð1Ý•4�œ 1 a &Ñ)Ô)Ñ*Ô*¨gÒ5Ð5Ð5Ð5Ý•4�œ 1 b 'Ñ*Ô*Ñ+Ô+¨tÒ3Ð3Ð3Ð3Ý•4�œ 1 b 'Ñ*Ô*Ñ+Ô+¨xÒ7Ð7Ð7Ð7Ý•4�œ 1 a¨¨A ,Ñ/Ô/Ñ0Ô0°GÒ;Ð;Ð;Ð;Ý•4�œ 1 b¨!¨R .Ñ1Ô1Ñ2Ô2°hÒ>Ð>Ð>Ð>Ý•4�œ 1 a¨¨A ,Ñ/Ô/Ñ0Ô0°OÒCÐCÐCÐCÝ•4�œ 1 b¨!¨Q -Ñ0Ô0Ñ1Ô1Ð5EÒEÐEÐEÐEÝ•4�œ 1 a¨¨B -Ñ0Ô0Ñ1Ô1°_ÒDÐDÐDÐDå•4�œ
 Q¨ FÑ+Ô+Ñ,Ô,°Ò3Ð3Ð3Ð3Ý•4�œ
 Q¨ FÑ+Ô+Ñ,Ô,°Ò8Ð8Ð8Ð8Ý•4�œ
 Q¨ GÑ,Ô,Ñ-Ô-°Ò:Ð:Ð:Ð:Ý•4�œ
 Q¨ GÑ,Ô,Ñ-Ô-°Ò:Ð:Ð:Ð:Ý•4�œ
 Q¨¨1¨a LÑ1Ô1Ñ2Ô2°gÒ=Ð=Ð=Ð=Ý•4�œ
 Q¨¨1¨a LÑ1Ô1Ñ2Ô2Ð6GÒGÐGÐGÐGå•”˜a ¥D­¬°A°q¸!¸Q°<Ñ$@Ô$@À!ÐDÑEÔEˆÝ�1‰vŒvÐ0Ò0Ð0Ð0µ#°a±&´&Ñ0Ô0Ð0Ý•”˜a ¥D­¬°a¸¸A¸q°\Ñ$BÔ$BÀAÐFÑGÔGˆÝ�1‰vŒvÐ0Ò0Ð0Ð0µ#°a±&´&Ñ0Ô0Ð0å•4�œ 3¨¨B -Ñ0Ô0Ñ1Ô1°UÒ:Ð:Ð:Ð:Ý•4�œ 3¨¨¨rÐ"2Ñ3Ô3Ñ4Ô4¸Ò>Ð>Ð>Ð>Ý•4�œ 3¨¨A¨°Ð"3Ñ4Ô4Ñ5Ô5¸ÒBÐBÐBÐBÝ•4�œ c¨1 XÑ.Ô.Ñ/Ô/°6Ò9Ð9Ð9Ð9å•:˜a  AÑ&Ô&Ñ'Ô'Ð+;Ò;Ð;Ð;Ð;Ý•5˜˜A‘;”;ÑÔ :Ò-Ð-Ð-Ð-Ý•5˜˜A‘;”;ÑÔ :Ò-Ð-Ð-Ð-Ý•5˜˜A‘;”;ÑÔ :Ò-Ð-Ð-Ð-Ý•5˜˜A‘;”;ÑÔ :Ò-Ð-Ð-Ð-Ý•5˜˜A‘;”;ÑÔ :Ò-Ð-Ð-Ð-Ý•5˜˜A‘;”;ÑÔ :Ò-Ð-Ð-Ð-Ð-Ð-r+   c                 óÔ  — t           j        }t          d¦  «        }t          d¦  «        }t          d¦  «        }t          d¦  «        }t	          t
          j        |di¦  «                             |¬¦  «        dk    sJ ‚t	          t
          j        ||z   di¦  «                             |¬¦  «        dk    sJ ‚t	          t
          j        |d	i¦  «                             |¬¦  «        d
k    sJ ‚t          t          j
        ||¦  «                             |¬¦  «        dk    sJ ‚t          t          j
        |||z   ¦  «                             |¬¦  «        dk    sJ ‚t          t          j
        ||z
  ||z   ¦  «                             |¬¦  «        dk    sJ ‚|||z
  ||z   z  z   |z                        |¬¦  «        dk    sJ ‚t          |||¦  «                             |¬¦  «        dk    sJ ‚t          ||¦  «                             |¬¦  «        dk    sJ ‚t          ||¦  «                             |¬¦  «        dk    sJ ‚t          ||¦  «                             |¬¦  «        dk    sJ ‚t          ||¦  «                             |¬¦  «        dk    sJ ‚t!          ||¦  «                             |¬¦  «        dk    sJ ‚t#          ||¦  «                             |¬¦  «        dk    sJ ‚d S )Nr3   r4   r5   r6   r8   ©Úlanguagezx * xz(x + y) * (x + y)é   z
pow(x, 12)úx / yzx / (x + y)z(x - y) / (x + y)z123 + x + (x - y) / (x + y)z(x?y:z)úx == yúx != yúx < yúx <= yúx > yúx >= y)r   ÚCr   r   r   r   rF   Útostringr   r   ÚDIVr   r   r   r   r   r   r   )r/   ro   r3   r4   r5   rI   s         r)   Útest_tostring_czTestSymbolic.test_tostring_c´   s6  € Ý”:ˆÝ�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆå•B”J  A Ñ'Ô'×0Ò0¸(Ð0ÑCÔCÀwÒNÐNÐNÐNÝ•R”ZØ�‰E�1ð"
ñ ô çŠ8˜Xˆ8Ñ&Ô&Ð*=ò>ð >ð >ð >õ •B”JØˆrð!
ñ ô çŠ8˜Xˆ8Ñ&Ô&¨,ò7ð 7ð 7ð 7õ �œ QØñô ß#š8¨X˜8Ñ6Ô6¸'òBð Bð Bð Bå�œ aØ˜Q™ñ ô  ß (¢°( Ñ ;Ô ;¸}òMð Mð Mð Må�œ a¨!¡e¨QØñ.ñ ô ß$šH¨h˜HÑ7Ô7Ð;NòOð Oð Oð Oà�Q˜‘U˜q 1™uÑ%Ñ%Øñß’8 X�8Ñ.Ô.Ð2OòPð Pð Pð Põ ˜!˜Q Ñ"Ô"×+Ò+°XÐ+Ñ>Ô>À)ÒKÐKÐKÐKÝ�Q˜‰{Œ{×#Ò#¨XÐ#Ñ6Ô6¸(ÒBÐBÐBÐBÝ�Q˜‰{Œ{×#Ò#¨XÐ#Ñ6Ô6¸(ÒBÐBÐBÐBÝ�Q˜‰{Œ{×#Ò#¨XÐ#Ñ6Ô6¸'ÒAÐAÐAÐAÝ�Q˜‰{Œ{×#Ò#¨XÐ#Ñ6Ô6¸(ÒBÐBÐBÐBÝ�Q˜‰{Œ{×#Ò#¨XÐ#Ñ6Ô6¸'ÒAÐAÐAÐAÝ�Q˜‰{Œ{×#Ò#¨XÐ#Ñ6Ô6¸(ÒBÐBÐBÐBÐBÐBr+   c                 óü  — t          d¦  «        }t          d¦  «        }t          d¦  «        }||z   t          t          j        |di¦  «        k    sJ ‚||z
  t          t          j        d¦  «        k    sJ ‚||z   t          t          j        |d|di¦  «        k    sJ ‚||z
  t          t          j        |d|di¦  «        k    sJ ‚||z  t          t          j        |di¦  «        k    sJ ‚||z  t          t          j        |d|di¦  «        k    sJ ‚|
 |k    sJ ‚| t          t          j        |di¦  «        k    sJ t          | ¦  «        ¦   «         ‚d|z  t          t          j        |di¦  «        k    sJ ‚d|z   t          t          j        |dt          d¦  «        di¦  «        k    sJ ‚d|z  d|z  z   t          t          j        |d|di¦  «        k    sJ ‚||z   dz  t          t          j        |d|di¦  «        k    sJ ‚|dz  t          t          j        |di¦  «        k    sJ ‚||z   dz  t          t          j        t          t          j        |di¦  «        dt          t          j        |di¦  «        dt          t          j        |d|di¦  «        di¦  «        k    sJ ‚||z   |z  |dz  ||z  z   k    sJ ‚||z   dz  |dz  d|z  |z  z   |dz  z   k    sJ ‚||z   dz  ||z
  dz  z   d|dz  z  d|dz  z  z   k    sJ ‚||z   |z  ||z  ||z  z   k    sJ ‚|||z   z  ||z  ||z  z   k    sJ ‚|dz  t          t          j
        |t          d¦  «        ¦  «        k    sJ ‚d|z  dz  |k    sJ ‚d|z  dz  t          t          j
        d|z  t          d¦  «        ¦  «        k    sJ ‚d	|z  dz  d|z  k    sJ ‚d
|z  dz  t          t          j
        d
|z  t          d¦  «        ¦  «        k    sJ ‚d|z  dz  d|z  k    sJ ‚d|z  dz  t          t          j
        d
|z  t          d¦  «        ¦  «        k    sJ ‚d|dz  z  |d	z  z  d|dz  z  |dz  z  z  t          t          j
        d
|z  d	|z  ¦  «        k    sJ ‚d|z  dz  d
z  t          t          j
        |t          d¦  «        ¦  «        k    sJ d|z  dz  d
z  ¦   «         ‚|d
|z  z  t          t          j
        |dz  t          d
¦  «        ¦  «        k    sJ ‚|dz  t          t          j        |di¦  «        k    sJ ‚t          d¦  «        }t          d¦  «        }||z  t          t          j        d¦  «        k    sJ ‚||z  t          t          j        ||f¦  «        k    sJ ‚||z  t          t          j        ||f¦  «        k    sJ ‚t          dd¦  «        }| t          dd¦  «        k    sJ ‚||z   t          d¦  «        k    sJ ‚||z  t          d¦  «        k    sJ ‚d S )Nr3   r4   r5   r8   )r   r:   r   r[   r9   r:   é   é   é   é   é   g       @g      à?r;   ú"123")z"ABC123"r   g      ð?g      ð¿g       Ày       @      @y      À      @)r   r   r   rE   r@   rF   r>   r   r   r   rz   r	   rC   ÚCONCATr   r   )r/   r3   r4   r5   r%   rR   rM   s          r)   Útest_operationszTestSymbolic.test_operationsÔ   s�  € Ý�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆà�1‰u��RœX¨¨1 vÑ.Ô.Ò.Ð.Ð.Ð.Ø�1‰u��RœZ¨Ñ0Ô0Ò0Ð0Ð0Ð0Ø�1‰u��RœX¨¨1¨a° |Ñ4Ô4Ò4Ð4Ð4Ð4Ø�1‰u��RœX¨¨1¨a° }Ñ5Ô5Ò5Ð5Ð5Ð5Ø�1‰u��RœZ¨!¨Q¨Ñ0Ô0Ò0Ð0Ð0Ð0Ø�1‰u��RœZ¨!¨Q°°1¨Ñ6Ô6Ò6Ð6Ð6Ð6àˆr�QŠwˆwˆwˆwØˆr•T�"œ( Q¨ GÑ,Ô,Ò,Ð,Ð,­d°A°2©h¬hÑ,Ô,Ð,Ø�1‰u��RœX¨¨1 vÑ.Ô.Ò.Ð.Ð.Ð.Ø�1‰u��RœX¨¨1­i¸©l¬l¸AÐ'>Ñ?Ô?Ò?Ð?Ð?Ð?Ø�1‰u�q˜1‘u‰}¥¥R¤X°°1°a¸¨|Ñ <Ô <Ò<Ð<Ð<Ð<Ø�A‘˜‰{�d¥2¤8¨a°°A°q¨\Ñ:Ô:Ò:Ð:Ð:Ð:à�!‰t•t�BœJ¨¨A¨Ñ/Ô/Ò/Ð/Ð/Ð/Ø�A‘˜‰z�TÝŒHå•R”Z ! Q Ñ(Ô(¨!Ý•R”Z ! Q Ñ(Ô(¨!Ý•R”ZØ�qØ�qð"ñ ô ð ðñ

ô 

ò 

ð 

ð 

ð 

ð �A‘˜‰{˜a ™d Q¨¡U™lÒ*Ð*Ð*Ð*Ø�A‘˜‰z˜Q ™T A¨¡E¨A¡IÑ-°°1±Ñ4Ò4Ð4Ð4Ð4Ø�A‘˜‰z˜Q ™U Q™JÑ&¨!¨a°©d©(°Q¸¸A¹±XÑ*=Ò=Ð=Ð=Ð=Ø�A‘˜‰{˜a !™e a¨!¡e™mÒ+Ð+Ð+Ð+Ø�A˜‘E‰{˜a !™e a¨!¡e™mÒ+Ð+Ð+Ð+à�A‘�(¥7¤;°µ9¸Q±<´<Ñ@Ô@Ò@Ð@Ð@Ð@Ø�A‘˜‘	˜aÒÐÐÐØ�A‘˜‘	�h¥w¤{°A¸±E½9ÀQ¹<¼<ÑHÔHÒHÐHÐHÐHØ�A‘˜‘	˜a !™eÒ#Ð#Ð#Ð#Ø�A‘˜‘	�h¥w¤{°A¸±E½9ÀQ¹<¼<ÑHÔHÒHÐHÐHÐHØ�A‘˜‘	˜a !™eÒ#Ð#Ð#Ð#Ø˜!‘˜a‘¥H­W¬[¸!¸a¹%ÅÈ1ÁÄÑ$NÔ$NÒNÐNÐNÐNØ�Q˜‘T‘	˜A˜q™DÑ  B¨¨A©¡I°°1±Ñ$4Ñ5½(ÝŒK˜˜Q™  A¡ñ;'ô ;'ò 'ð 'ð 'ð 'à�a‘˜!‘˜qÑ ¥X­g¬k¸1Ý.7¸©l¬lñ&<ô &<ò <ð <ð <Ø>@À1¹fÀq¹jÈAÑ=Mñ<ô <ð <à�Q˜‘U‘¥­¬°a¸±d½IÀa¹L¼LÑ IÔ IÒIÐIÐIÐIà�C‘�D¥¤¨A¨s¨8Ñ4Ô4Ò4Ð4Ð4Ð4å�gÑÔˆÝ�gÑÔˆà�A‰v��bœi¨Ñ9Ô9Ò9Ð9Ð9Ð9Ø�A‰v��bœi¨!¨Q¨Ñ0Ô0Ò0Ð0Ð0Ð0Ø�A‰v��bœi¨!¨Q¨Ñ0Ô0Ò0Ð0Ð0Ð0å�s˜CÑ Ô ˆØˆr•Z  dÑ+Ô+Ò+Ð+Ð+Ð+Ø�1‰u� Ñ-Ô-Ò-Ð-Ð-Ð-Ø�1‰u� Ñ,Ô,Ò,Ð,Ð,Ð,Ð,Ð,r+   c                 ó~  — t          d¦  «        }t          d¦  «        }t          d¦  «        }t          ||f¦  «        }|                     ||i¦  «        |k    sJ ‚||z                        ||i¦  «        ||z   k    sJ ‚||z                       ||i¦  «        ||z  k    sJ ‚|dz                       ||i¦  «        |dz  k    sJ ‚||z                       ||i¦  «        ||z  k    sJ ‚|                     |||z   i¦  «        ||z   k    sJ ‚|                     |||z   i¦  «        t          ||z   |f¦  «        k    sJ ‚t          |||¦  «                             |||z   i¦  «        t          ||z   ||¦  «        k    sJ ‚t	          ||¦  «                             |||z   i¦  «        t	          ||z   |¦  «        k    sJ ‚d S )Nr3   r4   r5   r:   )r   r
   Ú
substituter   r   )r/   r3   r4   r5   rP   s        r)   Útest_substitutezTestSymbolic.test_substitute  só  € Ý�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆÝ�a˜�VÑÔˆà�|Š|˜Q ˜FÑ#Ô# qÒ(Ð(Ð(Ð(Ø�A‘×!Ò! 1 a &Ñ)Ô)¨Q°©UÒ2Ð2Ð2Ð2Ø�A‘×!Ò! 1 a &Ñ)Ô)¨Q°©UÒ2Ð2Ð2Ð2Ø�1‘× Ò  ! Q Ñ(Ô(¨A¨q©DÒ0Ð0Ð0Ð0Ø�A‘×!Ò! 1 a &Ñ)Ô)¨Q°©UÒ2Ð2Ð2Ð2Ø�|Š|˜Q  A¡˜JÑ'Ô'¨1¨q©5Ò0Ð0Ð0Ð0Ø�|Š|˜Q  A¡˜JÑ'Ô'­8°Q¸±U¸A°JÑ+?Ô+?Ò?Ð?Ð?Ð?å˜!˜QØñô ß'šZ¨¨A°©E¨
Ñ3Ô3µzÀ!ÀaÁ%ÈÈAÑ7NÔ7NòOð Oð Oð Oå�Q˜‰{Œ{×%Ò% q¨!¨a©% jÑ1Ô1µU¸1¸q¹5À!±_´_ÒDÐDÐDÐDÐDÐDr+   c                 ó¼  — t          d¦  «        }t          d¦  «        }t          d¦  «        }t          d¦  «        }t          d¦  «        }t          d¦  «        }t          ||f¦  «        }t          d¦  «        |k    sJ ‚t          d¦  «        |k    sJ ‚t          d¦  «        | k    sJ ‚t          d	¦  «        ||z   k    sJ ‚t          d
¦  «        |dz   k    sJ ‚t          d¦  «        ||z  k    sJ ‚t          d¦  «        |dz  k    sJ ‚t          d¦  «        ||z  k    sJ ‚t          dt          j        ¬¦  «        |dz  k    sJ ‚t          dt          j        ¬¦  «        |dz  k    sJ ‚t          d¦  «        ||z   |z  k    sJ ‚t          d¦  «         ||¦  «        k    sJ ‚t          d¦  «         |||¦  «        k    sJ ‚t          d¦  «        ||         k    sJ ‚t          d¦  «        ||         |         k    sJ ‚t          d¦  «        |k    sJ ‚t          t          dt          j        ¬¦  «        ¦  «        ||z  k    sJ ‚t          d¦  «         ||¦  «        k    sJ ‚t          d¦  «        t          dd¦  «        k    sJ ‚t          d¦  «        |k    sJ t          d¦  «        ¦   «         ‚t          d¦  «         ||¦  «        k    sJ ‚t          d¦  «        t          ||z   |z  f¦  «        k    sJ ‚t          d ¦  «        t          d!¦  «        k    sJ ‚t          d"¦  «        t          d!d¦  «        k    sJ ‚t          d#¦  «        t          d!d$¦  «        k    sJ ‚t          d%¦  «        t          d&d'¦  «        k    sJ ‚t          d(¦  «        t          d&d'¦  «        k    sJ ‚t          d)¦  «        t          d&d¦  «        k    sJ ‚t          d*¦  «        t          d&d'¦  «        k    sJ ‚t          d+¦  «        t          d&d¦  «        k    sJ ‚t          d,¦  «        t          d&d¦  «        k    sJ ‚t          d-¦  «        t          d&d'¦  «        k    sJ ‚t          d.¦  «        t          d&d¦  «        k    sJ ‚t          d/¦  «        t          d&d0¦  «        k    sJ ‚t          d1¦  «        t          d2d'¦  «        k    sJ ‚t          d3¦  «        t          dd¦  «        k    sJ ‚t          d4¦  «        t          t          d5¦  «        t          d6¦  «        ¦  «        k    sJ ‚t          d7¦  «        t          t          d¦  «        t          d¦  «        f¦  «        k    sJ ‚t          d8¦  «        t          t          d9¦  «        |t          d¦  «        ¬:¦  «        k    sJ ‚t          d;¦  «        t          t          d<¦  «        t          d=¦  «        t          d>¦  «        t          t          d?¦  «        t          d@¦  «        f¦  «        ¬A¦  «        k    sJ ‚t          dB¦  «        t          |||¦  «        k    sJ ‚t          dC¦  «        t          |¦  «        k    sJ ‚t          dD¦  «        t          t          |¦  «        ¦  «        k    sJ ‚t          dE¦  «        t          |¦  «        k    sJ ‚t          dF¦  «        t          |¦  «        t          |¦  «        z  k    sJ ‚t          dG¦  «        t          |¦  «        t          |¦  «        z  k    sJ ‚t          dH¦  «        t          |¦  «        t          |¦  «        z  k    sJ ‚t          dI¦  «        t          |¦  «        t          |¦  «        z  k    sJ ‚t          dJ¦  «        t          ||¦  «        k    sJ ‚t          dK¦  «        t          ||¦  «        k    sJ ‚t          dL¦  «        t!          ||¦  «        k    sJ ‚t          dM¦  «        t#          ||¦  «        k    sJ ‚t          dN¦  «        t%          ||¦  «        k    sJ ‚t          dO¦  «        t'          ||¦  «        k    sJ ‚t          dPt          j        ¬¦  «        t          ||¦  «        k    sJ ‚t          dQt          j        ¬¦  «        t          ||¦  «        k    sJ ‚t          dRt          j        ¬¦  «        t!          ||¦  «        k    sJ ‚t          dSt          j        ¬¦  «        t#          ||¦  «        k    sJ ‚t          dTt          j        ¬¦  «        t%          ||¦  «        k    sJ ‚t          dUt          j        ¬¦  «        t'          ||¦  «        k    sJ ‚d S )VNr3   r4   r5   rW   r;   r‚   z+ xz-  xr]   zx + 1r   r`   zx * 2r8   rq   r_   rn   zx ** 2 ** 3é   z(x + y) * zra   zf(x,y)rb   zf[x][y]z"ABC" // "123" zf("ABC")zMYSTRKIND_"ABC"Ú	MYSTRKINDz(/x, y/)zf((/x, y/))z(/(x+y)*z/)rZ   r6   Ú123_2Ú123_myintkindÚ	myintkindz123.0g     À^@r:   z123.0_4z123.0_8z123.0e0z123.0d0Ú123d0z123e-0z123d+0z123.0_myrealkindÚ
myrealkindÚ3E4g     LÝ@z(1, 2)z	(1e2, PI)g      Y@ÚPIz[1, 2]zPOINT(x, y=1)ÚPOINT)r4   z-PERSON(name="John", age=50, shape=(/34, 23/))ÚPERSONz"John"é2   é"   é   )ÚnameÚageÚshapezx?y:zz*xz**xz&xz(*x) * (*y)z	(*x) * *yz*x * *yz*x**yrr   rs   rt   rv   ru   rw   rc   rd   re   rg   rf   rh   )r   r	   r
   r   r   ÚPythonr   ÚFortranr   r   r   r   r   r   r   r   r   r   r   r   )r/   r3   r4   r5   rW   r%   rR   rP   s           r)   Útest_fromstringzTestSymbolic.test_fromstring&  sP	  € å�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆÝ�gÑÔˆÝ�gÑÔˆÝ�a˜�VÑÔˆå˜#‰Œ !Ò#Ð#Ð#Ð#Ý˜%Ñ Ô  AÒ%Ð%Ð%Ð%Ý˜&Ñ!Ô! a RÒ'Ð'Ð'Ð'Ý˜'Ñ"Ô" a¨!¡eÒ+Ð+Ð+Ð+Ý˜'Ñ"Ô" a¨!¡eÒ+Ð+Ð+Ð+Ý˜'Ñ"Ô" a¨!¡eÒ+Ð+Ð+Ð+Ý˜'Ñ"Ô" a¨!¡eÒ+Ð+Ð+Ð+Ý˜'Ñ"Ô" a¨!¡eÒ+Ð+Ð+Ð+Ý˜(­X¬_Ð=Ñ=Ô=ÀÀAÁÒEÐEÐEÐEÝ˜-µ(´/ÐBÑBÔBÀaÈÁgÒMÐMÐMÐMÝ˜-Ñ(Ô(¨Q°©U°a©KÒ7Ð7Ð7Ð7å˜&Ñ!Ô! Q Q q¡T¤TÒ)Ð)Ð)Ð)Ý˜(Ñ#Ô# q q¨¨A¡w¤wÒ.Ð.Ð.Ð.Ý˜&Ñ!Ô! Q q¤TÒ)Ð)Ð)Ð)Ý˜)Ñ$Ô$¨¨!¬¨Q¬Ò/Ð/Ð/Ð/å˜'Ñ"Ô" aÒ'Ð'Ð'Ð'ÝÝÐ(Ý (Ô 0ð2ñ 2ô 2ñ3ô 3à67¸1±fò=ð =ð =ð =õ ˜*Ñ%Ô%¨¨¨1©¬Ò-Ð-Ð-Ð-ÝÐ+Ñ,Ô,µ	¸'À;Ñ0OÔ0OÒOÐOÐOÐOå˜*Ñ%Ô%¨Ò*Ð*Ð*­J°zÑ,BÔ,BÑ*Ô*Ð*Ý˜-Ñ(Ô(¨A¨A¨a©D¬DÒ0Ð0Ð0Ð0Ý˜-Ñ(Ô(­H°q¸1±uÀ±k°_Ñ,EÔ,EÒEÐEÐEÐEå˜%Ñ Ô ¥I¨c¡N¤NÒ2Ð2Ð2Ð2Ý˜'Ñ"Ô"¥i°°QÑ&7Ô&7Ò7Ð7Ð7Ð7Ý˜/Ñ*Ô*­i¸¸[Ñ.IÔ.IÒIÐIÐIÐIå˜'Ñ"Ô"¥i°°qÑ&9Ô&9Ò9Ð9Ð9Ð9Ý˜)Ñ$Ô$­	°%¸Ñ(;Ô(;Ò;Ð;Ð;Ð;Ý˜)Ñ$Ô$­	°%¸Ñ(;Ô(;Ò;Ð;Ð;Ð;Ý˜)Ñ$Ô$­	°%¸Ñ(;Ô(;Ò;Ð;Ð;Ð;Ý˜)Ñ$Ô$­	°%¸Ñ(;Ô(;Ò;Ð;Ð;Ð;Ý˜'Ñ"Ô"¥i°°qÑ&9Ô&9Ò9Ð9Ð9Ð9Ý˜(Ñ#Ô#¥y°¸Ñ':Ô':Ò:Ð:Ð:Ð:Ý˜(Ñ#Ô#¥y°¸Ñ':Ô':Ò:Ð:Ð:Ð:ÝÐ,Ñ-Ô-µ¸5À,Ñ1OÔ1OÒOÐOÐOÐOÝ˜%Ñ Ô ¥I¨g°qÑ$9Ô$9Ò9Ð9Ð9Ð9å˜(Ñ#Ô#¥z°!°QÑ'7Ô'7Ò7Ð7Ð7Ð7Ý˜+Ñ&Ô&­*µY¸uÑ5EÔ5EÝ5>¸t±_´_ñ+Fô +Fò Fð Fð Fð Fõ ˜(Ñ#Ô#¥xµ¸1±´½yÈ¹|¼|Ð0LÑ'MÔ'MÒMÐMÐMÐMå˜/Ñ*Ô*­hµyÀÑ7IÔ7IØ78Ý9BÀ1¹¼ð/Gñ /Gô /Gò Gð Gð Gð Gõ Ø;ñ=ô =Ý@HÝ˜(Ñ#Ô#Ý˜xÑ(Ô(Ý˜b‘M”MÝ¥	¨"¡¤­y¸©}¬}Ð=Ñ>Ô>ð	Añ Aô Aòð ð ð õ ˜'Ñ"Ô"¥j°°A°qÑ&9Ô&9Ò9Ð9Ð9Ð9å˜$ÑÔ¥8¨A¡;¤;Ò.Ð.Ð.Ð.Ý˜%Ñ Ô ¥H­X°a©[¬[Ñ$9Ô$9Ò9Ð9Ð9Ð9Ý˜$ÑÔ¥6¨!¡9¤9Ò,Ð,Ð,Ð,Ý˜-Ñ(Ô(­H°Q©K¬K½(À1¹+¼+Ñ,EÒEÐEÐEÐEÝ˜+Ñ&Ô&­(°1©+¬+½À¹¼Ñ*CÒCÐCÐCÐCÝ˜)Ñ$Ô$­°©¬µh¸q±k´kÑ(AÒAÐAÐAÐAÝ˜'Ñ"Ô"¥h¨q¡k¤kµH¸Q±K´KÑ&?Ò?Ð?Ð?Ð?å˜(Ñ#Ô#¥u¨Q°¡{¤{Ò2Ð2Ð2Ð2Ý˜(Ñ#Ô#¥u¨Q°¡{¤{Ò2Ð2Ð2Ð2Ý˜'Ñ"Ô"¥e¨A¨q¡k¤kÒ1Ð1Ð1Ð1Ý˜'Ñ"Ô"¥e¨A¨q¡k¤kÒ1Ð1Ð1Ð1Ý˜(Ñ#Ô#¥u¨Q°¡{¤{Ò2Ð2Ð2Ð2Ý˜(Ñ#Ô#¥u¨Q°¡{¤{Ò2Ð2Ð2Ð2å˜*­xÔ/?Ð@Ñ@Ô@ÅEÈ!ÈQÁKÄKÒOÐOÐOÐOÝ˜*­xÔ/?Ð@Ñ@Ô@ÅEÈ!ÈQÁKÄKÒOÐOÐOÐOÝ˜*­xÔ/?Ð@Ñ@Ô@ÅEÈ!ÈQÁKÄKÒOÐOÐOÐOÝ˜*­xÔ/?Ð@Ñ@Ô@ÅEÈ!ÈQÁKÄKÒOÐOÐOÐOÝ˜*­xÔ/?Ð@Ñ@Ô@ÅEÈ!ÈQÁKÄKÒOÐOÐOÐOÝ˜*­xÔ/?Ð@Ñ@Ô@ÅEÈ!ÈQÁKÄKÒOÐOÐOÐOÐOÐOr+   c                 ó†  ‡‡	‡
— t          d¦  «        Š
t          d¦  «        }t          d¦  «        }t          d¦  «        }|fˆ
fd„	}‰
                     |¦  «        |k    sJ ‚|                     |¦  «        |k    sJ ‚|                     |¦  «        |k    sJ ‚ ||¦  «                             |¦  «         ||¦  «        k    sJ ‚ |‰
¦  «                             |¦  «         ||¦  «        k    sJ ‚||                              |¦  «        ||         k    sJ ‚||                              |¦  «        ||         k    sJ ‚‰
|z   |z                        |¦  «        d|z  |z   k    sJ ‚‰
 ||‰
|z
  ¦  «        z                        |¦  «        | ||t          d¦  «        ¦  «        z   k    sJ ‚t          ‰
|¦  «                             |¦  «        t          ||¦  «        k    sJ ‚t	          ¦   «         Št	          ¦   «         Š	ˆˆ	fd„}‰
 ||‰
|z
  ¦  «        z                        |¦  «         ‰|hk    sJ ‚‰	‰
||hk    sJ ‚d	„ }t	          ¦   «         Š	‰
 ||‰
|z
  ¦  «        z                        |‰	¦  «         ‰	‰
|||hk    sJ ‚d
„ }t	          ¦   «         Š	‰
 ||‰
|z
  ¦  «        z                        |‰	¦  «         ‰	‰
hk    sJ ‚d S )Nr3   r4   r5   rW   c                 ó   •— | ‰k    r|S d S r$   r.   )r%   r&   r3   s     €r)   Úreplace_visitz1TestSymbolic.test_traverse.<locals>.replace_visit‹  s   ø€ Ø�AŠvˆvØ�ð ˆvr+   r8   r   c                 ó  •— | j         t          j        u r?| j        d         }‰                     |¦  «         |‰v r‰                     |¦  «         d S d S | j         t          j        u r| ‰vr‰                     | ¦  «         d S d S d S )Nr   )r<   r   rj   ÚdataÚaddÚremover=   )r%   ÚoperÚfunction_symbolsÚsymbolss     €€r)   Úcollect_symbolsz3TestSymbolic.test_traverse.<locals>.collect_symbols   s”   ø€ ØŒt•r”xÐÐØ”v˜a”y�Ø ×$Ò$ TÑ*Ô*Ð*Ø˜7�?�?Ø—N’N 4Ñ(Ô(Ð(Ð(Ð(ð #�?à”�œÐ"Ð" qÐ0@Ð'@Ð'@Ø—’˜A‘”���ð #Ð"Ð'@Ð'@r+   c                 óZ   — | j         t          j        u r|                     | ¦  «         d S d S r$   )r<   r   r=   r¢   ©Úexprr¦   s     r)   Úcollect_symbols2z4TestSymbolic.test_traverse.<locals>.collect_symbols2®  s1   € ØŒw�"œ)Ð#Ð#Ø—’˜DÑ!Ô!Ð!Ð!Ð!ð $Ð#r+   c                 ó„   — | j         t          j        u r| S | j         t          j        u r|                     | ¦  «         d S d S r$   )r<   r   rj   r=   r¢   r©   s     r)   Úcollect_symbols3z4TestSymbolic.test_traverse.<locals>.collect_symbols3·  sE   € ØŒw�"œ(Ð"Ð"à�ØŒw�"œ)Ð#Ð#Ø—’˜DÑ!Ô!Ð!Ð!Ð!ð $Ð#r+   )r   Útraverser   r   Úset)r/   r4   r5   rW   rŸ   r§   r«   r­   r¥   r¦   r3   s           @@@r)   Útest_traversezTestSymbolic.test_traverse„  sC  øøø€ Ý�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆð  !ð 	ð 	ð 	ð 	ð 	ð 	ð �zŠz˜-Ñ(Ô(¨AÒ-Ð-Ð-Ð-Ø�zŠz˜-Ñ(Ô(¨AÒ-Ð-Ð-Ð-Ø�zŠz˜-Ñ(Ô(¨AÒ-Ð-Ð-Ð-Ø��!‘”�Š˜}Ñ-Ô-°°°1±´Ò5Ð5Ð5Ð5Ø��!‘”�Š˜}Ñ-Ô-°°°1±´Ò5Ð5Ð5Ð5Ø�!”�Š˜}Ñ-Ô-°°1´Ò5Ð5Ð5Ð5Ø�!”�Š˜}Ñ-Ô-°°1´Ò5Ð5Ð5Ð5Ø�A‘˜‘	×#Ò# MÑ2Ô2°q¸1±u¸q±yÒAÐAÐAÐAØØ��!�Q˜‘U‘”ñß%šX mÑ4Ô4¸Ø9:¸¸1½iÈ¹l¼lÑ9KÔ9Kñ:LòMð Mð Mð Mõ �Q˜‰{Œ{×#Ò# MÑ2Ô2µe¸A¸q±k´kÒAÐAÐAÐAõ ™5œ5ÐÝ‘%”%ˆð	ð 	ð 	ð 	ð 	ð 	ð 
ˆQˆQˆq�!�a‘%‰[Œ[‰×"Ò" ?Ñ3Ô3Ð3Ø A 3Ò&Ð&Ð&Ð&Ø˜1˜a ˜)Ò#Ð#Ð#Ð#ð	"ð 	"ð 	"õ ‘%”%ˆØ	
ˆQˆQˆq�!�a‘%‰[Œ[‰×"Ò"Ð#3°WÑ=Ô=Ð=Ø˜1˜a  A˜,Ò&Ð&Ð&Ð&ð	"ð 	"ð 	"õ ‘%”%ˆØ	
ˆQˆQˆq�!�a‘%‰[Œ[‰×"Ò"Ð#3°WÑ=Ô=Ð=Ø˜1˜#Š~ˆ~ˆ~ˆ~ˆ~ˆ~r+   c                 óì  ‡— t          d¦  «        Št          d¦  «        }t          d¦  «        }‰                     ‰¦  «        t          d¦  «        t          d¦  «        fk    sJ ‚‰dz                        ‰¦  «        t          d¦  «        t          d¦  «        fk    sJ ‚d‰z                       ‰¦  «        t          d¦  «        t          d¦  «        fk    sJ ‚d‰z  dz                        ‰¦  «        t          d¦  «        t          d¦  «        fk    sJ ‚t          d¦  «                             ‰¦  «        t          d¦  «        t          d¦  «        fk    sJ ‚|                     ‰¦  «        t          d¦  «        |fk    sJ ‚||z                       ‰¦  «        t          d¦  «        ||z  fk    sJ ‚‰|z                        ‰¦  «        t          d¦  «        |fk    sJ ‚|‰z  |z                        ‰¦  «        ||fk    sJ ‚||z   ‰z  |z                        ‰¦  «        ||z   |fk    sJ ‚||z  ‰z  |z                        ‰¦  «        ||z  |fk    sJ ‚t          j        t
          ˆfd„¦  «         d S )	Nr3   r4   r5   r   r   r8   r9   c                  ó4   •— ‰ ‰ z                        ‰ ¦  «        S r$   )Úlinear_solve)r3   s   €r)   ú<lambda>z0TestSymbolic.test_linear_solve.<locals>.<lambda>Ô  s   ø€ ¨Q°©U×,@Ò,@ÀÑ,CÔ,C€ r+   )r   r³   r   ÚpytestÚraisesÚRuntimeError)r/   r4   r5   r3   s      @r)   Útest_linear_solvezTestSymbolic.test_linear_solveÂ  sc  ø€ Ý�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆà�~Š~˜aÑ Ô ¥Y¨q¡\¤\µ9¸Q±<´<Ð$@Ò@Ð@Ð@Ð@Ø�A‘×#Ò# AÑ&Ô&­9°Q©<¬<½À1¹¼Ð*FÒFÐFÐFÐFØ�A‘×#Ò# AÑ&Ô&­9°Q©<¬<½À1¹¼Ð*FÒFÐFÐFÐFØ�A‘˜‘	×'Ò'¨Ñ*Ô*­y¸©|¬|½YÀq¹\¼\Ð.JÒJÐJÐJÐJÝ˜‰|Œ|×(Ò(¨Ñ+Ô+µ	¸!±´½iÈ¹l¼lÐ/KÒKÐKÐKÐKØ�~Š~˜aÑ Ô ¥Y¨q¡\¤\°1Ð$5Ò5Ð5Ð5Ð5Ø�A‘×#Ò# AÑ&Ô&­9°Q©<¬<¸¸Q¹Ð*?Ò?Ð?Ð?Ð?à�A‘×#Ò# AÑ&Ô&­9°Q©<¬<¸Ð*;Ò;Ð;Ð;Ð;Ø�A‘˜‘	×'Ò'¨Ñ*Ô*¨q°!¨fÒ4Ð4Ð4Ð4Ø�Q‘˜!‘˜a‘×-Ò-¨aÑ0Ô0°Q¸±U¸A°JÒ>Ð>Ð>Ð>Ø�A‘˜‘	˜A‘×+Ò+¨AÑ.Ô.°1°q±5¸!°*Ò<Ð<Ð<Ð<åŒ•lÐ$CÐ$CÐ$CÐ$CÑDÔDÐDÐDÐDr+   c                 ó<  — t          d¦  «        }t          d¦  «        }t          d¦  «        }t          |¦  «        |t          d¦  «        fk    sJ ‚t          ||z  ¦  «        ||fk    sJ ‚t          ||z  ¦  «        ||fk    sJ ‚t          ||z  ¦  «        ||fk    sJ ‚t          ||z  ¦  «        ||z  t          d¦  «        fk    sJ ‚t          |||z  z   ¦  «        |||z  z   |fk    sJ ‚t          |||||z  z
  z  z   ¦  «        ||dz  z  ||z  |z
  fk    sJ ‚d S )Nr3   r4   r6   r   r8   )r   r   r   ©r/   r3   r4   rI   s       r)   Útest_as_numer_denomz TestSymbolic.test_as_numer_denomÖ  sH  € Ý�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆå˜aÑ Ô  Q­	°!©¬Ð$5Ò5Ð5Ð5Ð5Ý˜a !™eÑ$Ô$¨¨A¨Ò.Ð.Ð.Ð.Ý˜a !™eÑ$Ô$¨¨A¨Ò.Ð.Ð.Ð.Ý˜a !™eÑ$Ô$¨¨A¨Ò.Ð.Ð.Ð.Ý˜a !™eÑ$Ô$¨¨Q©µ	¸!±´Ð(=Ò=Ð=Ð=Ð=Ý˜a ! a¡%™iÑ(Ô(¨Q°°Q±©Y¸¨NÒ:Ð:Ð:Ð:Ý˜a ! q¨1¨q©5¡y¡/Ñ1Ñ2Ô2°q¸1¸a¹4±xÀÀQÁÈÁÐ6KÒKÐKÐKÐKÐKÐKr+   c                 óÆ  — t          d¦  «        }t          d¦  «        }t          d¦  «        }|                     ¦   «         |hk    sJ ‚|                     ¦   «         t          ¦   «         k    sJ ‚||                              ¦   «         ||         hk    sJ ‚ ||¦  «                             ¦   «          ||¦  «        hk    sJ ‚ ||¦  «        |z                        ¦   «          ||¦  «        |hk    sJ ‚ ||¦  «        ||         z                       ¦   «          ||¦  «        ||         hk    sJ ‚ ||¦  «        |z                       ¦   «          ||¦  «        hk    sJ ‚d S )Nr3   r4   r6   )r   r   Úpolynomial_atomsr¯   rº   s       r)   Útest_polynomial_atomsz"TestSymbolic.test_polynomial_atomsã  sd  € Ý�c‰NŒNˆÝ�c‰NŒNˆÝ�c‰NŒNˆà×!Ò!Ñ#Ô#¨ sÒ*Ð*Ð*Ð*Ø×!Ò!Ñ#Ô#¥s¡u¤uÒ,Ð,Ð,Ð,Ø�!”×&Ò&Ñ(Ô(¨Q¨q¬T¨FÒ2Ð2Ð2Ð2Ø��!‘”×&Ò&Ñ(Ô(¨Q¨Q¨q©T¬T¨FÒ2Ð2Ð2Ð2Ø��!‘”�q‘×*Ò*Ñ,Ô,°°°1±´°q°	Ò9Ð9Ð9Ð9Ø��!‘”�q˜”t‘×-Ò-Ñ/Ô/°A°A°a±D´D¸!¸A¼$°<Ò?Ð?Ð?Ð?Ø��!‘”�a‘×)Ò)Ñ+Ô+°°°!±´¨vÒ5Ð5Ð5Ð5Ð5Ð5r+   N)Ú__name__Ú
__module__Ú__qualname__r1   rX   rl   r{   r„   r‡   rœ   r°   r¸   r»   r¾   r.   r+   r)   r!   r!   #   sÔ   € € € € € ð6ð 6ð 6ðO#ð O#ð O#ðb/.ð /.ð /.ðbCð Cð Cð@>-ð >-ð >-ð@Eð Eð Eð$\Pð \Pð \Pð|<ð <ð <ð|Eð Eð Eð(Lð Lð Lð6ð 6ð 6ð 6ð 6r+   r!   )!rµ   Únumpy.f2py.symbolicr   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   ÚF2PyTestr!   r.   r+   r)   ú<module>rÄ      s„  ðØ €€€ðð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð ð: Ð Ð Ð Ð Ð ðK6ð K6ð K6ð K6ð K6�4”=ñ K6ô K6ð K6ð K6ð K6r+   