ó
    �œ‘h•I  ã                   ó¶   • S SK r S SKJrJrJrJrJrJrJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJrJr  SSKJr   " S S\R>                  5      r g)é    N)ÚArithOpÚExprÚLanguageÚOpÚas_applyÚas_arrayÚ
as_complexÚas_derefÚas_eqÚas_exprÚ
as_factorsÚas_geÚas_gtÚas_leÚas_ltÚas_neÚ	as_numberÚas_numer_denomÚas_refÚ	as_stringÚ	as_symbolÚas_termsÚ
as_ternaryÚeliminate_quotesÚ
fromstringÚinsert_quotesÚ	normalizeé   )Úutilc                   óV   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
 rS rS rSrg)ÚTestSymbolicé$   c                 ó¾   • S nS HT  nU" US-   5        U" US-   U-   S-   5        U" US-   5        U" US-   U-   S-   5        U" US-   5        U" S	U-   S
-   5        MV     g )Nc                 óB   • [        U 5      u  p[        X5      nX0:X  d   eg ©N)r   r   )ÚsÚrÚdÚs1s       ÚbC:\Users\psant\Downloads\Noiseback\school\venv\Lib\site-packages\numpy/f2py/tests/test_symbolic.pyÚworkerÚ2TestSymbolic.test_eliminate_quotes.<locals>.worker&   s!   € Ü# AÓ&‰DˆAÜ˜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_quotesÚ"TestSymbolic.test_eliminate_quotes%   s}   € ò	ó
 $ˆDÙ�4Ð,Ñ,Ô-Ù�4˜,Ñ&¨Ñ-°Ñ8Ô9Ù�4Ð.Ñ.Ô/Ù�4˜,Ñ&¨Ñ-°Ñ8Ô9Ù�4Ð+Ñ+Ô,Ù�6˜D‘=Ð#4Ñ4Ö5ò $r-   c                 óŠ  • [        S5      n[        S5      n[        S5      nUR                  [        R                  :X  d   e[	        U5      S:X  d   eX:X  d   eX:w  d   e[        U5      c   e[        S5      n[        S5      nUR                  [        R                  :X  d   e[	        U5      S:X  d   eXD:X  d   eXE:w  d   e[        U5      c   e[        S5      n[        S	5      nUR                  [        R                  :X  d   e[	        U5      S
:X  d   eXf:X  d   eXg:w  d   e[        U5      c   e[        SS5      n[        SS5      n	UR                  [        R                  :X  d   e[	        U5      S:X  d   eXˆ:X  d   eX‰:w  d   e[        U5      c   e[        S5      n
[        S5      nU
R                  [        R                  :X  d   e[	        U
5      S:X  d   [	        U
5      5       eXª:X  d   eX«:w  d   e[        XE45      n[        U45      nUR                  [        R                  :X  d   e[	        U5      S:X  d   eXÌ:X  d   eXÍ:w  d   e[        U5      n[        U5      nUR                  [        R                   :X  d   e[	        U5      S:X  d   eXî:X  d   eXï:w  d   e[        U5      c   e[#        U5      n[#        U5      nUR                  [        R$                  :X  d   e[	        U5      S:X  d   eUU:X  d   eUU:w  d   e[        U5      c   e['        XU5      n['        XU5      nUR                  [        R(                  :X  d   eXî:X  d   eXï:w  d   e[        U5      c   e[+        X5      n[-        X5      nUR                  [        R.                  :X  d   eUU:X  d   eUU:w  d   e[        U5      c   eg )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)r1   r6   r7   r8   ÚnÚmÚfnÚfmÚcÚc2r&   Ús2ÚaÚbÚtÚuÚvÚwÚeÚfs                       r*   Útest_sanityÚTestSymbolic.test_sanity3   s›  € Ü�c‹NˆÜ�c‹NˆÜ�c‹Nˆà�t‰t”r—y‘yÓ Ð Ð Ü�A‹wÐ0Ó0Ð0Ð0Ø‹vˆˆvØ‹vˆˆvÜ�A‹wÑ"Ð"Ð"ä�c‹NˆÜ�c‹NˆØ�t‰t”r—z‘zÓ!Ð!Ð!Ü�A‹wÐ6Ó6Ð6Ð6Ø‹vˆˆvØ‹vˆˆvÜ�A‹wÑ"Ð"Ð"ä�t‹_ˆÜ�t‹_ˆØ�u‰uœŸ™ÓÐÐÜ�B‹xÐ5Ó5Ð5Ð5Ø‹xˆˆxØ‹xˆˆxÜ�B‹xÑ#Ð#Ð#ä�q˜!ÓˆÜ˜˜1ÓˆØ�t‰t”r—z‘zÓ!Ð!Ð!Ü�A‹wð 9ó :ð 	:ð :à‹vˆˆvØ‹wˆˆwÜ�A‹wÑ"Ð"Ð"ä�gÓˆÜ�wÓˆØ�t‰t”r—y‘yÓ Ð Ð Ü�A‹wÐ;Ó;ÐD¼TÀ!»WÓDÐ;Ø‹vˆˆvØ‹wˆˆwä�a�VÓˆÜ�a�U‹OˆØ�t‰t”r—x‘xÓÐÐÜ�A‹wð ;ó <ð 	<ð <à‹vˆˆvØ‹vˆˆvä�Q‹KˆÜ�Q‹KˆØ�t‰t”r—x‘xÓÐÐÜ�A‹wÐEÓEÐEÐEØ‹vˆˆvØ‹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Ó!Ð!Ð!Ø‹vˆˆvØ‹vˆˆvÜ�A‹wÑ"Ð"Ð"ä�!‹KˆÜ�!‹KˆØ�t‰t”r—}‘}Ó$Ð$Ð$Ø�A‹vˆˆvØ�A‹vˆˆvÜ�A‹wÑ"Ð"Ñ"r-   c                 ó‚
  • [        S5      n[        S5      n[        S5      n[        S5      n[        S5      n[        XE45      n[        XE5      n[	        U5      S:X  d   e[	        U5      S:X  d   e[	        U5      S:X  d   e[	        U5      S:X  d   e[	        [        [        R                  US	05      5      S:X  d   e[	        [        [        R                  US
05      5      S:X  d   e[	        [        [        R                  US05      5      S:X  d   e[	        [        [        R                  US05      5      S:X  d   e[	        [        [        R                  US	US	05      5      S:X  d   e[	        [        [        R                  USUS05      5      S:X  d   e[	        [        [        R                  US
US05      5      S:X  d   e[	        [        [        R                  USUS05      5      S:X  d   e[	        [        [        R                  US
US05      5      S:X  d   e[	        [        [        R                  US	05      5      S:X  d   e[	        [        [        R                  US
05      5      S:X  d   e[	        [        [        R                  US05      5      S:X  d   e[	        [        [        R                  US05      5      S:X  d   e[	        [        [        R                  US	US	05      5      S:X  d   e[	        [        [        R                  US
US05      5      S:X  d   e[        [        R                  US
[        [        R                  US	US	05      S05      n[	        U5      S:X  d   [	        U5      5       e[        [        R                  US
[        [        R                  US	US	05      S05      n[	        U5      S:X  d   [	        U5      5       e[	        [        [        R                  SS0 45      5      S :X  d   e[	        [        [        R                  SU40 45      5      S!:X  d   e[	        [        [        R                  SX40 45      5      S":X  d   e[	        [        [        R                  SU45      5      S#:X  d   e[	        [        XU5      5      S$:X  d   e[	        [        X5      5      S%:X  d   e[	        [        X5      5      S&:X  d   e[	        [        X5      5      S':X  d   e[	        [        X5      5      S(:X  d   e[	        [!        X5      5      S):X  d   e[	        [#        X5      5      S*:X  d   eg )+Nr6   r7   r8   r9   r:   Ú123z
[123, 456]z
(123, 456)r   r;   z2 * xéÿÿÿÿz-xéþÿÿÿz-2 * xúx + yz-x - yr<   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) ** 3rZ   r0   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   rH   rI   ÚAPPLYÚINDEXINGr   r   r   r   r   r   r   )	r1   r6   r7   r8   rL   rM   rS   rP   rW   s	            r*   Útest_tostring_fortranÚ"TestSymbolic.test_tostring_fortran„   sn  € Ü�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¨¨°Ð"3Ó4Ó5¸ÓBÐBÐBÜ”4œŸ™ c¨1 XÓ.Ó/°6Ó9Ð9Ð9ä”:˜a AÓ&Ó'Ð+;Ó;Ð;Ð;Ü”5˜“;Ó :Ó-Ð-Ð-Ü”5˜“;Ó :Ó-Ð-Ð-Ü”5˜“;Ó :Ó-Ð-Ð-Ü”5˜“;Ó :Ó-Ð-Ð-Ü”5˜“;Ó :Ó-Ð-Ð-Ü”5˜“;Ó :Ó-Ð-Ñ-r-   c                 ó¦  • [         R                  n[        S5      n[        S5      n[        S5      n[        S5      n[	        [
        R                  US05      R                  US9S:X  d   e[	        [
        R                  X#-   S05      R                  US9S:X  d   e[	        [
        R                  US	05      R                  US9S
:X  d   e[        [        R                  UU5      R                  US9S:X  d   e[        [        R                  UX#-   5      R                  US9S:X  d   e[        [        R                  X#-
  UU-   5      R                  US9S:X  d   eX"U-
  X#-   -  -   U-   R                  US9S:X  d   e[        X#U5      R                  US9S:X  d   e[        X#5      R                  US9S:X  d   e[        X#5      R                  US9S:X  d   e[        X#5      R                  US9S:X  d   e[        X#5      R                  US9S:X  d   e[!        X#5      R                  US9S:X  d   e[#        X#5      R                  US9S:X  d   eg )Nr6   r7   r8   r9   r;   ©Ú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   rI   Útostringr   r   ÚDIVr   r   r   r   r   r   r   )r1   rt   r6   r7   r8   rL   s         r*   Útest_tostring_cÚ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Ø™ó ß (¡°( Ð ;¸}óMð 	Nð MäœŸ™ a¡e¨QØñ.ó ß$™H¨h˜HÐ7Ð;NóOð 	Pð Oà˜‘U˜q™uÑ%Ñ%Øñß‘8 X�8Ð.Ð2OóPð 	Pð Pô ˜! Ó"×+Ñ+°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                 ó2  • [        S5      n[        S5      n[        S5      nX-   [        [        R                  US05      :X  d   eX-
  [        [        R                  S5      :X  d   eX-   [        [        R                  USUS05      :X  d   eX-
  [        [        R                  USUS05      :X  d   eX-  [        [        R
                  US05      :X  d   eX-  [        [        R
                  USUS05      :X  d   eU7U:X  d   eU* [        [        R                  US05      :X  d   [        U* 5      5       eSU-  [        [        R                  US05      :X  d   eSU-   [        [        R                  US[        S5      S05      :X  d   eSU-  SU-  -   [        [        R                  USUS05      :X  d   eX-   S-  [        [        R                  USUS05      :X  d   eUS-  [        [        R
                  US05      :X  d   eX-   S-  [        [        R                  [        [        R
                  US05      S[        [        R
                  US05      S[        [        R
                  USUS05      S05      :X  d   eX-   U-  US-  X-  -   :X  d   eX-   S-  US-  SU-  U-  -   US-  -   :X  d   eX-   S-  X-
  S-  -   SUS-  -  SUS-  -  -   :X  d   eX-   U-  X-  X#-  -   :X  d   eX1U-   -  X-  X#-  -   :X  d   eUS-  [        [        R                  U[        S5      5      :X  d   eSU-  S-  U:X  d   eSU-  S-  [        [        R                  SU-  [        S5      5      :X  d   eS	U-  S-  SU-  :X  d   eS
U-  S-  [        [        R                  S
U-  [        S5      5      :X  d   eSU-  S-  SU-  :X  d   eSU-  S-  [        [        R                  S
U-  [        S5      5      :X  d   eSUS-  -  US	-  -  SUS-  -  US-  -  -  [        [        R                  S
U-  S	U-  5      :X  d   eSU-  S-  S
-  [        [        R                  U[        S5      5      :X  d   SU-  S-  S
-  5       eUS
U-  -  [        [        R                  US-  [        S
5      5      :X  d   eUS-  [        [        R                  US05      :X  d   e[        S5      n[        S5      nXE-  [        [        R                  S5      :X  d   eXA-  [        [        R                  XA45      :X  d   eX-  [        [        R                  X45      :X  d   e[        SS5      nU* [        SS5      :X  d   eXf-   [        S5      :X  d   eXf-  [        S5      :X  d   eg )Nr6   r7   r8   r;   )r   r=   r   r_   r<   r=   é   é   é   é   é   g       @g      à?r>   ú"123")z"ABC123"r   g      ð?g      ð¿g       Ày       @      @y      À      @)r   r   r   rH   rC   rI   rA   r   r   r   r   r   rF   ÚCONCATr	   r   )r1   r6   r7   r8   r&   rU   rP   s          r*   Útest_operationsÚTestSymbolic.test_operationsÕ   s”  € Ü�c‹NˆÜ�c‹NˆÜ�c‹Nˆà‰uœœRŸX™X¨¨1 vÓ.Ó.Ð.Ð.Ø‰uœœRŸZ™Z¨Ó0Ó0Ð0Ð0Ø‰uœœRŸX™X¨¨1¨a° |Ó4Ó4Ð4Ð4Ø‰uœœRŸX™X¨¨1¨a° }Ó5Ó5Ð5Ð5Ø‰uœœRŸZ™Z¨!¨Q¨Ó0Ó0Ð0Ð0Ø‰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¸¨|Ó <Ó<Ð<Ð<Ø‘˜‰{œd¤2§8¡8¨a°°A°q¨\Ó:Ó:Ð:Ð:à�!‰t”tœBŸJ™J¨¨A¨Ó/Ó/Ð/Ð/Ø‘˜‰zœTÜ�H‰Hä”R—Z‘Z ! Q Ó(¨!Ü”R—Z‘Z ! Q Ó(¨!Ü”R—Z‘ZØ�qØ�qð"ó ð ðó

ó 

ð 
	
ð 

ð ‘˜‰{˜a ™d Q¡U™lÓ*Ð*Ð*Ø‘˜‰z˜Q ™T A¨¡E¨A¡IÑ-°°1±Ñ4Ó4Ð4Ð4Ø‘˜‰z˜Q™U Q™JÑ&¨!¨a°©d©(°Q¸¸A¹±XÑ*=Ó=Ð=Ð=Ø‘˜‰{˜a™e a¡e™mÓ+Ð+Ð+Ø˜‘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Óˆà‰vœœbŸi™i¨Ó9Ó9Ð9Ð9Ø‰vœœbŸi™i¨!¨Ó0Ó0Ð0Ð0Ø‰vœœbŸi™i¨!¨Ó0Ó0Ð0Ð0ä�s˜CÓ ˆØˆr”Z  dÓ+Ó+Ð+Ð+Ø‰uœ Ó-Ó-Ð-Ð-Ø‰uœ Ó,Ó,Ð,Ñ,r-   c                 ó¾  • [        S5      n[        S5      n[        S5      n[        X45      nUR                  X05      U:X  d   eX-   R                  X05      X#-   :X  d   eX-  R                  X05      X#-  :X  d   eUS-  R                  X05      US-  :X  d   eX-  R                  X05      X2-  :X  d   eUR                  XU-   05      X#-   :X  d   eUR                  XU-   05      [        X#-   U45      :X  d   e[        XU5      R                  XU-   05      [        X#-   X#5      :X  d   e[	        X5      R                  XU-   05      [	        X#-   U5      :X  d   eg )Nr6   r7   r8   r=   )r   r   Ú
substituter   r   )r1   r6   r7   r8   rS   s        r*   Útest_substituteÚTestSymbolic.test_substitute  sn  € Ü�c‹NˆÜ�c‹NˆÜ�c‹NˆÜ�a�VÓˆà�|‰|˜Q˜FÓ# qÓ(Ð(Ð(Ø‘×!Ñ! 1 &Ó)¨Q©UÓ2Ð2Ð2Ø‘×!Ñ! 1 &Ó)¨Q©UÓ2Ð2Ð2Ø�1‘× Ñ  ! Ó(¨A¨q©DÓ0Ð0Ð0Ø‘×!Ñ! 1 &Ó)¨Q©UÓ2Ð2Ð2Ø�|‰|˜Q A¡˜JÓ'¨1©5Ó0Ð0Ð0Ø�|‰|˜Q A¡˜JÓ'¬8°Q±U¸A°JÓ+?Ó?Ð?Ð?ä˜!Øóß'™Z¨°©E¨
Ó3´zÀ!Á%ÈÓ7NóOð 	Oð Oä�Q‹{×%Ñ% q¨a©% jÓ1´U¸1¹5À!³_ÓDÐDÑDr-   c                 ór  • [        S5      n[        S5      n[        S5      n[        S5      n[        S5      n[        S5      n[        X45      n[        S5      U:X  d   e[        S5      U:X  d   e[        S5      U* :X  d   e[        S	5      X-   :X  d   e[        S
5      US-   :X  d   e[        S5      X-  :X  d   e[        S5      US-  :X  d   e[        S5      X-  :X  d   e[        S[        R
                  S9US-  :X  d   e[        S[        R
                  S9US-  :X  d   e[        S5      X-   U-  :X  d   e[        S5      U" U5      :X  d   e[        S5      U" X5      :X  d   e[        S5      XA   :X  d   e[        S5      XA   U   :X  d   e[        S5      U:X  d   e[        [        S[        R                  S95      XV-  :X  d   e[        S5      U" U5      :X  d   e[        S5      [        SS5      :X  d   e[        S5      U:X  d   [        S5      5       e[        S5      U" U5      :X  d   e[        S5      [        X-   U-  45      :X  d   e[        S 5      [        S!5      :X  d   e[        S"5      [        S!S5      :X  d   e[        S#5      [        S!S$5      :X  d   e[        S%5      [        S&S'5      :X  d   e[        S(5      [        S&S'5      :X  d   e[        S)5      [        S&S5      :X  d   e[        S*5      [        S&S'5      :X  d   e[        S+5      [        S&S5      :X  d   e[        S,5      [        S&S5      :X  d   e[        S-5      [        S&S'5      :X  d   e[        S.5      [        S&S5      :X  d   e[        S/5      [        S&S05      :X  d   e[        S15      [        S2S'5      :X  d   e[        S35      [        SS5      :X  d   e[        S45      [        [        S55      [        S65      5      :X  d   e[        S75      [        [        S5      [        S5      45      :X  d   e[        S85      [        [        S95      U[        S5      S:9:X  d   e[        S;5      [        [        S<5      [        S=5      [        S>5      [        [        S?5      [        S@5      45      SA9:X  d   e[        SB5      [        XU5      :X  d   e[        SC5      [        U5      :X  d   e[        SD5      [        [        U5      5      :X  d   e[        SE5      [        U5      :X  d   e[        SF5      [        U5      [        U5      -  :X  d   e[        SG5      [        U5      [        U5      -  :X  d   e[        SH5      [        U5      [        U5      -  :X  d   e[        SI5      [        U5      [        U5      -  :X  d   e[        SJ5      [        X5      :X  d   e[        SK5      [        X5      :X  d   e[        SL5      [!        X5      :X  d   e[        SM5      [#        X5      :X  d   e[        SN5      [%        X5      :X  d   e[        SO5      ['        X5      :X  d   e[        SP[        R                  S9[        X5      :X  d   e[        SQ[        R                  S9[        X5      :X  d   e[        SR[        R                  S9[!        X5      :X  d   e[        SS[        R                  S9[#        X5      :X  d   e[        ST[        R                  S9[%        X5      :X  d   e[        SU[        R                  S9['        X5      :X  d   eg )VNr6   r7   r8   rZ   r>   rˆ   z+ xz-  xra   zx + 1r   rd   zx * 2r;   rv   rc   rs   zx ** 2 ** 3é   z(x + y) * zre   zf(x,y)rf   zf[x][y]z"ABC" // "123" zf("ABC")zMYSTRKIND_"ABC"Ú	MYSTRKINDz(/x, y/)zf((/x, y/))z(/(x+y)*z/)r^   r9   Ú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)r7   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**yrw   rx   ry   r{   rz   r|   rg   rh   ri   rk   rj   rl   )r   r   r   r   r   ÚPythonr   ÚFortranr   r	   r   r   r
   r   r   r   r   r   r   r   )r1   r6   r7   r8   rZ   r&   rU   rS   s           r*   Útest_fromstringÚ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¨£wÓ.Ð.Ð.Ü˜&Ó! Q¡TÓ)Ð)Ð)Ü˜)Ó$¨©¨Q©Ó/Ð/Ð/ä˜'Ó" aÓ'Ð'Ð'ÜÜÐ(Ü (× 0Ñ 0ñ2ó3à67±fó=ð 	>ð =ô ˜*Ó%©¨1«Ó-Ð-Ð-ÜÐ+Ó,´	¸'À;Ó0OÓOÐOÐOä˜*Ó%¨Ó*ÐB¬J°zÓ,BÓBÐ*Ü˜-Ó(©A¨a«DÓ0Ð0Ð0Ü˜-Ó(¬H°q±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°°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£kÓ1Ð1Ð1Ü˜'Ó"¤e¨A£kÓ1Ð1Ð1Ü˜(Ó#¤u¨Q£{Ó2Ð2Ð2Ü˜(Ó#¤u¨Q£{Ó2Ð2Ð2ä˜*¬x×/?Ñ/?Ñ@ÄEÈ!ÃKÓOÐOÐOÜ˜*¬x×/?Ñ/?Ñ@ÄEÈ!ÃKÓOÐOÐOÜ˜*¬x×/?Ñ/?Ñ@ÄEÈ!ÃKÓOÐOÐOÜ˜*¬x×/?Ñ/?Ñ@ÄEÈ!ÃKÓOÐOÐOÜ˜*¬x×/?Ñ/?Ñ@ÄEÈ!ÃKÓOÐOÐOÜ˜*¬x×/?Ñ/?Ñ@ÄEÈ!ÃKÓOÐOÑOr-   c                 ón  ^^	^
• [        S5      m
[        S5      n[        S5      n[        S5      nU4U
4S jjnT
R                  U5      U:X  d   eUR                  U5      U:X  d   eUR                  U5      U:X  d   eU" U5      R                  U5      U" U5      :X  d   eU" T
5      R                  U5      U" U5      :X  d   eX1   R                  U5      X1   :X  d   eX2   R                  U5      X2   :X  d   eT
U-   U-   R                  U5      SU-  U-   :X  d   eT
U" UT
U-
  5      -   R                  U5      UU" U[        S5      5      -   :X  d   e[        T
U5      R                  U5      [        X!5      :X  d   e[	        5       m[	        5       m	UU	4S jnT
U" UT
U-
  5      -   R                  U5        TU1:X  d   eT	T
X1:X  d   eS	 n[	        5       m	T
U" UT
U-
  5      -   R                  UT	5        T	T
XU1:X  d   eS
 n[	        5       m	T
U" UT
U-
  5      -   R                  UT	5        T	T
1:X  d   eg )Nr6   r7   r8   rZ   c                 ó   >• U T:X  a  U$ g r%   r0   )r&   r'   r6   s     €r*   Úreplace_visitÚ1TestSymbolic.test_traverse.<locals>.replace_visitŒ  s   ø€ Ø�A‹vØ�ð r-   r;   r   c                 ó  >• U R                   [        R                  L a9  U R                  S   nTR	                  U5        UT;   a  TR                  U5        g g U R                   [        R                  L a  U T;  a  TR	                  U 5        g g g )Nr   )r?   r   rn   ÚdataÚaddÚremover@   )r&   ÚoperÚfunction_symbolsÚsymbolss     €€r*   Úcollect_symbolsÚ3TestSymbolic.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                 ób   • U R                   [        R                  L a  UR                  U 5        g g r%   )r?   r   r@   r¬   ©Úexprr°   s     r*   Úcollect_symbols2Ú4TestSymbolic.test_traverse.<locals>.collect_symbols2¯  s#   € Ø�w‰wœ"Ÿ)™)Ò#Ø—‘˜DÕ!ð $r-   c                 ó    • U R                   [        R                  L a  U $ U R                   [        R                  L a  UR	                  U 5        g g r%   )r?   r   rn   r@   r¬   r´   s     r*   Úcollect_symbols3Ú4TestSymbolic.test_traverse.<locals>.collect_symbols3¸  s8   € Ø�w‰wœ"Ÿ(™(Ò"à�Ø�w‰wœ"Ÿ)™)Ò#Ø—‘˜DÕ!ð $r-   )r   Útraverser   r   Úset)r1   r7   r8   rZ   r¨   r±   r¶   r¹   r¯   r°   r6   s           @@@r*   Útest_traverseÚTestSymbolic.test_traverse…  sS  ú€ Ü�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Ø‘�‰˜}Ó-°±Ó5Ð5Ð5Ø‘�‰˜}Ó-°±Ó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³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                 ó   ^• [        S5      m[        S5      n[        S5      nTR                  T5      [        S5      [        S5      4:X  d   eTS-   R                  T5      [        S5      [        S5      4:X  d   eST-  R                  T5      [        S5      [        S5      4:X  d   eST-  S-   R                  T5      [        S5      [        S5      4:X  d   e[        S5      R                  T5      [        S5      [        S5      4:X  d   eUR                  T5      [        S5      U4:X  d   eX-  R                  T5      [        S5      X-  4:X  d   eTU-   R                  T5      [        S5      U4:X  d   eUT-  U-   R                  T5      X!4:X  d   eX!-   T-  U-   R                  T5      X!-   U4:X  d   eX!-  T-  U-   R                  T5      X!-  U4:X  d   e[        R                  " [
        U4S j5        g )	Nr6   r7   r8   r   r   r;   r<   c                  ó,   >• T T -  R                  T 5      $ r%   )Úlinear_solve)r6   s   €r*   Ú<lambda>Ú0TestSymbolic.test_linear_solve.<locals>.<lambda>Õ  s   ø€ ¨Q°©U×,@Ñ,@ÀÔ,Cr-   )r   rÁ   r   ÚpytestÚraisesÚRuntimeError)r1   r7   r8   r6   s      @r*   Útest_linear_solveÚ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Ó&¬9°Q«<¸¹Ð*?Ó?Ð?Ð?à�A‘×#Ñ# AÓ&¬9°Q«<¸Ð*;Ó;Ð;Ð;Ø�A‘˜‘	×'Ñ'¨Ó*¨q¨fÓ4Ð4Ð4Ø‘˜!‘˜a‘×-Ñ-¨aÓ0°Q±U¸A°JÓ>Ð>Ð>Ø‘˜‘	˜A‘×+Ñ+¨AÓ.°1±5¸!°*Ó<Ð<Ð<ä�Š”lÔ$CÕDr-   c                 ó¾  • [        S5      n[        S5      n[        S5      n[        U5      U[        S5      4:X  d   e[        X-  5      X4:X  d   e[        X1-  5      X14:X  d   e[        X-  5      X4:X  d   e[        X-  5      X-  [        S5      4:X  d   e[        X1U-  -   5      XU-  -   U4:X  d   e[        X1X!U-  -
  -  -   5      X#S-  -  X#-  U-
  4:X  d   eg )Nr6   r7   r9   r   r;   )r   r   r   ©r1   r6   r7   rL   s       r*   Útest_as_numer_denomÚ TestSymbolic.test_as_numer_denom×  sò   € Ü�c‹NˆÜ�c‹NˆÜ�c‹Nˆä˜aÓ  Q¬	°!«Ð$5Ó5Ð5Ð5Ü˜a™eÓ$¨¨Ó.Ð.Ð.Ü˜a™eÓ$¨¨Ó.Ð.Ð.Ü˜a™eÓ$¨¨Ó.Ð.Ð.Ü˜a™eÓ$¨©´	¸!³Ð(=Ó=Ð=Ð=Ü˜a a¡%™iÓ(¨Q°Q±©Y¸¨NÓ:Ð:Ð:Ü˜a q¨q©5¡y¡/Ñ1Ó2°q¸a¹4±xÀÁÈÁÐ6KÓKÐKÑKr-   c                 ó  • [        S5      n[        S5      n[        S5      nUR                  5       U1:X  d   eUR                  5       [        5       :X  d   eX!   R                  5       X!   1:X  d   eU" U5      R                  5       U" U5      1:X  d   eU" U5      U-   R                  5       U" U5      U1:X  d   eU" U5      X   -  R                  5       U" U5      X   1:X  d   eU" U5      U-  R                  5       U" U5      1:X  d   eg )Nr6   r7   r9   )r   r   Úpolynomial_atomsr¼   rÊ   s       r*   Útest_polynomial_atomsÚ"TestSymbolic.test_polynomial_atomsä  s  € Ü�c‹NˆÜ�c‹NˆÜ�c‹Nˆà×!Ñ!Ó#¨ sÓ*Ð*Ð*Ø×!Ñ!Ó#¤s£uÓ,Ð,Ð,Ø‘×&Ñ&Ó(¨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‘×)Ñ)Ó+±°!³¨vÓ5Ð5Ñ5r-   r0   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r3   r[   rp   r€   rŠ   rŽ   r¤   r½   rÇ   rË   rÏ   Ú__static_attributes__r0   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!   r0   r-   r*   Ú<module>rØ      sG   ðÛ ÷÷ ÷ ÷ ÷ ÷ ÷ ñ õ< ôK6�4—=‘=õ K6r-   