
    KhG                         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)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                   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       P/var/www/html/env/lib/python3.13/site-packages/numpy/f2py/tests/test_symbolic.pyworker2TestSymbolic.test_eliminate_quotes.<locals>.worker%   s!    #A&DAq$B7N7    ) 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++,6D=#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(@gF@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_sanity2   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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 * xz-xz-2 * xx + yz-x - yr<   z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) ** 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   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                    [         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   ::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                 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   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                    [        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   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                 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   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                 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_visit1TestSymbolic.test_traverse.<locals>.replace_visit  s    Av 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_symbols3TestSymbolic.test_traverse.<locals>.collect_symbols  sr    ttrxxvvay $$T*7?NN4( #"q0@'@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_symbols24TestSymbolic.test_traverse.<locals>.collect_symbols2  s#    ww"))#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_symbols34TestSymbolic.test_traverse.<locals>.collect_symbols3  s8    ww"(("ww"))#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   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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   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                    [        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    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                    [        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   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-   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64== K6r-   