U
    ZÊ¹j€0  ã                   @   sl  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d„ Z5dd„ Z6dd„ Z7dd„ Z8dd„ Z9dd„ Z:dd„ Z;dd„ Z<dd„ Z=dd„ Z>dd „ Z?d!d"„ Z@d#d$„ ZAd%d&„ ZBd'd(„ ZCd)d*„ ZDd+d,„ ZEd-d.„ ZFd/d0„ ZGd1d2„ ZHd3d4„ ZId5d6„ ZJd7d8„ ZKd9d:„ ZLd;d<„ ZMd=d>„ ZNd?d@„ ZOdAdB„ ZPdCdD„ ZQdEdF„ ZRdGdH„ ZSdIdJ„ ZTdKdL„ ZUdMdN„ ZVdOdP„ ZWdQdR„ ZXdSdT„ ZYdUdV„ ZZdWdX„ Z[dYdZ„ Z\d[d\„ Z]d]d^„ Z^d_d`„ Z_dadb„ Z`dcdd„ Zadedf„ ZbdgS )hzFTests 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                  C   sÀ   t tttfddiƒ} | jtttfks(t‚| jtks6t‚d| kdksFt‚|  ttfddœ¡}| jtttfksnt‚| jtks|t‚d| kdksŒt‚|jttfksžt‚|jtks¬t‚d|kdks¼t‚d S )NÚdomainr   ÚorderFr   )Úgensr.   T)	r   r*   r+   r,   r/   ÚAssertionErrorr-   r   Úclone)ÚoptZnew_opt© r3   úa/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/polys/tests/test_polyoptions.pyÚtest_Options_clone   s    r5   c                   C   sZ   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚t  d¡dksHt‚ttdd„ ƒ d S )NFTr   é   c                   S   s
   t  t¡S ©N)r   Ú
preprocessr*   r3   r3   r3   r4   Ú<lambda>-   ó    z(test_Expand_preprocess.<locals>.<lambda>)r   r8   r0   r)   r#   r3   r3   r3   r4   Útest_Expand_preprocess&   s
    r;   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )NÚexpandT)r   Úpostprocessr0   ©r2   r3   r3   r4   Útest_Expand_postprocess0   s    
r?   c                      s€   t  d¡dkst‚t  tttf¡tttfks0t‚t  tttff¡tttfksPt‚tddd�‰ ttdd„ ƒ tt‡ fdd„ƒ d S )	Nr7   r3   ÚaF)Zcommutativec                   S   s   t  tttf¡S r7   ©r   r8   r*   r+   r3   r3   r3   r4   r9   >   r:   z&test_Gens_preprocess.<locals>.<lambda>c                      s   t  ttˆ f¡S r7   rA   r3   ©r@   r3   r4   r9   ?   r:   )	r   r8   r0   r*   r+   r,   r'   r)   r$   r3   r3   rB   r4   Útest_Gens_preprocess7   s     rC   c                  C   s.   dt tfi} t | ¡ | dt tfiks*t‚d S )Nr/   )r*   r+   r   r=   r0   r>   r3   r3   r4   Útest_Gens_postprocessB   s    
rD   c                   C   sö   t  t¡dgkst‚t  d¡g ks&t‚t  d¡g ks8t‚t  d¡ddgksNt‚t  d¡ddgksdt‚t  d¡ddgkszt‚t  d¡ddgks�t‚t  d	¡ddgks¦t‚t  d
¡ddgks¼t‚t  ttg¡ddgksÖt‚ttdd„ ƒ ttdd„ ƒ d S )Nr*   Ú ú zx,yr+   zx yzx, yzx , yz x, yz x,  yc                   S   s
   t  d¡S )Nú,©r   r8   r3   r3   r3   r4   r9   U   r:   z%test_Wrt_preprocess.<locals>.<lambda>c                   S   s
   t  d¡S ©Nr   rH   r3   r3   r3   r4   r9   V   r:   )r   r8   r*   r0   r+   r)   r#   r3   r3   r3   r4   Útest_Wrt_preprocessI   s    rJ   c                  C   s*   ddgi} t  | ¡ | ddgiks&t‚d S )NZwrtr*   )r   r=   r0   r>   r3   r3   r4   Útest_Wrt_postprocessY   s    

rK   c                   C   sŒ   t  tttg¡dddgkst‚t  tttf¡dddgks<t‚t  d¡dddgksTt‚t  d¡dddgkslt‚ttdd„ ƒ ttdd„ ƒ d S )	Nr*   r+   r,   z	x > y > zzx>y>zc                   S   s
   t  d¡S rI   )r   r8   r3   r3   r3   r4   r9   g   r:   z&test_Sort_preprocess.<locals>.<lambda>c                   S   s   t  ttth¡S r7   )r   r8   r*   r+   r,   r3   r3   r3   r4   r9   h   r:   )r   r8   r*   r+   r,   r0   r)   r#   r3   r3   r3   r4   Útest_Sort_preprocess`   s    rL   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )NÚsortzx > y)r   r=   r0   r>   r3   r3   r4   Útest_Sort_postprocessk   s    
rN   c                   C   s   t  d¡tkst‚d S )Nr   )r   r8   r   r0   r3   r3   r3   r4   Útest_Order_preprocessr   s    rO   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )Nr.   T)r   r=   r0   r>   r3   r3   r4   Útest_Order_postprocessv   s    
rP   c                   C   sZ   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚t  d¡dksHt‚ttdd„ ƒ d S )NFTr   r6   c                   S   s
   t  t¡S r7   )r   r8   r*   r3   r3   r3   r4   r9   „   r:   z'test_Field_preprocess.<locals>.<lambda>)r   r8   r0   r)   r#   r3   r3   r3   r4   Útest_Field_preprocess}   s
    rQ   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )NÚfieldT)r   r=   r0   r>   r3   r3   r4   Útest_Field_postprocess‡   s    
rS   c                   C   sZ   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚t  d¡dksHt‚ttdd„ ƒ d S )NFTr   r6   c                   S   s
   t  t¡S r7   )r	   r8   r*   r3   r3   r3   r4   r9   •   r:   z(test_Greedy_preprocess.<locals>.<lambda>)r	   r8   r0   r)   r#   r3   r3   r3   r4   Útest_Greedy_preprocessŽ   s
    rT   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )NZgreedyT)r	   r=   r0   r>   r3   r3   r4   Útest_Greedy_postprocess˜   s    
rU   c                   C   s  t  t¡tkst‚t  t¡tks$t‚t  t¡tks6t‚t  tdƒ¡tdƒksPt‚t  tttf ¡tttf ksrt‚t  d¡tks„t‚t  d¡tks–t‚t  d¡tks¨t‚t  d¡tksºt‚t  d¡tksÌt‚t  d¡tdƒksât‚t  d	¡t	dƒksøt‚t
td
d„ ƒ t  d¡tt k�st‚t  d¡tt k�s6t‚t  d¡tt k�sNt‚t  d¡tt k�sft‚t  d¡tt k�s~t‚t  d¡tt k�s–t‚t  d¡tt k�s®t‚t  d¡tt k�sÆt‚t  d¡tttf k�sât‚t  d¡tttf k�sþt‚t  d¡tttf k�st‚t  d¡tttf k�s6t‚t  d¡tttf k�sRt‚t  d¡tttf k�snt‚t  d¡tttf k�sŠt‚t  d¡tttf k�s¦t‚t
tdd„ ƒ t  d¡t t¡k�sÎt‚t  d¡t t¡k�sèt‚t  d¡t t¡k�st‚t  d ¡t t¡k�st‚t  d!¡t tt¡k�s8t‚t  d"¡t tt¡k�sTt‚t  d#¡t tt¡k�spt‚t  d$¡t tt¡k�sŒt‚t  d%¡t t¡k�s¦t‚t  d&¡t t¡k�sÀt‚t  d'¡t tdƒt¡k�sàt‚t  d(¡t tdƒt¡k�s t‚t
td)d„ ƒ d S )*Né   ÚZÚQr   r   r"   zFF(23)é   zGF(23)c                   S   s
   t  d¡S )NzZ[]©r
   r8   r3   r3   r3   r4   r9   ±   r:   z(test_Domain_preprocess.<locals>.<lambda>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                   S   s
   t  d¡S )NzZ()rZ   r3   r3   r3   r4   r9   Ç   r:   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                   S   s
   t  d¡S )NÚabcrZ   r3   r3   r3   r4   r9   Ü   r:   )r
   r8   r   r0   r   r"   r   r*   r+   r   r)   r#   r    r!   Z
frac_fieldÚalgebraic_fieldr%   r(   r3   r3   r3   r4   Útest_Domain_preprocessŸ   s^    " ÿÿ
r]   c                   C   s.   t tdd„ ƒ t tdd„ ƒ t tdd„ ƒ d S )Nc                   S   s   t  ttftttf dœ¡S )N©r/   r-   )r
   r=   r*   r+   r   r,   r3   r3   r3   r4   r9   à   s   

ÿz)test_Domain_postprocess.<locals>.<lambda>c                   S   s   t  dtdœ¡S )Nr3   r^   ©r
   r=   r"   r3   r3   r3   r4   r9   ã   s   ÿc                   S   s   t  dti¡S )Nr-   r_   r3   r3   r3   r4   r9   å   r:   )r)   r$   r3   r3   r3   r4   Útest_Domain_postprocessß   s    r`   c                   C   sZ   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚t  d¡dksHt‚ttdd„ ƒ d S )NFTr   r6   c                   S   s
   t  t¡S r7   )r   r8   r*   r3   r3   r3   r4   r9   ï   r:   z'test_Split_preprocess.<locals>.<lambda>)r   r8   r0   r)   r#   r3   r3   r3   r4   Útest_Split_preprocessè   s
    ra   c                   C   s   t tdd„ ƒ d S )Nc                   S   s   t  ddi¡S )NÚsplitT)r   r=   r3   r3   r3   r4   r9   ó   r:   z(test_Split_postprocess.<locals>.<lambda>)r)   ÚNotImplementedErrorr3   r3   r3   r4   Útest_Split_postprocessò   s    rd   c                   C   sZ   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚t  d¡dksHt‚ttdd„ ƒ d S )NFTr   r6   c                   S   s
   t  t¡S r7   )r   r8   r*   r3   r3   r3   r4   r9   ý   r:   z*test_Gaussian_preprocess.<locals>.<lambda>)r   r8   r0   r)   r#   r3   r3   r3   r4   Útest_Gaussian_preprocessö   s
    re   c                  C   s(   ddi} t  | ¡ | dtdœks$t‚d S )NÚgaussianT)rf   r-   )r   r=   r   r0   r>   r3   r3   r4   Útest_Gaussian_postprocess   s    
þrg   c                   C   s²   t  d¡dkst‚t  d¡dks$t‚t  g ¡d ks6t‚t  tdƒ¡tdƒhksRt‚t  tdƒg¡tdƒhkspt‚t  tdƒtg¡tdƒthks’t‚ttdd„ ƒ ttdd„ ƒ d S )NTr6   rV   c                   S   s
   t  d¡S )NF©r   r8   r3   r3   r3   r4   r9     r:   z+test_Extension_preprocess.<locals>.<lambda>c                   S   s
   t  d¡S rI   rh   r3   r3   r3   r4   r9     r:   )r   r8   r0   r(   r%   r)   r#   r3   r3   r3   r4   Útest_Extension_preprocess
  s    "ri   c                  C   s`   dt dƒhi} t | ¡ | t dƒht t dƒ¡dœks:t‚ddi} t | ¡ | ddiks\t‚d S )NÚ	extensionrV   )rj   r-   T)r(   r   r=   r   r\   r0   r>   r3   r3   r4   Útest_Extension_postprocess  s    
þ
rk   c                   C   sH   t  d¡dkst‚t  tdƒ¡dks(t‚ttdd„ ƒ ttdd„ ƒ d S )NrY   c                   S   s
   t  d¡S rI   )r   r8   r3   r3   r3   r4   r9   ,  r:   z)test_Modulus_preprocess.<locals>.<lambda>c                   S   s
   t  t¡S r7   )r   r8   r*   r3   r3   r3   r4   r9   -  r:   )r   r8   r0   r&   r)   r#   r3   r3   r3   r4   Útest_Modulus_preprocess(  s    rl   c                  C   sZ   ddi} t  | ¡ | dtdƒdœks(t‚dddœ} t  | ¡ | dtddƒddœksVt‚d S )NÚmodulusé   )rm   r-   F)rm   Ú	symmetric)rm   r-   ro   )r   r=   r   r0   r>   r3   r3   r4   Útest_Modulus_postprocess0  s    
þ

ýrp   c                   C   sZ   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚t  d¡dksHt‚ttdd„ ƒ d S )NFTr   r6   c                   S   s
   t  t¡S r7   )r   r8   r*   r3   r3   r3   r4   r9   J  r:   z+test_Symmetric_preprocess.<locals>.<lambda>)r   r8   r0   r)   r#   r3   r3   r3   r4   Útest_Symmetric_preprocessC  s
    rq   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )Nro   T)r   r=   r0   r>   r3   r3   r4   Útest_Symmetric_postprocessM  s    
rr   c                   C   sZ   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚t  d¡dksHt‚ttdd„ ƒ d S )NFTr   r6   c                   S   s
   t  t¡S r7   )r   r8   r*   r3   r3   r3   r4   r9   [  r:   z(test_Strict_preprocess.<locals>.<lambda>)r   r8   r0   r)   r#   r3   r3   r3   r4   Útest_Strict_preprocessT  s
    rs   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )NÚstrictT)r   r=   r0   r>   r3   r3   r4   Útest_Strict_postprocess^  s    
ru   c                   C   sZ   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚t  d¡dksHt‚ttdd„ ƒ d S )NFTr   r6   c                   S   s
   t  t¡S r7   )r   r8   r*   r3   r3   r3   r4   r9   l  r:   z&test_Auto_preprocess.<locals>.<lambda>)r   r8   r0   r)   r#   r3   r3   r3   r4   Útest_Auto_preprocesse  s
    rv   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )NÚautoT)r   r=   r0   r>   r3   r3   r4   Útest_Auto_postprocesso  s    
rx   c                   C   sZ   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚t  d¡dksHt‚ttdd„ ƒ d S )NFTr   r6   c                   S   s
   t  t¡S r7   )r   r8   r*   r3   r3   r3   r4   r9   }  r:   z&test_Frac_preprocess.<locals>.<lambda>)r   r8   r0   r)   r#   r3   r3   r3   r4   Útest_Frac_preprocessv  s
    ry   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )NÚfracT)r   r=   r0   r>   r3   r3   r4   Útest_Frac_postprocess€  s    
r{   c                   C   sZ   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚t  d¡dksHt‚ttdd„ ƒ d S )NFTr   r6   c                   S   s
   t  t¡S r7   )r   r8   r*   r3   r3   r3   r4   r9   Ž  r:   z(test_Formal_preprocess.<locals>.<lambda>)r   r8   r0   r)   r#   r3   r3   r3   r4   Útest_Formal_preprocess‡  s
    r|   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )NZformalT)r   r=   r0   r>   r3   r3   r4   Útest_Formal_postprocess‘  s    
r}   c                   C   sZ   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚t  d¡dksHt‚ttdd„ ƒ d S )NFTr   r6   c                   S   s
   t  t¡S r7   )r   r8   r*   r3   r3   r3   r4   r9   Ÿ  r:   z'test_Polys_preprocess.<locals>.<lambda>)r   r8   r0   r)   r#   r3   r3   r3   r4   Útest_Polys_preprocess˜  s
    r~   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )NZpolysT)r   r=   r0   r>   r3   r3   r4   Útest_Polys_postprocess¢  s    
r   c                   C   sZ   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚t  d¡dksHt‚ttdd„ ƒ d S )NFTr   r6   c                   S   s
   t  t¡S r7   )r   r8   r*   r3   r3   r3   r4   r9   °  r:   z)test_Include_preprocess.<locals>.<lambda>)r   r8   r0   r)   r#   r3   r3   r3   r4   Útest_Include_preprocess©  s
    r€   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )NÚincludeT)r   r=   r0   r>   r3   r3   r4   Útest_Include_postprocess³  s    
r‚   c                   C   sZ   t  d¡dkst‚t  d¡dks$t‚t  d¡dks6t‚t  d¡dksHt‚ttdd„ ƒ d S )NFTr   r6   c                   S   s
   t  t¡S r7   )r   r8   r*   r3   r3   r3   r4   r9   Á  r:   z%test_All_preprocess.<locals>.<lambda>)r   r8   r0   r)   r#   r3   r3   r3   r4   Útest_All_preprocessº  s
    rƒ   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )NÚallT)r   r=   r0   r>   r3   r3   r4   Útest_All_postprocessÄ  s    
r…   c                  C   s&   dt i} t | ¡ | dt iks"t‚d S )NÚgen)r*   r   r=   r0   r>   r3   r3   r4   Útest_Gen_postprocessË  s    
r‡   c                   C   s   t tdd„ ƒ d S )Nc                   S   s
   t  t¡S r7   )r   r8   r*   r3   r3   r3   r4   r9   Ó  r:   z)test_Symbols_preprocess.<locals>.<lambda>©r)   r#   r3   r3   r3   r4   Útest_Symbols_preprocessÒ  s    r‰   c                  C   s2   dt ttgi} t | ¡ | dt ttgiks.t‚d S )NÚsymbols)r*   r+   r,   r   r=   r0   r>   r3   r3   r4   Útest_Symbols_postprocessÖ  s    
r‹   c                   C   s   t tdd„ ƒ d S )Nc                   S   s
   t  d¡S )Né
   )r   r8   r3   r3   r3   r4   r9   Þ  r:   z(test_Method_preprocess.<locals>.<lambda>rˆ   r3   r3   r3   r4   Útest_Method_preprocessÝ  s    r�   c                  C   s&   ddi} t  | ¡ | ddiks"t‚d S )NÚmethodZf5b)r   r=   r0   r>   r3   r3   r4   Útest_Method_postprocessá  s    
r�   N)cÚ__doc__Z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   Zsympy.polys.orderingsr   Zsympy.polys.domainsr   r   r   r   r   r    r!   r"   Zsympy.polys.polyerrorsr#   r$   Zsympy.core.numbersr%   r&   Zsympy.core.symbolr'   Z(sympy.functions.elementary.miscellaneousr(   Zsympy.testing.pytestr)   Z	sympy.abcr*   r+   r,   r5   r;   r?   rC   rD   rJ   rK   rL   rN   rO   rP   rQ   rS   rT   rU   r]   r`   ra   rd   re   rg   ri   rk   rl   rp   rq   rr   rs   ru   rv   rx   ry   r{   r|   r}   r~   r   r€   r‚   rƒ   r…   r‡   r‰   r‹   r�   r�   r3   r3   r3   r4   Ú<module>   sn   h(


@	










