Ë
    öU.j“I  ã                   ó¶   — 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 y)é    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                   óN   — 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y)ÚTestSymbolicc                 óº   — d„ }dD ]S  } ||dz   «        ||dz   |z   dz   «        ||dz   «        ||dz   |z   dz   «        ||dz   «        |d	|z   d
z   «       ŒU y )Nc                 óF   — t        | «      \  }}t        ||«      }|| k(  sJ ‚y ©N)r   r   )ÚsÚrÚdÚs1s       ú`C:\xampp\htdocs\tradingbinance\backend\.venv\Lib\site-packages\numpy/f2py/tests/test_symbolic.pyÚworkerz2TestSymbolic.test_eliminate_quotes.<locals>.worker%   s'   € Ü# AÓ&‰DˆAˆqÜ˜q !Ó$ˆBØ˜’7ˆN‘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}   € ò	ó
 $ˆDÙ�4Ð,Ñ,Ô-Ù�4˜,Ñ&¨Ñ-°Ñ8Ô9Ù�4Ð.Ñ.Ô/Ù�4˜,Ñ&¨Ñ-°Ñ8Ô9Ù�4Ð+Ñ+Ô,Ù�6˜D‘=Ð#4Ñ4Õ5ñ $r+   c                 óX  — t        d«      }t        d«      }t        d«      }|j                  t        j                  k(  sJ ‚t	        |«      dk(  sJ ‚||k(  sJ ‚||k7  sJ ‚t        |«      €J ‚t        d«      }t        d«      }|j                  t        j                  k(  sJ ‚t	        |«      dk(  sJ ‚||k(  sJ ‚||k7  sJ ‚t        |«      €J ‚t        d«      }t        d	«      }|j                  t        j                  k(  sJ ‚t	        |«      d
k(  sJ ‚||k(  sJ ‚||k7  sJ ‚t        |«      €J ‚t        dd«      }t        dd«      }	|j                  t        j                  k(  sJ ‚t	        |«      dk(  sJ ‚||k(  sJ ‚||	k7  sJ ‚t        |«      €J ‚t        d«      }
t        d«      }|
j                  t        j                  k(  sJ ‚t	        |
«      dk(  sJ t	        |
«      «       ‚|
|
k(  sJ ‚|
|k7  sJ ‚t        ||f«      }t        |f«      }|j                  t        j                  k(  sJ ‚t	        |«      dk(  sJ ‚||k(  sJ ‚||k7  sJ ‚t        |«      }t        |«      }|j                  t        j                   k(  sJ ‚t	        |«      dk(  sJ ‚||k(  sJ ‚||k7  sJ ‚t        |«      €J ‚t#        |«      }t#        |«      }|j                  t        j$                  k(  sJ ‚t	        |«      dk(  sJ ‚||k(  sJ ‚||k7  sJ ‚t        |«      €J ‚t'        |||«      }t'        |||«      }|j                  t        j(                  k(  sJ ‚||k(  sJ ‚||k7  sJ ‚t        |«      €J ‚t+        ||«      }t-        ||«      }|j                  t        j.                  k(  sJ ‚||k(  sJ ‚||k7  sJ ‚t        |«      €J ‚y )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ˆÜ�c‹NˆÜ�c‹Nˆà�t‰t”r—y‘yÒ Ð Ð Ü�A‹wÐ0Ò0Ð0Ð0Ø�AŠvˆˆvØ�AŠvˆˆvÜ�A‹wÐ"Ð"Ð"ä�c‹NˆÜ�c‹NˆØ�t‰t”r—z‘zÒ!Ð!Ð!Ü�A‹wÐ6Ò6Ð6Ð6Ø�AŠvˆˆvØ�AŠvˆˆvÜ�A‹wÐ"Ð"Ð"ä�t‹_ˆÜ�t‹_ˆØ�u‰uœŸ™ÒÐÐÜ�B‹xÐ5Ò5Ð5Ð5Ø�RŠxˆˆxØ�RŠxˆˆxÜ�B‹xÐ#Ð#Ð#ä�q˜!ÓˆÜ˜˜1ÓˆØ�t‰t”r—z‘zÒ!Ð!Ð!Ü�A‹wð 9ò :ð 	:ð :à�AŠvˆˆvØ�BŠwˆˆwÜ�A‹wÐ"Ð"Ð"ä�gÓˆÜ�wÓˆØ�t‰t”r—y‘yÒ Ð Ð Ü�A‹wÐ;Ò;ÐD¼TÀ!»WÓDÐ;Ø�AŠvˆˆvØ�BŠwˆˆwä�a˜�VÓˆÜ�a�U‹OˆØ�t‰t”r—x‘xÒÐÐÜ�A‹wð ;ò <ð 	<ð <à�AŠvˆˆvØ�AŠvˆˆvä�Q‹KˆÜ�Q‹KˆØ�t‰t”r—x‘xÒÐÐÜ�A‹wÐEÒEÐEÐEØ�AŠvˆˆvØ�AŠvˆˆvÜ�A‹wÐ"Ð"Ð"ä�q‹MˆÜ�q‹MˆØ�t‰t”r—z‘zÒ!Ð!Ð!Ü�A‹wÐGÒGÐGÐGØ�AŠvˆˆvØ�AŠvˆˆvÜ�A‹wÐ"Ð"Ð"ä�q˜!˜QÓˆÜ�q˜!˜QÓˆØ�t‰t”r—z‘zÒ!Ð!Ð!Ø�AŠvˆˆvØ�AŠvˆˆvÜ�A‹wÐ"Ð"Ð"ä�!�Q‹KˆÜ�!�Q‹KˆØ�t‰t”r—}‘}Ò$Ð$Ð$Ø�AŠvˆˆvØ�AŠvˆˆvÜ�A‹wÐ"Ð"Ñ"r+   c                 óV
  — 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 ‚y )+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ˆÜ�c‹NˆÜ�c‹NˆÜ�c‹NˆÜ�c‹NˆÜ�a˜�VÓˆÜ�q˜!Óˆä�1‹v˜Š}Ðˆ}Ü�1‹v˜ŠÐˆÜ�1‹v˜Ò%Ð%Ð%Ü�1‹v˜Ò%Ð%Ð%ä”4œŸ™ 1 a &Ó)Ó*¨cÒ1Ð1Ð1Ü”4œŸ™ 1 a &Ó)Ó*¨gÒ5Ð5Ð5Ü”4œŸ™ 1 b 'Ó*Ó+¨tÒ3Ð3Ð3Ü”4œŸ™ 1 b 'Ó*Ó+¨xÒ7Ð7Ð7Ü”4œŸ™ 1 a¨¨A ,Ó/Ó0°GÒ;Ð;Ð;Ü”4œŸ™ 1 b¨!¨R .Ó1Ó2°hÒ>Ð>Ð>Ü”4œŸ™ 1 a¨¨A ,Ó/Ó0°OÒCÐCÐCÜ”4œŸ™ 1 b¨!¨Q -Ó0Ó1Ð5EÒEÐEÐEÜ”4œŸ™ 1 a¨¨B -Ó0Ó1°_ÒDÐDÐDä”4œŸ
™
 Q¨ FÓ+Ó,°Ò3Ð3Ð3Ü”4œŸ
™
 Q¨ FÓ+Ó,°Ò8Ð8Ð8Ü”4œŸ
™
 Q¨ GÓ,Ó-°Ò:Ð:Ð:Ü”4œŸ
™
 Q¨ GÓ,Ó-°Ò:Ð:Ð:Ü”4œŸ
™
 Q¨¨1¨a LÓ1Ó2°gÒ=Ð=Ð=Ü”4œŸ
™
 Q¨¨1¨a LÓ1Ó2Ð6GÒGÐGÐGä”—‘˜a ¤D¬¯©°A°q¸!¸Q°<Ó$@À!ÐDÓEˆÜ�1‹vÐ0Ò0Ð8´#°a³&Ó8Ð0Ü”—‘˜a ¤D¬¯©°a¸¸A¸q°\Ó$BÀAÐFÓGˆÜ�1‹vÐ0Ò0Ð8´#°a³&Ó8Ð0ä”4œŸ™ 3¨¨B -Ó0Ó1°UÒ:Ð:Ð:Ü”4œŸ™ 3¨¨¨rÐ"2Ó3Ó4¸Ò>Ð>Ð>Ü”4œŸ™ 3¨¨A¨°Ð"3Ó4Ó5¸ÒBÐBÐBÜ”4œŸ™ c¨1 XÓ.Ó/°6Ò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«      j                  |¬«      dk(  sJ ‚t	        t
        j                  ||z   di«      j                  |¬«      dk(  sJ ‚t	        t
        j                  |d	i«      j                  |¬«      d
k(  sJ ‚t        t        j                  ||«      j                  |¬«      dk(  sJ ‚t        t        j                  |||z   «      j                  |¬«      dk(  sJ ‚t        t        j                  ||z
  ||z   «      j                  |¬«      dk(  sJ ‚|||z
  ||z   z  z   |z   j                  |¬«      dk(  sJ ‚t        |||«      j                  |¬«      dk(  sJ ‚t        ||«      j                  |¬«      dk(  sJ ‚t        ||«      j                  |¬«      dk(  sJ ‚t        ||«      j                  |¬«      dk(  sJ ‚t        ||«      j                  |¬«      dk(  sJ ‚t!        ||«      j                  |¬«      dk(  sJ ‚t#        ||«      j                  |¬«      dk(  sJ ‚y )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´   s§  € Ü—:‘:ˆÜ�c‹NˆÜ�c‹NˆÜ�c‹NˆÜ�c‹Nˆä”B—J‘J  A Ó'×0Ñ0¸(Ð0ÓCÀwÒNÐNÐNÜ”R—Z‘ZØ�‰E�1ð"
ó ç‰8˜Xˆ8Ó&Ð*=ò>ð 	?ð >ô ”B—J‘JØˆrð!
ó ç‰8˜Xˆ8Ó&¨,ò7ð 	7ð 7ô œŸ™ QØóß#™8¨X˜8Ó6¸'òBð 	Bð BäœŸ™ aØ˜Q™ó ß (¡°( Ó ;¸}òMð 	Nð MäœŸ™ a¨!¡e¨QØñ.ó ß$™H¨h˜HÓ7Ð;NòOð 	Pð Oà�Q˜‘U˜q 1™uÑ%Ñ%Øñß‘8 X�8Ó.Ð2OòPð 	Pð Pô ˜!˜Q Ó"×+Ñ+°XÐ+Ó>À)ÒKÐKÐKÜ�Q˜‹{×#Ñ#¨XÐ#Ó6¸(ÒBÐBÐBÜ�Q˜‹{×#Ñ#¨XÐ#Ó6¸(ÒBÐBÐBÜ�Q˜‹{×#Ñ#¨XÐ#Ó6¸'ÒAÐAÐAÜ�Q˜‹{×#Ñ#¨XÐ#Ó6¸(ÒBÐBÐBÜ�Q˜‹{×#Ñ#¨XÐ#Ó6¸'ÒAÐAÐAÜ�Q˜‹{×#Ñ#¨XÐ#Ó6¸(Ò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 ‚y )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ˆÜ�c‹NˆÜ�c‹Nˆà�1‰uœœRŸX™X¨¨1 vÓ.Ò.Ð.Ð.Ø�1‰uœœRŸZ™Z¨Ó0Ò0Ð0Ð0Ø�1‰uœœRŸX™X¨¨1¨a° |Ó4Ò4Ð4Ð4Ø�1‰uœœRŸX™X¨¨1¨a° }Ó5Ò5Ð5Ð5Ø�1‰uœœRŸZ™Z¨!¨Q¨Ó0Ò0Ð0Ð0Ø�1‰uœœRŸZ™Z¨!¨Q°°1¨Ó6Ò6Ð6Ð6àˆr�QŠwˆˆwØˆr”Tœ"Ÿ(™( Q¨ GÓ,Ò,Ð6¬d°A°2«hÓ6Ð,Ø�1‰uœœRŸX™X¨¨1 vÓ.Ò.Ð.Ð.Ø�1‰uœœRŸX™X¨¨1¬i¸«l¸AÐ'>Ó?Ò?Ð?Ð?Ø�1‰u�q˜1‘u‰}¤¤R§X¡X°°1°a¸¨|Ó <Ò<Ð<Ð<Ø�A‘˜‰{œd¤2§8¡8¨a°°A°q¨\Ó:Ò:Ð:Ð:à�!‰t”tœBŸJ™J¨¨A¨Ó/Ò/Ð/Ð/Ø�A‘˜‰zœTÜ�H‰Hä”R—Z‘Z ! Q Ó(¨!Ü”R—Z‘Z ! Q Ó(¨!Ü”R—Z‘ZØ�qØ�qð"ó ð ðó

ò 

ð 
	
ð 

ð �A‘˜‰{˜a ™d Q¨¡U™lÒ*Ð*Ð*Ø�A‘˜‰z˜Q ™T A¨¡E¨A¡IÑ-°°1±Ñ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Ø�A‘˜‘	˜a !™eÒ#Ð#Ð#Ø�A‘˜‘	œh¤w§{¡{°A¸±E¼9ÀQ»<ÓHÒHÐHÐHØ�A‘˜‘	˜a !™eÒ#Ð#Ð#Ø˜!‘˜a‘¤H¬W¯[©[¸!¸a¹%ÄÈ1ÃÓ$NÒNÐNÐNØ�Q˜‘T‘	˜A˜q™DÑ  B¨¨A©¡I°°1±Ñ$4Ñ5¼(Ü�K‰K˜˜Q™  A¡ó;'ò 'ð 	'ð 'à�a‘˜!‘˜qÑ ¤X¬g¯k©k¸1Ü.7¸«ló&<ò <ð 	NØ>@À1¹fÀq¹jÈAÑ=Mó	Nð <à�Q˜‘U‘¤¬¯©°a¸±d¼IÀa»LÓ IÒIÐIÐIà�C‘œD¤§¡¨A¨s¨8Ó4Ò4Ð4Ð4ä�gÓˆÜ�gÓˆà�A‰vœœbŸi™i¨Ó9Ò9Ð9Ð9Ø�A‰vœœbŸi™i¨!¨Q¨Ó0Ò0Ð0Ð0Ø�A‰vœœbŸi™i¨!¨Q¨Ó0Ò0Ð0Ð0ä�s˜CÓ ˆØˆr”Z  dÓ+Ò+Ð+Ð+Ø�1‰uœ Ó-Ò-Ð-Ð-Ø�1‰uœ Ó,Ò,Ð,Ñ,r+   c                 óÚ  — t        d«      }t        d«      }t        d«      }t        ||f«      }|j                  ||i«      |k(  sJ ‚||z   j                  ||i«      ||z   k(  sJ ‚||z  j                  ||i«      ||z  k(  sJ ‚|dz  j                  ||i«      |dz  k(  sJ ‚||z  j                  ||i«      ||z  k(  sJ ‚|j                  |||z   i«      ||z   k(  sJ ‚|j                  |||z   i«      t        ||z   |f«      k(  sJ ‚t        |||«      j                  |||z   i«      t        ||z   ||«      k(  sJ ‚t	        ||«      j                  |||z   i«      t	        ||z   |«      k(  sJ ‚y )Nr3   r4   r5   r:   )r   r
   Ú
substituter   r   )r/   r3   r4   r5   rP   s        r)   Útest_substitutezTestSymbolic.test_substitute  sœ  € Ü�c‹NˆÜ�c‹NˆÜ�c‹NˆÜ�a˜�VÓˆà�|‰|˜Q ˜FÓ# qÒ(Ð(Ð(Ø�A‘×!Ñ! 1 a &Ó)¨Q°©UÒ2Ð2Ð2Ø�A‘×!Ñ! 1 a &Ó)¨Q°©UÒ2Ð2Ð2Ø�1‘× Ñ  ! Q Ó(¨A¨q©DÒ0Ð0Ð0Ø�A‘×!Ñ! 1 a &Ó)¨Q°©UÒ2Ð2Ð2Ø�|‰|˜Q  A¡˜JÓ'¨1¨q©5Ò0Ð0Ð0Ø�|‰|˜Q  A¡˜JÓ'¬8°Q¸±U¸A°JÓ+?Ò?Ð?Ð?ä˜!˜QØóß'™Z¨¨A°©E¨
Ó3´zÀ!ÀaÁ%ÈÈAÓ7NòOð 	Oð Oä�Q˜‹{×%Ñ% q¨!¨a©% jÓ1´U¸1¸q¹5À!³_ÒDÐDÑDr+   c                 ój  — 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 ‚y )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&  s  € ä�c‹NˆÜ�c‹NˆÜ�c‹NˆÜ�c‹NˆÜ�gÓˆÜ�gÓˆÜ�a˜�VÓˆä˜#‹ !Ò#Ð#Ð#Ü˜%Ó  AÒ%Ð%Ð%Ü˜&Ó! a RÒ'Ð'Ð'Ü˜'Ó" a¨!¡eÒ+Ð+Ð+Ü˜'Ó" a¨!¡eÒ+Ð+Ð+Ü˜'Ó" a¨!¡eÒ+Ð+Ð+Ü˜'Ó" a¨!¡eÒ+Ð+Ð+Ü˜'Ó" a¨!¡eÒ+Ð+Ð+Ü˜(¬X¯_©_Ô=ÀÀAÁÒEÐEÐEÜ˜-´(·/±/ÔBÀaÈÁgÒMÐMÐMÜ˜-Ó(¨Q°©U°a©KÒ7Ð7Ð7ä˜&Ó!¡Q q£TÒ)Ð)Ð)Ü˜(Ó#¡q¨¨A£wÒ.Ð.Ð.Ü˜&Ó! Q q¡TÒ)Ð)Ð)Ü˜)Ó$¨¨!©¨Q©Ò/Ð/Ð/ä˜'Ó" aÒ'Ð'Ð'ÜÜÐ(Ü (× 0Ñ 0ô2ó3à67¸1±fò=ð 	>ð =ô ˜*Ó%©¨1«Ò-Ð-Ð-ÜÐ+Ó,´	¸'À;Ó0OÒOÐOÐOä˜*Ó%¨Ò*ÐB¬J°zÓ,BÓBÐ*Ü˜-Ó(©A¨a«DÒ0Ð0Ð0Ü˜-Ó(¬H°q¸1±uÀ±k°_Ó,EÒEÐEÐEä˜%Ó ¤I¨c£NÒ2Ð2Ð2Ü˜'Ó"¤i°°QÓ&7Ò7Ð7Ð7Ü˜/Ó*¬i¸¸[Ó.IÒIÐIÐIä˜'Ó"¤i°°qÓ&9Ò9Ð9Ð9Ü˜)Ó$¬	°%¸Ó(;Ò;Ð;Ð;Ü˜)Ó$¬	°%¸Ó(;Ò;Ð;Ð;Ü˜)Ó$¬	°%¸Ó(;Ò;Ð;Ð;Ü˜)Ó$¬	°%¸Ó(;Ò;Ð;Ð;Ü˜'Ó"¤i°°qÓ&9Ò9Ð9Ð9Ü˜(Ó#¤y°¸Ó':Ò:Ð:Ð:Ü˜(Ó#¤y°¸Ó':Ò:Ð:Ð:ÜÐ,Ó-´¸5À,Ó1OÒOÐOÐOÜ˜%Ó ¤I¨g°qÓ$9Ò9Ð9Ð9ä˜(Ó#¤z°!°QÓ'7Ò7Ð7Ð7Ü˜+Ó&¬*´Y¸uÓ5EÜ5>¸t³_ó+Fò Fð 	Fð Fô ˜(Ó#¤x´¸1³¼yÈ»|Ð0LÓ'MÒMÐMÐMä˜/Ó*¬h´yÀÓ7IØ78Ü9BÀ1»ô/Gò Gð 	Gð Gô Ø;ó=Ü@HÜ˜(Ó#Ü˜xÓ(Ü˜b“MÜ¤	¨"£¬y¸«}Ð=Ó>ô	Aòð 	ð ô ˜'Ó"¤j°°A°qÓ&9Ò9Ð9Ð9ä˜$Ó¤8¨A£;Ò.Ð.Ð.Ü˜%Ó ¤H¬X°a«[Ó$9Ò9Ð9Ð9Ü˜$Ó¤6¨!£9Ò,Ð,Ð,Ü˜-Ó(¬H°Q«K¼(À1»+Ñ,EÒEÐEÐEÜ˜+Ó&¬(°1«+¼À»Ñ*CÒCÐCÐCÜ˜)Ó$¬°«´h¸q³kÑ(AÒAÐAÐAÜ˜'Ó"¤h¨q£k´H¸Q³KÑ&?Ò?Ð?Ð?ä˜(Ó#¤u¨Q°£{Ò2Ð2Ð2Ü˜(Ó#¤u¨Q°£{Ò2Ð2Ð2Ü˜'Ó"¤e¨A¨q£kÒ1Ð1Ð1Ü˜'Ó"¤e¨A¨q£kÒ1Ð1Ð1Ü˜(Ó#¤u¨Q°£{Ò2Ð2Ð2Ü˜(Ó#¤u¨Q°£{Ò2Ð2Ð2ä˜*¬x×/?Ñ/?Ô@ÄEÈ!ÈQÃKÒOÐOÐOÜ˜*¬x×/?Ñ/?Ô@ÄEÈ!ÈQÃKÒOÐOÐOÜ˜*¬x×/?Ñ/?Ô@ÄEÈ!ÈQÃKÒOÐOÐOÜ˜*¬x×/?Ñ/?Ô@ÄEÈ!ÈQÃKÒOÐOÐOÜ˜*¬x×/?Ñ/?Ô@ÄEÈ!ÈQÃKÒOÐOÐOÜ˜*¬x×/?Ñ/?Ô@ÄEÈ!ÈQÃKÒOÐOÑOr+   c                 óZ  ‡‡	‡
— t        d«      Š
t        d«      }t        d«      }t        d«      }|fˆ
fd„	}‰
j                  |«      |k(  sJ ‚|j                  |«      |k(  sJ ‚|j                  |«      |k(  sJ ‚ ||«      j                  |«       ||«      k(  sJ ‚ |‰
«      j                  |«       ||«      k(  sJ ‚||   j                  |«      ||   k(  sJ ‚||   j                  |«      ||   k(  sJ ‚‰
|z   |z   j                  |«      d|z  |z   k(  sJ ‚‰
 ||‰
|z
  «      z   j                  |«      | ||t        d«      «      z   k(  sJ ‚t        ‰
|«      j                  |«      t        ||«      k(  sJ ‚t	        «       Št	        «       Š	ˆˆ	fd„}‰
 ||‰
|z
  «      z   j                  |«       ‰|hk(  sJ ‚‰	‰
||hk(  sJ ‚d	„ }t	        «       Š	‰
 ||‰
|z
  «      z   j                  |‰	«       ‰	‰
|||hk(  sJ ‚d
„ }t	        «       Š	‰
 ||‰
|z
  «      z   j                  |‰	«       ‰	‰
hk(  sJ ‚y )Nr3   r4   r5   rW   c                 ó   •— | ‰k(  r|S y r$   r.   )r%   r&   r3   s     €r)   Úreplace_visitz1TestSymbolic.test_traverse.<locals>.replace_visit‹  s   ø€ Ø�AŠvØ�ð r+   r8   r   c                 ó  •— | j                   t        j                  u r7| j                  d   }‰j	                  |«       |‰v r‰j                  |«       y y | j                   t        j                  u r| ‰vr‰j	                  | «       y y y )Nr   )r<   r   rj   ÚdataÚaddÚremover=   )r%   ÚoperÚfunction_symbolsÚsymbolss     €€r)   Úcollect_symbolsz3TestSymbolic.test_traverse.<locals>.collect_symbols   sr   ø€ Ø�t‰t”r—x‘xÑØ—v‘v˜a‘y�Ø ×$Ñ$ TÔ*Ø˜7‘?Ø—N‘N 4Õ(ð #à—‘œŸ™Ñ" qÐ0@Ñ'@Ø—‘˜A•ð (AÐ"r+   c                 ó`   — | j                   t        j                  u r|j                  | «       y y r$   )r<   r   r=   r¢   ©Úexprr¦   s     r)   Úcollect_symbols2z4TestSymbolic.test_traverse.<locals>.collect_symbols2®  s#   € Ø�w‰wœ"Ÿ)™)Ñ#Ø—‘˜DÕ!ð $r+   c                 óœ   — | j                   t        j                  u r| S | j                   t        j                  u r|j	                  | «       y y r$   )r<   r   rj   r=   r¢   r©   s     r)   Úcollect_symbols3z4TestSymbolic.test_traverse.<locals>.collect_symbols3·  s8   € Ø�w‰wœ"Ÿ(™(Ñ"à�Ø�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„  sa  ú€ Ü�c‹NˆÜ�c‹NˆÜ�c‹NˆÜ�c‹Nˆð  !õ 	ð �z‰z˜-Ó(¨AÒ-Ð-Ð-Ø�z‰z˜-Ó(¨AÒ-Ð-Ð-Ø�z‰z˜-Ó(¨AÒ-Ð-Ð-Ù�!“�‰˜}Ó-±°1³Ò5Ð5Ð5Ù�!“�‰˜}Ó-±°1³Ò5Ð5Ð5Ø�!‘�‰˜}Ó-°°1±Ò5Ð5Ð5Ø�!‘�‰˜}Ó-°°1±Ò5Ð5Ð5Ø�A‘˜‘	×#Ñ# MÓ2°q¸1±u¸q±yÒAÐAÐAØÙ�!�Q˜‘U“ñß%™X mÓ4¸Ù9:¸1¼iÈ»lÓ9Kñ:LòMð 	Mð Mô �Q˜‹{×#Ñ# MÓ2´e¸A¸q³kÒAÐAÐAô ›5ÐÜ“%ˆõ	ð 
‰Qˆq�!�a‘%‹[‰×"Ñ" ?Ô3Ø A 3Ò&Ð&Ð&Ø˜1˜a ˜)Ò#Ð#Ð#ò	"ô “%ˆØ	
‰Qˆq�!�a‘%‹[‰×"Ñ"Ð#3°WÔ=Ø˜1˜a  A˜,Ò&Ð&Ð&ò	"ô “%ˆØ	
‰Qˆq�!�a‘%‹[‰×"Ñ"Ð#3°WÔ=Ø˜1˜#Š~Ð‰~r+   c                 óô  ‡— t        d«      Št        d«      }t        d«      }‰j                  ‰«      t        d«      t        d«      fk(  sJ ‚‰dz   j                  ‰«      t        d«      t        d«      fk(  sJ ‚d‰z  j                  ‰«      t        d«      t        d«      fk(  sJ ‚d‰z  dz   j                  ‰«      t        d«      t        d«      fk(  sJ ‚t        d«      j                  ‰«      t        d«      t        d«      fk(  sJ ‚|j                  ‰«      t        d«      |fk(  sJ ‚||z  j                  ‰«      t        d«      ||z  fk(  sJ ‚‰|z   j                  ‰«      t        d«      |fk(  sJ ‚|‰z  |z   j                  ‰«      ||fk(  sJ ‚||z   ‰z  |z   j                  ‰«      ||z   |fk(  sJ ‚||z  ‰z  |z   j                  ‰«      ||z  |fk(  sJ ‚t        j                  t
        ˆfd„«       y )	Nr3   r4   r5   r   r   r8   r9   c                  ó,   •— ‰ ‰ z  j                  ‰ «      S r$   )Úlinear_solve)r3   s   €r)   Ú<lambda>z0TestSymbolic.test_linear_solve.<locals>.<lambda>Ô  s   ø€ ¨Q°©U×,@Ñ,@ÀÔ,Cr+   )r   r³   r   ÚpytestÚraisesÚRuntimeError)r/   r4   r5   r3   s      @r)   Útest_linear_solvezTestSymbolic.test_linear_solveÂ  sì  ø€ Ü�c‹NˆÜ�c‹NˆÜ�c‹Nˆà�~‰~˜aÓ ¤Y¨q£\´9¸Q³<Ð$@Ò@Ð@Ð@Ø�A‘×#Ñ# AÓ&¬9°Q«<¼À1»Ð*FÒFÐFÐFØ�A‘×#Ñ# AÓ&¬9°Q«<¼À1»Ð*FÒFÐFÐFØ�A‘˜‘	×'Ñ'¨Ó*¬y¸«|¼YÀq»\Ð.JÒJÐJÐJÜ˜‹|×(Ñ(¨Ó+´	¸!³¼iÈ»lÐ/KÒKÐKÐKØ�~‰~˜aÓ ¤Y¨q£\°1Ð$5Ò5Ð5Ð5Ø�A‘×#Ñ# AÓ&¬9°Q«<¸¸Q¹Ð*?Ò?Ð?Ð?à�A‘×#Ñ# AÓ&¬9°Q«<¸Ð*;Ò;Ð;Ð;Ø�A‘˜‘	×'Ñ'¨Ó*¨q°!¨fÒ4Ð4Ð4Ø�Q‘˜!‘˜a‘×-Ñ-¨aÓ0°Q¸±U¸A°JÒ>Ð>Ð>Ø�A‘˜‘	˜A‘×+Ñ+¨AÓ.°1°q±5¸!°*Ò<Ð<Ð<ä�‰”lÓ$CÕ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 ‚y )Nr3   r4   r6   r   r8   )r   r   r   ©r/   r3   r4   rI   s       r)   Útest_as_numer_denomz TestSymbolic.test_as_numer_denomÖ  s  € Ü�c‹NˆÜ�c‹NˆÜ�c‹Nˆä˜aÓ  Q¬	°!«Ð$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°q¸1¸a¹4±xÀÀQÁÈÁÐ6KÒKÐKÑKr+   c                 ó  — t        d«      }t        d«      }t        d«      }|j                  «       |hk(  sJ ‚|j                  «       t        «       k(  sJ ‚||   j                  «       ||   hk(  sJ ‚ ||«      j                  «        ||«      hk(  sJ ‚ ||«      |z   j                  «        ||«      |hk(  sJ ‚ ||«      ||   z  j                  «        ||«      ||   hk(  sJ ‚ ||«      |z  j                  «        ||«      hk(  sJ ‚y )Nr3   r4   r6   )r   r   Úpolynomial_atomsr¯   rº   s       r)   Útest_polynomial_atomsz"TestSymbolic.test_polynomial_atomsã  s  € Ü�c‹NˆÜ�c‹NˆÜ�c‹Nˆà×!Ñ!Ó#¨ sÒ*Ð*Ð*Ø×!Ñ!Ó#¤s£uÒ,Ð,Ð,Ø�!‘×&Ñ&Ó(¨Q¨q©T¨FÒ2Ð2Ð2Ù�!“×&Ñ&Ó(©Q¨q«T¨FÒ2Ð2Ð2Ù�!“�q‘×*Ñ*Ó,±°1³°q°	Ò9Ð9Ð9Ù�!“�q˜‘t‘×-Ñ-Ó/±A°a³D¸!¸A¹$°<Ò?Ð?Ð?Ù�!“�a‘×)Ñ)Ó+±°!³¨vÒ5Ð5Ñ5r+   N)Ú__name__Ú
__module__Ú__qualname__r1   rX   rl   r{   r„   r‡   rœ   r°   r¸   r»   r¾   r.   r+   r)   r!   r!   #   sF   „ ò6òO#òb/.òbCò@>-ò@Eò$\Pò|<ò|Eò(Ló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Ä      sG   ðÛ ÷÷ ÷ ÷ ÷ ÷ ÷ ñ õ: ôK6�4—=‘=õ K6r+   