+
    eiG  c                   s    ^ RI t ^ RIHtHtHtHtHtHtHtH	t	H
t
HtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHtHt ^RIHt  ! R R]P>                  4      t R# )    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                   sb   a  ] tR t^$t o R tR tR tR tR tR t	R t
R tR	 tR
 tR tRtV tR# )TestSymbolicc                s   R  pR
 F  pV! VR,           4       V! VR,           V,           R,           4       V! VR,           4       V! VR,           V,           R,           4       V! VR,           4       V! RV,           R,           4       K  	  R	# )c                 sF    \        V 4      w  r\        W4      pW08X  g   Q hR # N)r   r   )srZdZs1   &   E/usr/lib64/python3.14/site-packages/numpy/f2py/tests/test_symbolic.pyworkerZ2TestSymbolic.test_eliminate_quotes.<locals>.worker&   s!    #A&DAq$B7N7    z"1234" // "ABCD"z
"1234" // z"ABCD"z"1234" // 'ABCD'z'ABCD'z"1\"2'AB'34"za = z'1\'2"AB"34'N) Zmykind_ )selfr#   Zkinds   &  r"   test_eliminate_quotesZ"TestSymbolic.test_eliminate_quotes%   s}    	
 $D4,,-4,&-894../4,&-894++,6D=#445 $r$   c                s   \        R 4      p\        R4      p\        R4      pVP                  \        P                  8X  g   Q h\	        V4      R8X  g   Q hW8X  g   Q hW8w  g   Q h\        V4      f   Q h\        ^{4      p\        R4      pVP                  \        P                  8X  g   Q h\	        V4      R8X  g   Q hWD8X  g   Q hWE8w  g   Q h\        V4      f   Q h\        R4      p\        R4      pVP                  \        P                  8X  g   Q h\	        V4      R	8X  g   Q hWf8X  g   Q hWg8w  g   Q h\        V4      f   Q h\        ^^4      p\        ^^4      p	VP                  \        P                  8X  g   Q h\	        V4      R
8X  g   Q hW8X  g   Q hW8w  g   Q h\        V4      f   Q h\        R4      p
\        R4      pV
P                  \        P                  8X  g   Q h\	        V
4      R8X  g   Q \	        V
4      4       hW8X  g   Q hW8w  g   Q h\        WE34      p\        V34      pVP                  \        P                  8X  g   Q h\	        V4      R8X  g   Q hW8X  g   Q hW8w  g   Q h\        V4      p\        V4      pVP                  \        P                   8X  g   Q h\	        V4      R8X  g   Q hW8X  g   Q hW8w  g   Q h\        V4      f   Q h\#        V4      p\#        V4      pVP                  \        P$                  8X  g   Q h\	        V4      R8X  g   Q hVV8X  g   Q hVV8w  g   Q h\        V4      f   Q h\'        WV4      p\'        WV4      pVP                  \        P(                  8X  g   Q hW8X  g   Q hW8w  g   Q h\        V4      f   Q h\+        W4      p\-        W4      pVP                  \        P.                  8X  g   Q hVV8X  g   Q hVV8w  g   Q h\        V4      f   Q hR# )xyzzExpr(Op.SYMBOL, 'x')N  zExpr(Op.INTEGER, (123, 4))g(@gF@zExpr(Op.REAL, (12.3, 4))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reprZhashr   INTEGERZREALr   ZCOMPLEXr   STRINGr   ZARRAYr   TERMSr   FACTORSr   ZTERNARYr	   r   Z
RELATIONAL)r'   r)   r*   r+   nmZfnZfmcZc2r   Zs2aZbtZuvZwZefs   &                   r"   test_sanityZTestSymbolic.test_sanity3   s   cNcNcNttryy   Aw0000vvvvAw"""cNcNttrzz!!!Aw6666vvvvAw"""t_t_uuBx5555xxxxBx###q!1ttrzz!!!Aw 9 : 	: :vvwwAw"""gwttryy   Aw;;DT!WD;vvwwaVaUOttrxxAw ; < 	< <vvvvQKQKttrxxAwEEEEvvvvAw"""qMqMttrzz!!!AwGGGGAvvAvvAw"""qQqQttrzz!!!vvvvAw"""!K!Kttr}}$$$AvvAvvAw"""r$   c                s
   \        R 4      p\        R4      p\        R4      p\        ^{4      p\        R4      p\        WE34      p\        WE4      p\	        V4      R 8X  g   Q h\	        V4      R8X  g   Q h\	        V4      R8X  g   Q h\	        V4      R8X  g   Q h\	        \        \        P                  V^/4      4      R 8X  g   Q h\	        \        \        P                  V^/4      4      R8X  g   Q h\	        \        \        P                  VR#/4      4      R8X  g   Q h\	        \        \        P                  VR$/4      4      R	8X  g   Q h\	        \        \        P                  V^V^/4      4      R
8X  g   Q h\	        \        \        P                  VR#VR#/4      4      R8X  g   Q h\	        \        \        P                  V^V^/4      4      R8X  g   Q h\	        \        \        P                  VR$V^/4      4      R8X  g   Q h\	        \        \        P                  V^VR%/4      4      R8X  g   Q h\	        \        \        P                  V^/4      4      R 8X  g   Q h\	        \        \        P                  V^/4      4      R8X  g   Q h\	        \        \        P                  VR#/4      4      R8X  g   Q h\	        \        \        P                  VR$/4      4      R8X  g   Q h\	        \        \        P                  V^V^/4      4      R8X  g   Q h\	        \        \        P                  V^V^/4      4      R8X  g   Q h\        \        P                  V^\        \        P                  V^V^/4      ^/4      p\	        V4      R8X  g   Q \	        V4      4       h\        \        P                  V^\        \        P                  V^V^/4      ^/4      p\	        V4      R8X  g   Q \	        V4      4       h\	        \        \        P                  RR&/ 34      4      R8X  g   Q h\	        \        \        P                  RV3/ 34      4      R8X  g   Q h\	        \        \        P                  RW3/ 34      4      R8X  g   Q h\	        \        \        P                  RV34      4      R8X  g   Q h\	        \        WV4      4      R8X  g   Q h\	        \        W4      4      R8X  g   Q h\	        \        W4      4      R8X  g   Q h\	        \        W4      4      R8X  g   Q h\	        \        W4      4      R8X  g   Q h\	        \!        W4      4      R 8X  g   Q h\	        \#        W4      4      R!8X  g   Q hR"# )'r)   r*   r+   r,   123z
[123, 456]z
(123, 456)z2 * xz-xz-2 * xx + yz-x - yz2 * x + 3 * yz-2 * x + 3 * yz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) ** 3r;   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. yNiir&   )r   r   r   r   Zstrr   r   r3   r4   APPLYZINDEXINGr   r	   r   r   r   r   r   )	r'   r)   r*   r+   r5   r6   r8   r7   r:   s	   &        r"   test_tostring_fortranZ"TestSymbolic.test_tostring_fortran   sn   cNcNcNcNcNaVq1v}}1v1v%%%1v%%%41a&)*c11141a&)*g55541b'*+t33341b'*+x77741aA,/0G;;;41b!R.12h>>>41aA,/0OCCC41b!Q-015EEEE41a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1aL12g===4

Q1aL126GGGGaDAq!Q<$@!DE1v008#a&80aDaAq\$BAFG1v008#a&8043B-01U:::43r"234>>>43"345BBB4c1X./6999:aA&'+;;;;5;:---5;:---5;:---5;:---5;:---5;:---r$   c                s`   \         P                  p\        R 4      p\        R4      p\        R4      p\        ^{4      p\	        \
        P                  V^/4      P                  VR7      R8X  g   Q h\	        \
        P                  W#,           ^/4      P                  VR7      R8X  g   Q h\	        \
        P                  V^/4      P                  VR7      R8X  g   Q h\        \        P                  VV4      P                  VR7      R8X  g   Q h\        \        P                  VW#,           4      P                  VR7      R8X  g   Q h\        \        P                  W#,
          VV,           4      P                  VR7      R	8X  g   Q hW"V,
          W#,           ,          ,           V,           P                  VR7      R
8X  g   Q h\        W#V4      P                  VR7      R8X  g   Q h\        W#4      P                  VR7      R8X  g   Q h\        W#4      P                  VR7      R8X  g   Q h\        W#4      P                  VR7      R8X  g   Q h\        W#4      P                  VR7      R8X  g   Q h\!        W#4      P                  VR7      R8X  g   Q h\#        W#4      P                  VR7      R8X  g   Q hR# )r)   r*   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 >= yN)r   ZCr   r   r   r   r4   Ztostringr   r   DIVr   r	   r   r   r   r   r   )r'   rM   r)   r*   r+   r5   s   &     r"   test_tostring_cZTestSymbolic.test_tostring_c   s   ::cNcNcNcNBJJA'00(0CwNNNRZZE1"
 8X8&*=> 	? > BJJr!
 8X8&,7 	7 7 Q#8X86'B 	B Ba  (( ;}M 	N MaeQ. $HhH7;NO 	P OUqu%%8X8.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                sd   \        R 4      p\        R4      p\        R4      pW,           \        \        P                  V^/4      8X  g   Q hW,
          \        \        P                  R	4      8X  g   Q hW,           \        \        P                  V^V^/4      8X  g   Q hW,
          \        \        P                  V^VR
/4      8X  g   Q hW,          \        \        P
                  V^/4      8X  g   Q hW,          \        \        P
                  V^V^/4      8X  g   Q hV5V8X  g   Q hV) \        \        P                  VR
/4      8X  g   Q \        V) 4      4       h^V,          \        \        P                  V^/4      8X  g   Q h^V,           \        \        P                  V^\        ^4      ^/4      8X  g   Q h^V,          ^V,          ,           \        \        P                  V^V^/4      8X  g   Q hW,           ^,          \        \        P                  V^V^/4      8X  g   Q hV^,          \        \        P
                  V^/4      8X  g   Q hW,           ^,          \        \        P                  \        \        P
                  V^/4      ^\        \        P
                  V^/4      ^\        \        P
                  V^V^/4      ^/4      8X  g   Q hW,           V,          V^,          W,          ,           8X  g   Q hW,           ^,          V^,          ^V,          V,          ,           V^,          ,           8X  g   Q hW,           ^,          W,
          ^,          ,           ^V^,          ,          ^V^,          ,          ,           8X  g   Q hW,           V,          W,          W#,          ,           8X  g   Q hW1V,           ,          W,          W#,          ,           8X  g   Q hV^,          \        \        P                  V\        ^4      4      8X  g   Q h^V,          ^,          V8X  g   Q h^V,          ^,          \        \        P                  ^V,          \        ^4      4      8X  g   Q h^V,          ^,          ^V,          8X  g   Q h^V,          ^,          \        \        P                  ^V,          \        ^4      4      8X  g   Q h^V,          ^,          ^V,          8X  g   Q h^V,          ^,          \        \        P                  ^V,          \        ^4      4      8X  g   Q h^V^,          ,          V^,          ,          ^V^,          ,          V^,          ,          ,          \        \        P                  ^V,          ^V,          4      8X  g   Q h^V,          ^,          ^,          \        \        P                  V\        ^4      4      8X  g   Q ^V,          ^,          ^,          4       hV^V,          ,          \        \        P                  V^,          \        ^4      4      8X  g   Q hVR,          \        \        P                  VR/4      8X  g   Q h\        R4      p\        R4      pWE,          \        \        P                  R4      8X  g   Q hWA,          \        \        P                  WA34      8X  g   Q hW,          \        \        P                  W34      8X  g   Q h\        RR4      pV) \        RR4      8X  g   Q hWf,           \        R4      8X  g   Q hWf,          \        R4      8X  g   Q hR# )r)   r*   r+   g       @g      ?r-   "123"g      ?N)r    i   rI   )z"ABC123"i   g      g       y       @      @y            @)r   r   r   r3   r1   r4   r0   r   r   r   rU   r   r2   ZCONCATr   r
   )r'   r)   r*   r+   r   r9   r7   s   &      r"   test_operationsZTestSymbolic.test_operations   s   cNcNcNuRXX1v....uRZZ0000uRXX1a|4444uRXX1a}5555uRZZ!Q0000uRZZ!Q16666rQwwrT"((QG,,6dA2h6,1uRXX1v....1uRXX1ilA'>????1uq1u}RXX1a| <<<<{d288aAq\::::!ttBJJA////zTHHRZZ!Q(!RZZ!Q(!RZZqq"  

 

 
	
 

 {adQUl***zQTAEAI-14444zQUQJ&!ad(QAX*===={aeaem+++E{aeaem+++A(7;;9Q<@@@@A	aA	hw{{AE9Q<HHHHA	a!e###A	hw{{AE9Q<HHHHA	a!e###!aHW[[!a%1$NNNNQT	AqD BAI1$45(KKQA;' ' 	' 'a!q Xgkk1.7l&< < 	N>@1fqjA=M	N <QUadIaL IIIICDAs84444ggvbii9999vbii!0000vbii!0000sC rZd++++u----u,,,,r$   c                sR   \        R 4      p\        R4      p\        R4      p\        W34      pVP                  W/4      V8X  g   Q hW,           P                  W/4      W#,           8X  g   Q hW,          P                  W/4      W#,          8X  g   Q hV^,          P                  W/4      V^,          8X  g   Q hW,          P                  W/4      W2,          8X  g   Q hVP                  WV,           /4      W#,           8X  g   Q hVP                  WV,           /4      \        W#,           V34      8X  g   Q h\        WV4      P                  WV,           /4      \        W#,           W#4      8X  g   Q h\	        W4      P                  WV,           /4      \	        W#,           V4      8X  g   Q hR# )r)   r*   r+   N)r   r   Z
substituter   r	   )r'   r)   r*   r+   r8   s   &    r"   test_substituteZTestSymbolic.test_substitute  sn   cNcNcNaV||QF#q(((!!1&)QU222!!1&)QU2221  !(AqD000!!1&)QU222||QAJ'15000||QAJ'8QUAJ+????!'ZE
3z!%7NO 	O OQ{%%qa%j1U15!_DDDr$   c                s   \        R 4      p\        R4      p\        R4      p\        R4      p\        R4      p\        R4      p\        W34      p\        R 4      V8X  g   Q h\        R4      V8X  g   Q h\        R4      V) 8X  g   Q h\        R4      W,           8X  g   Q h\        R	4      V^,           8X  g   Q h\        R
4      W,          8X  g   Q h\        R4      V^,          8X  g   Q h\        R4      W,          8X  g   Q h\        R\        P
                  R7      V^,          8X  g   Q h\        R\        P
                  R7      V^,          8X  g   Q h\        R4      W,           V,          8X  g   Q h\        R4      V! V4      8X  g   Q h\        R4      V! W4      8X  g   Q h\        R4      WA,          8X  g   Q h\        R4      WA,          V,          8X  g   Q h\        R4      V8X  g   Q h\        \        R\        P                  R7      4      WV,          8X  g   Q h\        R4      V! V4      8X  g   Q h\        R4      \        RR4      8X  g   Q h\        R4      V8X  g   Q \        R4      4       h\        R4      V! V4      8X  g   Q h\        R4      \        W,           V,          34      8X  g   Q h\        R4      \        ^{4      8X  g   Q h\        R4      \        ^{^4      8X  g   Q h\        R4      \        ^{R4      8X  g   Q h\        R 4      \        R!^4      8X  g   Q h\        R"4      \        R!^4      8X  g   Q h\        R#4      \        R!^4      8X  g   Q h\        R$4      \        R!^4      8X  g   Q h\        R%4      \        R!^4      8X  g   Q h\        R&4      \        R!^4      8X  g   Q h\        R'4      \        R!^4      8X  g   Q h\        R(4      \        R!^4      8X  g   Q h\        R)4      \        R!R*4      8X  g   Q h\        R+4      \        R,^4      8X  g   Q h\        R-4      \        ^^4      8X  g   Q h\        R.4      \        \        R/4      \        R04      4      8X  g   Q h\        R14      \        \        ^4      \        ^4      34      8X  g   Q h\        R24      \        \        R34      V\        ^4      R47      8X  g   Q h\        R54      \        \        R64      \        R74      \        ^24      \        \        ^"4      \        ^4      34      R87      8X  g   Q h\        R94      \        WV4      8X  g   Q h\        R:4      \        V4      8X  g   Q h\        R;4      \        \        V4      4      8X  g   Q h\        R<4      \        V4      8X  g   Q h\        R=4      \        V4      \        V4      ,          8X  g   Q h\        R>4      \        V4      \        V4      ,          8X  g   Q h\        R?4      \        V4      \        V4      ,          8X  g   Q h\        R@4      \        V4      \        V4      ,          8X  g   Q h\        RA4      \        W4      8X  g   Q h\        RB4      \        W4      8X  g   Q h\        RC4      \!        W4      8X  g   Q h\        RD4      \#        W4      8X  g   Q h\        RE4      \%        W4      8X  g   Q h\        RF4      \'        W4      8X  g   Q h\        RG\        P                  R7      \        W4      8X  g   Q h\        RH\        P                  R7      \        W4      8X  g   Q h\        RI\        P                  R7      \!        W4      8X  g   Q h\        RJ\        P                  R7      \#        W4      8X  g   Q h\        RK\        P                  R7      \%        W4      8X  g   Q h\        RL\        P                  R7      \'        W4      8X  g   Q hRM# )Nr)   r*   r+   r;   r-   rW   z+ xz-  xr>   zx + 1r@   zx * 2rN   r?   rL   zx ** 2 ** 3z(x + y) * zrA   zf(x,y)rB   zf[x][y]z"ABC" // "123" zf("ABC")zMYSTRKIND_"ABC"Z	MYSTRKINDz(/x, y/)zf((/x, y/))z(/(x+y)*z/)r=   Z123_2Z123_myintkindZ	myintkindz123.0g     ^@z123.0_4z123.0_8z123.0e0z123.0d0Z123d0z123e-0z123d+0z123.0_myrealkindZ
myrealkindZ3E4g     L@z(1, 2)z	(1e2, PI)g      Y@ZPIz[1, 2]zPOINT(x, y=1)ZPOINT)r*   z-PERSON(name="John", age=50, shape=(/34, 23/))ZPERSONz"John")ZnameZageZshapezx?y:zz*xz**xz&xz(*x) * (*y)z	(*x) * *yz*x * *yz*x**yrO   rP   rQ   rS   rR   rT   rC   rD   rE   rG   rF   rH   N)r   r   r   r   r   ZPythonr   ZFortranr   r   r   r   r   r   r	   r   r   r   r   r   )r'   r)   r*   r+   r;   r   r9   r8   s   &       r"   test_fromstringZTestSymbolic.test_fromstring'  s   cNcNcNcNggaV#!###% A%%%&!aR''''"ae+++'"a!e+++'"ae+++'"a!e+++'"ae+++(X__=AEEE-(//BagMMM-(QUaK777&!QqT)))(#qw...&!QT))))$Q///'"a'''( ( 0 02367f= 	> = *%1---+,	';0OOOO*%*BJz,BB*-(AaD000-(Hquk_,EEEE% IcN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% Igq$9999(#z!Q'7777+&*Yu5E5>t_+F F 	F F (#x1y|0L'MMMM/*hy7I789B1/G G 	G G ;=@H(#x(bM	"y}=>	A 	  '"jq&9999$8A;...% HXa[$9999$6!9,,,-(HQK(1+,EEEE+&(1+*CCCC)$hqk(AAAA'"hqkHQK&????(#uQ{222(#uQ{222'"eAk111'"eAk111(#uQ{222(#uQ{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                s  aa	a
 \        R 4      o
\        R4      p\        R4      p\        R4      pV3V
3R llpS
P                  V4      V8X  g   Q hVP                  V4      V8X  g   Q hVP                  V4      V8X  g   Q hV! V4      P                  V4      V! V4      8X  g   Q hV! S
4      P                  V4      V! V4      8X  g   Q hW1,          P                  V4      W1,          8X  g   Q hW2,          P                  V4      W2,          8X  g   Q hS
V,           V,           P                  V4      ^V,          V,           8X  g   Q hS
V! VS
V,
          4      ,           P                  V4      VV! V\        ^ 4      4      ,           8X  g   Q h\        S
V4      P                  V4      \        W!4      8X  g   Q h\	        4       o\	        4       o	VV	3R lpS
V! VS
V,
          4      ,           P                  V4       SV08X  g   Q hS	S
W08X  g   Q hR p\	        4       o	S
V! VS
V,
          4      ,           P                  VS	4       S	S
WV08X  g   Q hR p\	        4       o	S
V! VS
V,
          4      ,           P                  VS	4       S	S
08X  g   Q hR# )	r)   r*   r+   r;   c                 s   < V S8X  d   V# R # r   r&   )r   r    r)   s   &&r"   replace_visitZ1TestSymbolic.test_traverse.<locals>.replace_visit  s    Av r$   c                 s8  < V P                   \        P                  J dA   V P                  ^ ,          pSP	                  V4       VS9   d   SP                  V4       R# R# V P                   \        P                  J d   V S9  d   SP	                  V 4       R# R# R# )r    N)r.   r   rJ   ZdataaddZremover/   )r   Zoperfunction_symbolssymbolss   & r"   collect_symbolsZ3TestSymbolic.test_traverse.<locals>.collect_symbols  sr    ttrxxvvay $$T*7?NN4( #"q0@'@A (A"r$   c                 sh    V P                   \        P                  J d   VP                  V 4       R # R # r   )r.   r   r/   r\   Zexprr^      &&r"   collect_symbols2Z4TestSymbolic.test_traverse.<locals>.collect_symbols2  s#    ww"))#D! $r$   c                 s    V P                   \        P                  J d   V # V P                   \        P                  J d   VP	                  V 4       R # R # r   )r.   r   rJ   r/   r\   r`   ra   r"   collect_symbols3Z4TestSymbolic.test_traverse.<locals>.collect_symbols3  s8    ww"(("ww"))#D! $r$   N)r   Ztraverser   r	   set)r'   r*   r+   r;   r[   r_   rb   rc   r]   r^   r)   s   &       @@@r"   test_traverseZTestSymbolic.test_traverse  sS   cNcNcNcN  ! 	 zz-(A---zz-(A---zz-(A---!}-1555!}-1555}-555}-555A	##M2q1uqyAAA!QU%Xm49:1il9K:LM 	M M Q{##M2eAkAAA 5%	 
Qq!a%[""?3A3&&&1a)###	" %	
Qq!a%[""#3W=1aA,&&&	" %	
Qq!a%[""#3W=1#~~r$   c                s  a \        R 4      o\        R4      p\        R4      pSP                  S4      \        ^4      \        ^ 4      38X  g   Q hS^,           P                  S4      \        ^4      \        ^4      38X  g   Q h^S,          P                  S4      \        ^4      \        ^ 4      38X  g   Q h^S,          ^,           P                  S4      \        ^4      \        ^4      38X  g   Q h\        ^4      P                  S4      \        ^ 4      \        ^4      38X  g   Q hVP                  S4      \        ^ 4      V38X  g   Q hW,          P                  S4      \        ^ 4      W,          38X  g   Q hSV,           P                  S4      \        ^4      V38X  g   Q hVS,          V,           P                  S4      W!38X  g   Q hW!,           S,          V,           P                  S4      W!,           V38X  g   Q hW!,          S,          V,           P                  S4      W!,          V38X  g   Q h\        P                  ! \
        V3R l4       R# )r)   r*   r+   c                  s4   < S S ,          P                  S 4      # r   )linear_solve)r)   s   r"   Z<lambda>Z0TestSymbolic.test_linear_solve.<locals>.<lambda>  s    QU,@,@,Cr$   N)r   rf   r   pytestZraisesZRuntimeError)r'   r*   r+   r)   s   &  @r"   test_linear_solveZTestSymbolic.test_linear_solve  s   cNcNcN~~a Yq\9Q<$@@@@A##A&9Q<1*FFFFA##A&9Q<1*FFFFA	''*y|Yq\.JJJJ|((+	!il/KKKK~~a Yq\1$5555##A&9Q<*????A##A&9Q<*;;;;A	''*qf444!a--a0QUAJ>>>	A++A.15!*<<<l$CDr$   c                sV   \        R 4      p\        R4      p\        ^{4      p\        V4      V\        ^4      38X  g   Q h\        W,          4      W38X  g   Q h\        W1,          4      W138X  g   Q h\        W,          4      W38X  g   Q h\        W,          4      W,          \        ^4      38X  g   Q h\        W1V,          ,           4      WV,          ,           V38X  g   Q h\        W1W!V,          ,
          ,          ,           4      W#^,          ,          W#,          V,
          38X  g   Q hR# r)   r*   N)r   r   r   r'   r)   r*   r5   r!   r"   test_as_numer_denomZ TestSymbolic.test_as_numer_denom  s    cNcNcNa Q	!$5555ae$...ae$...ae$...ae$	!(====aa%i(QQYN:::aqq5y/12qa4x6KKKKr$   c                sd   \        R 4      p\        R4      p\        ^{4      pVP                  4       V08X  g   Q hVP                  4       \        4       8X  g   Q hW!,          P                  4       W!,          08X  g   Q hV! V4      P                  4       V! V4      08X  g   Q hV! V4      V,           P                  4       V! V4      V08X  g   Q hV! V4      W,          ,          P                  4       V! V4      W,          08X  g   Q hV! V4      V,          P                  4       V! V4      08X  g   Q hR# ri   )r   r   Zpolynomial_atomsrd   rj   r!   r"   test_polynomial_atomsZ"TestSymbolic.test_polynomial_atoms  s   cNcNcN!!#s***!!#su,,,&&(QTF222!&&(QqTF222!q**,1q	999!qt--/AaD!$<???!a))+!v555r$   r&   N)Z__name__Z
__module__Z__qualname__Z__firstlineno__r(   r<   rK   rV   rX   rY   rZ   re   rh   rk   rl   Z__static_attributes__Z__classdictcell__)Z__classdict__s   @r"   r   r   $   sN     6O#b/.bC@>-@E$\P|<|E(L6 6r$   r   )!rg   Z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   ZF2PyTestr   r&   r$   r"   <module>rm      sG           < K64== K6r$   