
    g0                        d 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 ddlmZ ddlmZmZmZm Z m!Z!m"Z"m#Z#m$Z$ ddl%m&Z&m'Z' ddl(m)Z)m*Z* ddl+m,Z, ddl-m.Z. dd	l/m0Z0 dd
l1m2Z2m3Z3m4Z4 d Z5d Z6d Z7d Z8d Z9d Z:d Z;d Z<d Z=d Z>d Z?d Z@d ZAd ZBd ZCd ZDd ZEd ZFd ZGd ZHd ZId  ZJd! ZKd" ZLd# ZMd$ ZNd% ZOd& ZPd' ZQd( ZRd) ZSd* ZTd+ ZUd, ZVd- ZWd. ZXd/ ZYd0 ZZd1 Z[d2 Z\d3 Z]d4 Z^d5 Z_d6 Z`d7 Zad8 Zbd9S ):zFTests for options manager for :class:`Poly` and public API functions.     )OptionsExpandGensWrtSortOrderFieldGreedyDomainSplitGaussian	ExtensionModulus	SymmetricStrictAutoFracFormalPolysIncludeAllGenSymbolsMethod)lex)FFGFZZQQQQ_IRRCCEX)OptionErrorGeneratorsError)IInteger)Symbol)sqrt)raisesxyzc                     t          t          t          t          fddi          } | j        t          t          t          fk    sJ | j        t          k    sJ d| v du sJ |                     t          t          fdd          }| j        t          t          t          fk    sJ | j        t          k    sJ d| v du sJ |j        t          t          fk    sJ |j        t          k    sJ d|v du sJ d S )Ndomainr   orderFr   )gensr1   T)r   r,   r-   r.   r2   r0   r   clone)optnew_opts     ^/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/polys/tests/test_polyoptions.pytest_Options_cloner7      s   
1a)h-
.
.C81ay    :sNu$$$$ii!Q%8899G81ay    :sNu$$$$<Aq6!!!!>Rw4''''''    c                      t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          t          d            d S )NFTr      c                  4    t          j        t                    S N)r   
preprocessr,    r8   r6   <lambda>z(test_Expand_preprocess.<locals>.<lambda>-        1! 4 4 r8   )r   r=   r*   r$   r>   r8   r6   test_Expand_preprocessrA   &       U##u,,,,T""d****Q5((((Q4''''
;4455555r8   c                  J    ddi} t          j        |            | ddik    sJ d S )NexpandT)r   postprocessr4   s    r6   test_Expand_postprocessrG   0   9    T
C
s8T"""""""r8   c                      t          j        d          dk    sJ t          j        t          t          t          f          t          t          t          fk    sJ t          j        t          t          t          ff          t          t          t          fk    sJ t          dd           t          t          d            t          t           fd           d S )Nr<   r>   aF)commutativec                  N    t          j        t          t          t          f          S r<   r   r=   r,   r-   r>   r8   r6   r?   z&test_Gens_preprocess.<locals>.<lambda>>   s    DOQ1I$>$> r8   c                  F    t          j        t          t           f          S r<   rM   rJ   s   r6   r?   z&test_Gens_preprocess.<locals>.<lambda>?   s    DOQ1I$>$> r8   )r   r=   r,   r-   r.   r(   r*   r%   rO   s   @r6   test_Gens_preprocessrP   7   s    ?7##r))))?Aq!9%%!Q2222?Q1I<((Q1I5555s&&&A
?>>???
?>>>>?????r8   c                  z    dt           t          fi} t          j        |            | dt           t          fik    sJ d S )Nr2   )r,   r-   r   rE   rF   s    r6   test_Gens_postprocessrR   B   sA    Aq6
CS6Aq6"""""""r8   c                     t          j        t                    dgk    sJ t          j        d          g k    sJ t          j        d          g k    sJ t          j        d          ddgk    sJ t          j        d          ddgk    sJ t          j        d          ddgk    sJ t          j        d          ddgk    sJ t          j        d	          ddgk    sJ t          j        d
          ddgk    sJ t          j        t          t          g          ddgk    sJ t	          t
          d            t	          t
          d            d S )Nr,     zx,yr-   zx yzx, yzx , yz x, yz x,  yc                  *    t          j        d          S )N,r   r=   r>   r8   r6   r?   z%test_Wrt_preprocess.<locals>.<lambda>U   s    s 3 3 r8   c                  *    t          j        d          S Nr   rX   r>   r8   r6   r?   z%test_Wrt_preprocess.<locals>.<lambda>V   s    q 1 1 r8   )r   r=   r,   r-   r*   r$   r>   r8   r6   test_Wrt_preprocessr[   I   s`   >!%%%%>"####>#"$$$$>%  S#J....>%  S#J....>&!!c3Z////>'""sCj0000>'""sCj0000>(##Sz1111>1a&!!c3Z////
;33444
;1122222r8   c                  N    ddgi} t          j        |            | ddgik    sJ d S )Nwrtr,   )r   rE   rF   s    r6   test_Wrt_postprocessr^   Y   s:    3%.COC53%.      r8   c                     t          j        t          t          t          g          g dk    sJ t          j        t          t          t          f          g dk    sJ t          j        d          g dk    sJ t          j        d          g dk    sJ t          t          d            t          t          d            d S )Nr+   z	x > y > zzx>y>zc                  *    t          j        d          S rZ   )r   r=   r>   r8   r6   r?   z&test_Sort_preprocess.<locals>.<lambda>g   s     2 2 r8   c                  N    t          j        t          t          t          h          S r<   )r   r=   r,   r-   r.   r>   r8   r6   r?   z&test_Sort_preprocess.<locals>.<lambda>h   s    Aq	 : : r8   )r   r=   r,   r-   r.   r*   r$   r>   r8   r6   test_Sort_preprocessrb   `   s    ?Aq!9%%8888?Aq!9%%8888?;''???::::?7##6666
;22333
;::;;;;;r8   c                  J    ddi} t          j        |            | ddik    sJ d S )Nsortzx > y)r   rE   rF   s    r6   test_Sort_postprocessre   k   s9    7
CS67#######r8   c                  D    t          j        d          t          k    sJ d S )Nr   )r   r=   r   r>   r8   r6   test_Order_preprocessrg   r   s$    E""c))))))r8   c                  J    ddi} t          j        |            | ddik    sJ d S )Nr1   T)r   rE   rF   s    r6   test_Order_postprocessri   v   7    D/C	c7D/!!!!!!r8   c                      t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          t          d            d S )NFTr   r:   c                  4    t          j        t                    S r<   )r	   r=   r,   r>   r8   r6   r?   z'test_Field_preprocess.<locals>.<lambda>        0 3 3 r8   )r	   r=   r*   r$   r>   r8   r6   test_Field_preprocessrn   }       E""e++++D!!T))))A%''''A$&&&&
;3344444r8   c                  J    ddi} t          j        |            | ddik    sJ d S )NfieldT)r	   rE   rF   s    r6   test_Field_postprocessrr      rj   r8   c                      t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          t          d            d S )NFTr   r:   c                  4    t          j        t                    S r<   )r
   r=   r,   r>   r8   r6   r?   z(test_Greedy_preprocess.<locals>.<lambda>   r@   r8   )r
   r=   r*   r$   r>   r8   r6   test_Greedy_preprocessru      rB   r8   c                  J    ddi} t          j        |            | ddik    sJ d S )NgreedyT)r
   rE   rF   s    r6   test_Greedy_postprocessrx      rH   r8   c                     t          j        t                    t          k    sJ t          j        t                    t          k    sJ t          j        t                    t          k    sJ t          j        t          d                    t          d          k    sJ t          j        t          t          t          f                   t          t          t          f         k    sJ t          j        d          t          k    sJ t          j        d          t          k    sJ t          j        d          t          k    sJ t          j        d          t          k    sJ t          j        d          t          k    sJ t          j        d          t          d          k    sJ t          j        d	          t          d          k    sJ t          t          d
            t          j        d          t          t                   k    sJ t          j        d          t          t                   k    sJ t          j        d          t          t                   k    sJ t          j        d          t          t                   k    sJ t          j        d          t          t                   k    sJ t          j        d          t          t                   k    sJ t          j        d          t          t                   k    sJ t          j        d          t          t                   k    sJ t          j        d          t          t          t          f         k    sJ t          j        d          t          t          t          f         k    sJ t          j        d          t          t          t          f         k    sJ t          j        d          t          t          t          f         k    sJ t          j        d          t          t          t          f         k    sJ t          j        d          t          t          t          f         k    sJ t          j        d          t          t          t          f         k    sJ t          j        d          t          t          t          f         k    sJ t          t          d            t          j        d          t          j        t                    k    sJ t          j        d          t          j        t                    k    sJ t          j        d          t          j        t                    k    sJ t          j        d          t          j        t                    k    sJ t          j        d           t          j        t          t                    k    sJ t          j        d!          t          j        t          t                    k    sJ t          j        d"          t          j        t          t                    k    sJ t          j        d#          t          j        t          t                    k    sJ t          j        d$          t          j        t                    k    sJ t          j        d%          t          j        t                    k    sJ t          j        d&          t          j        t!          d          t                    k    sJ t          j        d'          t          j        t!          d          t                    k    sJ t          t          d(            d S ))N   ZQr   r   r#   zFF(23)   zGF(23)c                  *    t          j        d          S )NzZ[]r   r=   r>   r8   r6   r?   z(test_Domain_preprocess.<locals>.<lambda>        1% 8 8 r8   zZ[x]zQ[x]zR[x]zC[x]zZZ[x]zQQ[x]zRR[x]zCC[x]zZ[x,y]zQ[x,y]zR[x,y]zC[x,y]zZZ[x,y]zQQ[x,y]zRR[x,y]zCC[x,y]c                  *    t          j        d          S )NzZ()r   r>   r8   r6   r?   z(test_Domain_preprocess.<locals>.<lambda>   r   r8   zZ(x)zQ(x)zZZ(x)zQQ(x)zZ(x,y)zQ(x,y)zZZ(x,y)zQQ(x,y)zQ<I>zQQ<I>zQ<sqrt(2), I>zQQ<sqrt(2), I>c                  *    t          j        d          S )Nabcr   r>   r8   r6   r?   z(test_Domain_preprocess.<locals>.<lambda>   r   r8   )r   r=   r   r   r#   r   r,   r-   r   r*   r$   r!   r"   
frac_fieldalgebraic_fieldr&   r)   r>   r8   r6   test_Domain_preprocessr      s   R  B&&&&R  B&&&&R  B&&&&RUU##r!uu,,,,R1X&&"QT(2222S!!R''''S!!R''''T""b((((T""b((((T""b((((X&&"R&&0000X&&"R&&0000
;88999V$$1----V$$1----V$$1----V$$1----W%%A....W%%A....W%%A....W%%A....X&&"QT(2222X&&"QT(2222X&&"QT(2222X&&"QT(2222Y''2ad83333Y''2ad83333Y''2ad83333Y''2ad83333
;88999V$$a(8(88888V$$a(8(88888W%%q)9)99999W%%q)9)99999X&&"-1*=*=====X&&"-1*=*=====Y''2=A+>+>>>>>Y''2=A+>+>>>>>V$$(:1(=(=====W%%);A)>)>>>>>_--1CDGGQ1O1OOOOO /Q;;< < < < ;8899999r8   c                      t          t          d            t          t          d            t          t          d            d S )Nc                  v    t          j        t          t          ft          t          t
          f         d          S )Nr2   r0   )r   rE   r,   r-   r   r.   r>   r8   r6   r?   z)test_Domain_postprocess.<locals>.<lambda>   s.    F$6A1X8 8 %  %  r8   c                  :    t          j        dt          d          S )Nr>   r   r   rE   r#   r>   r8   r6   r?   z)test_Domain_postprocess.<locals>.<lambda>   s"    F$68 8 % % r8   c                  8    t          j        dt          i          S )Nr0   r   r>   r8   r6   r?   z)test_Domain_postprocess.<locals>.<lambda>   s    F$6"~$F$F r8   )r*   r%   r>   r8   r6   test_Domain_postprocessr      sZ    
?     ! ! ! ?     
?FFGGGGGr8   c                      t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          t          d            d S )NFTr   r:   c                  4    t          j        t                    S r<   )r   r=   r,   r>   r8   r6   r?   z'test_Split_preprocess.<locals>.<lambda>   rm   r8   )r   r=   r*   r$   r>   r8   r6   test_Split_preprocessr      ro   r8   c                  2    t          t          d            d S )Nc                  .    t          j        ddi          S )NsplitT)r   rE   r>   r8   r6   r?   z(test_Split_postprocess.<locals>.<lambda>   s    (97D/(J(J r8   )r*   NotImplementedErrorr>   r8   r6   test_Split_postprocessr      s    
 J JKKKKKr8   c                      t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          t          d            d S )NFTr   r:   c                  4    t          j        t                    S r<   )r   r=   r,   r>   r8   r6   r?   z*test_Gaussian_preprocess.<locals>.<lambda>   s     3A 6 6 r8   )r   r=   r*   r$   r>   r8   r6   test_Gaussian_preprocessr      s    u%%....t$$,,,,q!!U****q!!T))))
;6677777r8   c                  V    ddi} t          j        |            | dt          dk    sJ d S )NgaussianT)r   r0   )r   rE   r    rF   s    r6   test_Gaussian_postprocessr      sN    t
C       r8   c                  D   t          j        d          du sJ t          j        d          du sJ t          j        g           J t          j        t          d                    t          d          hk    sJ t          j        t          d          g          t          d          hk    sJ t          j        t          d          t          g          t          d          t          hk    sJ t	          t
          d            t	          t
          d            d S )NTr:   rz   c                  *    t          j        d          S )NFr   r=   r>   r8   r6   r?   z+test_Extension_preprocess.<locals>.<lambda>  s    	 4U ; ; r8   c                  *    t          j        d          S rZ   r   r>   r8   r6   r?   z+test_Extension_preprocess.<locals>.<lambda>  s    	 4Q 7 7 r8   )r   r=   r)   r&   r*   r$   r>   r8   r6   test_Extension_preprocessr   
  s   %%----""d****##+++Q((T!WWI5555a	**tAwwi7777a!--$q''1====
;;;<<<
;7788888r8   c                     dt          d          hi} t          j        |            | t          d          ht          j        t          d                    dk    sJ ddi} t          j        |            | ddik    sJ d S )N	extensionrz   )r   r0   T)r)   r   rE   r   r   rF   s    r6   test_Extension_postprocessr     s    a	
"C#1ggY$T!WW--     
 
C#;%%%%%%%r8   c                      t          j        d          dk    sJ t          j        t          d                    dk    sJ t          t          d            t          t          d            d S )Nr}   c                  *    t          j        d          S rZ   )r   r=   r>   r8   r6   r?   z)test_Modulus_preprocess.<locals>.<lambda>,  s     21 5 5 r8   c                  4    t          j        t                    S r<   )r   r=   r,   r>   r8   r6   r?   z)test_Modulus_preprocess.<locals>.<lambda>-       21 5 5 r8   )r   r=   r'   r*   r$   r>   r8   r6   test_Modulus_preprocessr   (  sn    b!!R''''gbkk**b0000
;55666
;5566666r8   c                      ddi} t          j        |            | dt          d          dk    sJ ddd} t          j        |            | dt          dd          ddk    sJ d S )Nmodulus   )r   r0   F)r   	symmetric)r   r0   r   )r   rE   r   rF   s    r6   test_Modulus_postprocessr   0  s    a.CQ%%     
 e
,
,CQ,,       r8   c                      t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          t          d            d S )NFTr   r:   c                  4    t          j        t                    S r<   )r   r=   r,   r>   r8   r6   r?   z+test_Symmetric_preprocess.<locals>.<lambda>J  s    	 4Q 7 7 r8   )r   r=   r*   r$   r>   r8   r6   test_Symmetric_preprocessr   C  s    &&%////%%----""e++++""d****
;7788888r8   c                  J    ddi} t          j        |            | ddik    sJ d S )Nr   T)r   rE   rF   s    r6   test_Symmetric_postprocessr   M  s9    
C#;%%%%%%%r8   c                      t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          t          d            d S )NFTr   r:   c                  4    t          j        t                    S r<   )r   r=   r,   r>   r8   r6   r?   z(test_Strict_preprocess.<locals>.<lambda>[  r@   r8   )r   r=   r*   r$   r>   r8   r6   test_Strict_preprocessr   T  rB   r8   c                  J    ddi} t          j        |            | ddik    sJ d S )NstrictT)r   rE   rF   s    r6   test_Strict_postprocessr   ^  rH   r8   c                      t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          t          d            d S )NFTr   r:   c                  4    t          j        t                    S r<   )r   r=   r,   r>   r8   r6   r?   z&test_Auto_preprocess.<locals>.<lambda>l       2 2 r8   )r   r=   r*   r$   r>   r8   r6   test_Auto_preprocessr   e      ?5!!U****?4  D((((?1&&&&?1%%%%
;2233333r8   c                  J    ddi} t          j        |            | ddik    sJ d S )NautoT)r   rE   rF   s    r6   test_Auto_postprocessr   o  7    4.CS64.      r8   c                      t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          t          d            d S )NFTr   r:   c                  4    t          j        t                    S r<   )r   r=   r,   r>   r8   r6   r?   z&test_Frac_preprocess.<locals>.<lambda>}  r   r8   )r   r=   r*   r$   r>   r8   r6   test_Frac_preprocessr   v  r   r8   c                  J    ddi} t          j        |            | ddik    sJ d S )NfracT)r   rE   rF   s    r6   test_Frac_postprocessr     r   r8   c                      t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          t          d            d S )NFTr   r:   c                  4    t          j        t                    S r<   )r   r=   r,   r>   r8   r6   r?   z(test_Formal_preprocess.<locals>.<lambda>  r@   r8   )r   r=   r*   r$   r>   r8   r6   test_Formal_preprocessr     rB   r8   c                  J    ddi} t          j        |            | ddik    sJ d S )NformalT)r   rE   rF   s    r6   test_Formal_postprocessr     rH   r8   c                      t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          t          d            d S )NFTr   r:   c                  4    t          j        t                    S r<   )r   r=   r,   r>   r8   r6   r?   z'test_Polys_preprocess.<locals>.<lambda>  rm   r8   )r   r=   r*   r$   r>   r8   r6   test_Polys_preprocessr     ro   r8   c                  J    ddi} t          j        |            | ddik    sJ d S )NpolysT)r   rE   rF   s    r6   test_Polys_postprocessr     rj   r8   c                      t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          t          d            d S )NFTr   r:   c                  4    t          j        t                    S r<   )r   r=   r,   r>   r8   r6   r?   z)test_Include_preprocess.<locals>.<lambda>  r   r8   )r   r=   r*   r$   r>   r8   r6   test_Include_preprocessr     s    e$$----d##t++++a  E))))a  D((((
;5566666r8   c                  J    ddi} t          j        |            | ddik    sJ d S )NincludeT)r   rE   rF   s    r6   test_Include_postprocessr     s9    d
C9d#######r8   c                      t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          j        d          du sJ t          t          d            d S )NFTr   r:   c                  4    t          j        t                    S r<   )r   r=   r,   r>   r8   r6   r?   z%test_All_preprocess.<locals>.<lambda>  s    q 1 1 r8   )r   r=   r*   r$   r>   r8   r6   test_All_preprocessr     s    >%  E))))>$4''''>!%%%%>!$$$$
;1122222r8   c                  J    ddi} t          j        |            | ddik    sJ d S )NallT)r   rE   rF   s    r6   test_All_postprocessr     s6    $-COC5$-r8   c                  ^    dt           i} t          j        |            | dt           ik    sJ d S )Ngen)r,   r   rE   rF   s    r6   test_Gen_postprocessr     s6    !*COC5!*r8   c                  2    t          t          d            d S )Nc                  4    t          j        t                    S r<   )r   r=   r,   r>   r8   r6   r?   z)test_Symbols_preprocess.<locals>.<lambda>  r   r8   r*   r$   r>   r8   r6   test_Symbols_preprocessr         
;5566666r8   c                      dt           t          t          gi} t          j        |            | dt           t          t          gik    sJ d S )Nsymbols)r,   r-   r.   r   rE   rF   s    r6   test_Symbols_postprocessr     sE    q!Qi
 C9q!Qi(((((((r8   c                  2    t          t          d            d S )Nc                  *    t          j        d          S )N
   )r   r=   r>   r8   r6   r?   z(test_Method_preprocess.<locals>.<lambda>  s     1" 5 5 r8   r   r>   r8   r6   test_Method_preprocessr     r   r8   c                  J    ddi} t          j        |            | ddik    sJ d S )Nmethodf5b)r   rE   rF   s    r6   test_Method_postprocessr     s9    U
C
s8U#######r8   N)c__doc__sympy.polys.polyoptionsr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   sympy.polys.orderingsr   sympy.polys.domainsr   r   r   r   r    r!   r"   r#   sympy.polys.polyerrorsr$   r%   sympy.core.numbersr&   r'   sympy.core.symbolr(   (sympy.functions.elementary.miscellaneousr)   sympy.testing.pytestr*   	sympy.abcr,   r-   r.   r7   rA   rG   rP   rR   r[   r^   rb   re   rg   ri   rn   rr   ru   rx   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   r   r   r   r>   r8   r6   <module>r      s   L L= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =
 & % % % % % @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ ? ? ? ? ? ? ? ? + + + + + + + + $ $ $ $ $ $ 9 9 9 9 9 9 ' ' ' ' ' '          ( ( ($6 6 6# # #@ @ @# # #3 3 3 ! ! !< < <$ $ $* * *" " "5 5 5" " "6 6 6# # #=: =: =:@H H H5 5 5L L L8 8 8  9 9 9& & &7 7 7  &9 9 9& & &6 6 6# # #4 4 4! ! !4 4 4! ! !6 6 6# # #5 5 5" " "7 7 7$ $ $3 3 3       7 7 7) ) )7 7 7$ $ $ $ $r8   