o
    ŕ8Va_  ă                   @   s  d Z ddl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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)m*Z*m+Z+m,Z,m-Z- ddl.m/Z/ ddl0m1Z1m2Z2m3Z3m4Z4 ddl5m6Z6 ddl7m8Z8m9Z9m:Z:m;Z; dd	l<m=Z= dd
l>m?Z?m@Z@mAZA ddlBmCZC ddlDmEZE dd e6 D \ZFZGZHZIZJZKZLdd ZMdd ZNdd ZOdd ZPdd ZQdd ZRdd ZSdd ZTdd  ZUd!d" ZVd#d$ ZWd%d& ZXd'd( ZYd)d* ZZd+d, Z[d-d. Z\d/d0 Z]d1d2 Z^d3d4 Z_d5d6 Z`d7d8 Zad9d: Zbd;d< Zcd=d> Zdd?d@ ZedAdB ZfdCdD ZgdEdF ZhdGdH ZidIdJ ZjdKdL ZkdMdN ZldOdP ZmdQdR ZndSdT ZodUdV ZpdWS )Xz.Tests for dense recursive polynomials' tools. é    )Ú
dup_normalÚ
dmp_normalÚdup_from_raw_dictÚdmp_convertÚdmp_swap)Údmp_mul_ground)$Údup_clear_denomsÚdmp_clear_denomsÚdup_integrateÚdmp_integrateÚdmp_integrate_inÚdup_diffÚdmp_diffÚdmp_diff_inÚdup_evalÚdmp_evalÚdmp_eval_inÚdmp_eval_tailÚdmp_diff_eval_inÚ	dup_truncÚ	dmp_truncÚdmp_ground_truncÚ	dup_monicÚdmp_ground_monicÚdup_contentÚdmp_ground_contentÚdup_primitiveÚdmp_ground_primitiveÚdup_extractÚdmp_ground_extractÚdup_real_imagÚ
dup_mirrorÚ	dup_scaleÚ	dup_shiftÚdup_transformÚdup_composeÚdmp_composeÚdup_decomposeÚdmp_liftÚdup_sign_variationsÚ
dup_revertÚ
dmp_revert)ÚANP)ÚMultivariatePolynomialErrorÚExactQuotientFailedÚNotReversibleÚDomainError)Úf_polys)ÚFFÚZZÚQQÚEX)Úring)ÚSÚIÚsin)Úx)Úraisesc                 C   s   g | ]}|  Ą qS Š )Zto_dense)Ú.0Úfr<   r<   úC/usr/lib/python3/dist-packages/sympy/polys/tests/test_densetools.pyÚ
<listcomp>4   s    r@   c                   C   s  t g dtg ks
J t g dtg ksJ t tdgdttdtdgks'J t tdgdttddtdtdgks>J t tdtdtdgdttdtdtdgksZJ t tdtdtdgdttddtdtdtdgkszJ t tdtdtdgdttddtddtddtdtdgksJ t tdtdtdgdttddtddtddtdtdtdgksÇJ t tdtditdttd	tdd
itksŕJ t ttdtdddtdtttdd
tdddtksJ d S )Né   é   r   é   é   é<   é   é   é    i@t  )rF   é   i   )rH   é   )r
   r4   r   r<   r<   r<   r?   Útest_dup_integrate6   s,   &.˙˙&˙,˙˙ ˙rK   c                   C   sÔ  t g ggddtg ggksJ t g ggddtg ggksJ t tdgggddttdggg ggks5J t tdgggddttddggg gg ggksOJ t tdgtdgtdggddttdgtdgtdggksrJ t tdgtdgtdggddttddgtdgtdgg gksJ t tdgtdgtdggddttddgtddgtddgg g gksżJ t tdgtdgtdggddttddgtddgtddgg g g gksčJ d S )NrA   rB   rC   r   rD   rE   )r   r4   r<   r<   r<   r?   Útest_dmp_integrateM   s    .4$˙$˙$$˙$&˙rL   c               	   C   sú   t tdtt} t| dddtttt| dddtddtdddtks$J t| dddtttt| dddtddtdddtksAJ t| dddtttt| dddtddtdddtks^J t| dddtttt| dddtddtdddtks{J d S )NrC   rB   rA   r   )r   Úf_6r3   r4   r   r   r   Šr>   r<   r<   r?   Útest_dmp_integrate_in^   s*    ˙˙ ˙˙ ˙˙ ˙˙rO   c                  C   sö  t g dtg ks
J t dgdtg ksJ t ddgdtdgks"J t g d˘dtddgks0J t g d˘dtg d˘ks>J t g d˘dtg d˘ksLJ tg d	˘t} t | d
t| ks]J t | dtg d˘ksiJ t | dtt t | dtdtks{J t | dtt t t | dtdtdtksJ td}tg d	˘|} t | d|tg d˘|ksŤJ t | d|tg d˘|ksşJ t | d|tg |ksÇJ t | d
|| ksŃJ t | d|t t | d|d|ksăJ t | d|t t t | d|d|d|ksůJ d S )NrA   é   rB   ŠrA   rB   rA   )rA   rB   rC   é   )rC   rR   rC   ŠrA   é˙˙˙˙r   r   rB   )rR   éý˙˙˙r   r   )rG   é"   é8   i§ţ˙˙é   éL   r   r   rD   rC   rP   r   )
éŞ   i2  iŔ  iö˙˙é   i|  r   r   é   rC   rC   )
rB   r   rA   r   r   rB   r   r   r   r   )rA   r   r   rB   r   r   r   )r   r3   r   r2   )r>   ÚKr<   r<   r?   Útest_dup_diffo   s6   $˙˙$˙˙r^   c                  C   sx  t g ddtg ksJ t g gddtg gksJ t g ggddtg ggks'J t dgdgggddtg ggks9J t dggg ggddtdgggksLJ t dggdggg ggddtdggdgggkseJ t g d˘ddttg d˘dtksxJ t tddttksJ t tddtdggg ggg d˘g g g d	˘ggg ggd
ggdggg gdgg ddgg gg gggks´J t tddtt t tddtddtksÉJ t tddtt t t tddtddtddtksăJ td} ttd| }t |dd| |ksřJ t |dd| t |dd| ks	J t |dd| t t |dd| dd| ksJ t |dd| t t t |dd| dd| dd| ks:J d S )NrA   r   rB   rC   é   rS   i!  )é   r   r   )iy˙˙˙r   r   iYţ˙˙iŃ˙˙˙é   é^   rX   )r   r3   r   rM   r2   r   )r]   ZF_6r<   r<   r?   Útest_dmp_diff   s>   $&2˙&
ý˙˙
˙",˙rc   c                	   C   sě   t tdddtttttdddtddtdddtksJ t tdddtttttdddtddtdddtks:J t tdddtttttdddtddtdddtksWJ t tdddtttttdddtddtdddtkstJ d S )NrB   rA   rC   r   )r   rM   r3   r   r   r<   r<   r<   r?   Útest_dmp_diff_in­   s   $˙$˙$˙$˙rd   c                   C   sH   t g dtdks
J t ddgdtdksJ t g d˘dtdks"J d S )NrP   r   rA   rB   ŠrA   rB   rC   éB   )r   r3   r<   r<   r<   r?   Útest_dup_eval¸   s   rg   c                   C   s  t g ddtdksJ t g gddtg ksJ t g ggddtg gks%J t ddggddtddgks5J t dgggddtdggksEJ t ddgggddtddggksWJ t ddgddggddtddgksjJ t ddggddgggddtddggksJ d S )NrC   r   rA   rB   é
   rJ   )r   r3   r<   r<   r<   r?   Útest_dmp_evalž   s     $&0ri   c                  C   s:  t tdddttttdddtddtksJ t tdddttttdddtddtks.J t tdddtttttdddtddtdddtksKJ t tdddtttttdddtddtdddtkshJ tdggg gg gtdgd	gg tdtdtd
tdggg} t | dddtdgg g g d˘gksJ d S )Néţ˙˙˙rA   rC   r   rP   rB   é-   é÷˙˙˙rT   rh   )rl   rT   r   iÔ˙˙˙)r   rM   r3   r   r   ÚintrN   r<   r<   r?   Útest_dmp_eval_inÍ   s(   
˙˙
˙˙ 
˙ 
˙@˙rn   c                   C   s  t g gdgdtg ksJ t g ggdgdtg gksJ t g ggddgdtg ks+J t tg dttks6J t tg d˘dtdksCJ t tddgdtg d˘ksRJ t tdgdtddgd	gg d
˘gksfJ t tddgdtg d˘ksuJ t tdd	gdtg d˘ksJ t tdd	gdtg d˘ksJ t tddgdtg d˘ks˘J t tddgdtg d˘ksąJ t tg d˘d	tg d˘ksŔJ d S )NrA   rB   )rA   éď˙˙˙rJ   iJ ro   rJ   )iú˙˙rC   iO éS   rC   )i.  éQ   rA   )ix˙˙˙iS=  iÎ#  iř˙˙iô˙˙˙)iú˙˙r   iBý˙˙i8ű˙˙r   iý˙˙)é   éR   iĂë˙˙i8˙˙iěĹ˙˙iäý˙˙é   rT   )
l   Áoä iů lü˙˙˙fc5lý˙˙˙y
?÷i(č˙l   2c[l   ţ|U78éü˙˙˙l   XLk^ i× )rT   i˛˙˙˙iř˙˙iXť˙˙)r   rB   rR   )i°  r   r   i  )	r   r3   Úf_0Úf_1Úf_2Úf_3Úf_4Úf_5rM   r<   r<   r<   r?   Útest_dmp_eval_tailÝ   s2   (˙˙˙˙˙˙"r|   c                	   C   s>   t tddddtttttdddtddtddtksJ d S )NrB   rP   rA   rC   r   )r   rM   r3   r   r   r   r<   r<   r<   r?   Útest_dmp_diff_eval_in÷   s   "˙r}   c                  C   s   t dd t dt ddt dt dd t dt dg} t ddt dt ddt dt ddt dt dg}t| dt |ks@J ttd	d
  d S )NrA   éĐ  r   r\   rB   é=   rI   rJ   c                   S   ó   t tdtdgdtS )NrA   r   rC   )r*   r4   r<   r<   r<   r?   Ú<lambda>  ó    z!test_dup_revert.<locals>.<lambda>)r4   r*   r;   r/   Šr>   Úgr<   r<   r?   Útest_dup_revertü   s   84r   c                  C   s   t dd t dt ddt dt dd t dt dg} t ddt dt ddt dt ddt dt dg}t| ddt |ksAJ ttd	d
  d S )NrA   r~   r   r\   rB   r   rI   rJ   c                   S   s   t dggddtS ŠNrA   rB   )r+   r4   r<   r<   r<   r?   r     s    z!test_dmp_revert.<locals>.<lambda>)r4   r+   r;   r-   r   r<   r<   r?   Útest_dmp_revert  s   84r   c                   C   sD   t g d˘tdtg d˘ksJ t g d˘tdtg d˘ks J d S )NŠrA   rB   rC   rR   rI   r_   rC   )rA   rT   r   rA   rT   r   )r_   rI   rR   rC   rB   rA   )rT   rA   r   rT   rA   )r   r3   r<   r<   r<   r?   Útest_dup_trunc  s    $r   c                   C   sT   t g gddgdtg gksJ t ddgg d˘dggddgdtdgdggks(J d S )NrA   rB   )rA   rR   rA   rU   )r   r3   r<   r<   r<   r?   Útest_dmp_trunc  s   6r   c                   C   sH   t ttddttg d˘dggg gg d˘g d˘dgggdtks"J d S )NrC   rB   )rA   rT   r   rT   )rA   rT   rA   rA   )r   rv   r3   r   r<   r<   r<   r?   Útest_dmp_ground_trunc  s
   (˙˙r   c                   C   s   t g d˘tg d˘ksJ ttdd  t g tg ksJ t tdgttdgks,J t tdtdtdgttdtddtdgksHJ d S )	N)rC   r_   é	   re   c                   S   s   t g d˘tS )N)rC   rR   rI   )r   r3   r<   r<   r<   r?   r   !  s    z test_dup_monic.<locals>.<lambda>rA   rP   é   rC   )r   r3   r;   r.   r4   r<   r<   r<   r?   Útest_dup_monic  s
   <r   c                   C   sŔ   t dgdgdggdtdgdgdggksJ ttdd  t g gdtg gks)J t tdggdttdggks;J t tdgtdgtd	ggdttdgtddgtdggks^J d S )
NrC   r_   r   rA   rB   c                   S   s   t dgdgdggdtS )NrC   rR   rI   rA   )r   r3   r<   r<   r<   r?   r   ,  r   z'test_dmp_ground_monic.<locals>.<lambda>rP   r   )r   r3   r;   r.   r4   r<   r<   r<   r?   Útest_dmp_ground_monic(  s   ,˙$˙˙r   c                   C   s  t g ttdksJ t dgttdksJ t dgttdks#J t ddgttdks0J t ddgttdks=J t g d˘ttdksJJ t g d˘ttdksWJ t tddtdd	gttdd	kskJ t tddtdd
gttddksJ d S )Nr   rA   rT   rB   rQ   )rB   rR   rB   rC   rR   r   rI   é   )r   r3   r4   r<   r<   r<   r?   Útest_dup_content4  s   (,r   c                   C   s  t g gdttdksJ t g gdttdksJ t dggdttdks(J t dggdttdks6J t dgdggdttdksFJ t dgdggdttdksVJ t dgdgdggdttdkshJ t dgdgdggdttdkszJ t tddgtddggdttddksJ t tddgtddggdttdd	ks¨J t tdttdks´J t tttddtdttdksÇJ t tdttdksÓJ t tttddtdttdksćJ t tdttdksňJ t tttddtdttdksJ t tdttdksJ t tttddtdttdks'J t tdttdks4J t tttd
dtdttd
ksHJ t t	dttdksUJ t tt	tddtdttdksiJ t t
dttdksvJ t tt
tddtdttdksJ d S )NrA   r   rT   rB   rR   rC   r   rI   r   r_   rP   rJ   )r   r3   r4   rv   r   rw   rx   ry   rz   r{   rM   r<   r<   r<   r?   Útest_dmp_ground_contentA  sh     $$..˙˙˙˙˙
˙˙
˙˙
˙˙
˙˙˙r   c                   C   sź  t g ttdg fksJ t tdgttdtdgfks J t tdtdgttdtdtdgfks9J t tdtdgttdtdtdgfksRJ t tdtdtdgttdtdtdtdgfksqJ t tdtdtdgttdtdtdtdgfksJ t g ttdg fksJ t tdgttdtdgfks°J t tdtdgttdtdtdgfksÉJ t tdtdgttdtdtdgfksâJ t tdtdtdgttdtdtdtdgfksJ t tdtdtdgttdtdtdtdgfks"J t tddtddgttddtdtdgfks?J t tddtddgttddtdtd	gfks\J d S )
Nr   rA   rB   rR   rC   r   rI   r   r_   )r   r3   r4   r<   r<   r<   r?   Útest_dup_primitivek  sL   &22˙˙˙˙&22˙
˙˙
˙˙
˙˙˙r   c                   C   sô  t g gdttdg gfksJ t tdttdtfksJ t tttddtdttdtfks3J t tdttdtfksAJ t tttddtdttdtfksVJ t tdttdtfksdJ t tttddtdttdtfksyJ t tdttdtfksJ t tttddtdttdtfksJ t tdttdtfksŞJ t tttddtdttdtfksżJ t tdttdtfksÍJ t tttddtdttdtfksâJ t t	dttdt	fksđJ t tt	td	dtdttd	t	fksJ t tdggdttdtdggfksJ t t
dggdt
t
dt
dggfks4J t t
ddgt
dd
ggdt
t
dd
t
dgt
dggfksVJ t t
ddgt
ddggdt
t
ddt
dgt
dggfksxJ d S )NrA   r   rB   rC   rR   rI   r_   rP   rJ   r   r   )r   r3   rv   r   rw   rx   ry   rz   r{   rM   r4   r<   r<   r<   r?   Útest_dmp_ground_primitive  sn    ˙
˙˙
˙˙
˙˙
˙˙
˙˙
˙˙

˙..˙
˙˙˙r   c                  C   sV   t g d˘t} t g d˘t}t g d˘t}t g d˘t}t| |td||fks)J d S )N)é š, r   éŔ! r   é°b r   éä˛  )é Vr   é + r   é`Ĺ r   )é@   r   é0   r   rD   r   rA   )é  r   éŔ   r   r\   r   r   )r   r3   r   Šr>   r   ÚFÚGr<   r<   r?   Útest_dup_extractŹ  s
   rŁ   c                  C   s    t dgg dgg dgg dggdt} t dgg dgg dgg gdt}t d	gg d
gg dgg dggdt}t dgg dgg dgg gdt}t| |dtd||fksNJ d S )Nr   r   r   r   rA   r   r   r   r   r   rD   r   r   r\   )r   r3   r   r    r<   r<   r?   Útest_dmp_ground_extractś  s   ˙" r¤   c                   C   sÎ   t g tg gg gfksJ t dgtdggg gfksJ t ddgtdgdggddggfks0J t ddgtdgdggddggfksDJ t g d˘tdgdgg d˘gddgddggfks^J ttdd  d S )NrA   r   rB   re   )rT   r   rC   c                   S   s   t tdtdgtS r   )r    r5   r<   r<   r<   r?   r   Ë  s    z$test_dup_real_imag.<locals>.<lambda>)r    r3   r;   r0   r<   r<   r<   r?   Útest_dup_real_imagÁ  s   ((˙ ˙rĽ   c                   C   s`   t g tg ks	J t dgtdgksJ t g d˘tg d˘ks!J t g d˘tg d˘ks.J d S )NrA   ŠrA   rB   rC   rR   rI   ŠrA   rj   rC   ru   rI   r   )rT   rB   rU   rR   éű˙˙˙r_   )r!   r3   r<   r<   r<   r?   Útest_dup_mirrorÎ  s   rŠ   c                   C   sh   t g dtg ks
J t dgdtdgksJ t g d˘dtg d˘ks$J t g d˘dtg d˘ks2J d S )NrT   rA   rŚ   r§   iů˙˙˙)ia	  iRý˙˙é   iä˙˙˙rI   )r"   r3   r<   r<   r<   r?   Útest_dup_scaleÖ  ó    rŤ   c                   C   sh   t g dtg ks
J t dgdtdgksJ t g d˘dtg d˘ks$J t g d˘dtg d˘ks2J d S )NrA   rŚ   )rA   r_   r   é   r   rP   )rA   é   iS  i°  iĂ  )r#   r3   r<   r<   r<   r?   Útest_dup_shiftŢ  rŹ   rŻ   c                   C   s~   t g g ddgtg ksJ t g dgddgtg ksJ t g ddgddgtg ks*J t g d˘g d˘ddgtg d˘ks=J d S )NrA   rB   )r_   r¨   rR   rU   rG   )rA   rU   rR   rU   )	r_   iŽ˙˙˙i  ic÷˙˙i  iMÎ˙˙i'C  iÝĘ˙˙iĽ  )r$   r3   r<   r<   r<   r?   Útest_dup_transformć  s   ˙r°   c                   C   s(  t g g tg ks
J t g dgtg ksJ t g ddgtg ks!J t dgg tdgks-J t g d˘g tg ks9J t g d˘g tdgksFJ t g d˘dgtdgksTJ t g d˘dgtdgksbJ t g d˘ddgtg d	˘ksrJ t g d˘ddgtg d
˘ksJ t g d˘g d˘tg d˘ksJ d S )NrA   rB   )rA   rB   r   rQ   rR   rP   r   rT   ŠrA   r   r   )rA   rR   rR   ŠrA   rR   rJ   rJ   rR   )r%   r3   r<   r<   r<   r?   Útest_dup_composeď  s     $rł   c                   C   s  t g d˘g d˘dtg d˘ksJ t g ggg ggdtg ggks"J t g ggdgggdtg ggks4J t g ggdggdgggdtg ggksIJ t dgggg dtdgggksZJ t dgdgg gg gdtg gkslJ t dgdgdggg gdtdggksJ t dgdgdggdggdtdggksJ t dgdgdggdggdtdggksŞJ t dgdgdggdgd	ggdtdgg g gksĂJ t dgdgdggdgdggdtdgdgdggksŢJ t dgdgdggdgdgdggdtdgdgd
gd
gdggks˙J d S )NrQ   r   r˛   rB   rA   rR   rP   r   rT   rJ   )r&   r3   r<   r<   r<   r?   Útest_dmp_compose  s    ""$*"$(**26 ˙˙r´   c                  C   sâ  t dgtdggksJ t ddgtddggksJ t g d˘tg d˘gks(J t g d˘tg d˘g d˘gks9J t g d˘tg d˘g d˘gksJJ t g d˘tg d˘g d˘gks[J t g d	˘tg d
˘g d˘gkslJ g d˘} t | tg d˘g d˘gksJ g d˘} t | tg d˘g d˘gksJ g d˘} t | tg d˘g d˘gksĽJ tdt\}}d|d  d d|d  d d|d  d|  d d|d  d|  d d|d  d |d   d!|  d" g} t | | Ą | gksďJ d S )#NrA   r   )rA   r   r   r   )rA   r   r   r   r   rą   )rA   r   r   r   r   r   r   )rP   r   r   r   rA   )rP   r   rA   )rR   r   rC   r   rB   )rR   rC   rB   )rA   r   r­   r   é   r   iô  r   iq  rj   r   iö˙˙˙r   )rA   r   r   rj   r   )rA   r   rI   r   )rB   r   é(   r   i,  r   ič  r   iâ  ru   r   iě˙˙˙é   )rB   r   r   ru   rˇ   )rA   r   r­   éř˙˙˙rľ   i˙˙˙i  i¨ý˙˙ia  iöű˙˙iX  iV˙˙˙rF   )rA   r¸   r\   iŢ˙˙˙rF   Útr_   rB   é*   r   é`   rr   i  i   ip  i`  r   él   rC   i8  i°  r   )r'   r3   r6   Z	to_domain)r>   ÚRrš   r<   r<   r?   Útest_dup_decompose  s2   "˙˙"""ürž   c                  C   s  t ddt ddt ddg} tt ddg| t tg | t tg | t tt ddt ddg| t tt ddt ddg| t g}t|dt  tĄt dt dt dt dt dt dt dt dt dt dt dt dt dt dt dt dt dgks}J ttdd	  d S )
NrA   r   rG   rB   iB  ižý˙˙iAF c                   S   r   )NrA   rB   r   )r(   r5   r<   r<   r<   r?   r   D  r   ztest_dmp_lift.<locals>.<lambda>)r4   r,   r(   Zalgebraic_fieldr8   r;   r0   )Úqr>   r<   r<   r?   Útest_dmp_lift:  s   &4˙60˙˙rŔ   c                   C   s  t g tdks	J t ddgtdksJ t g d˘tdksJ t g d˘tdks*J t g d˘tdks5J t g d˘tdks@J t g d˘tdksKJ t g d˘tdksVJ t g d	˘tdksaJ t g d
˘tdkslJ t g d˘tdkswJ t g d˘tdksJ t g d˘tdksJ t g d˘tdksJ t g d˘tdksŁJ t g d˘tdksŽJ t g d˘tdksšJ t g d˘tdksÄJ t g d˘tdksĎJ t g d˘tdksÚJ t g d˘tdksĺJ t g d˘tdksđJ t g d˘tdksűJ t g d˘tdksJ d S )Nr   rA   )rA   r   rB   )rA   r   rC   r   )rA   r   rR   r   rI   )rT   r   rB   )rT   r   rC   r   )rT   r   rR   r   rI   )rT   ru   r¨   )rA   ru   r¨   )rA   rR   r¨   )rA   ru   rI   rB   )rT   rR   r¨   )rT   rR   rI   )rT   ru   rI   )rA   rR   rI   )rT   r   ru   r   r¨   )rA   r   ru   r   r¨   )rA   r   rR   r   r¨   )rA   r   ru   r   rI   )rT   r   rR   r   r¨   )rT   r   ru   r   rI   )r)   r3   r<   r<   r<   r?   Útest_dup_sign_variationsG  s0   rÁ   c                   C   sz  t g tttdg fksJ t tdgtttdtdgfks"J t tdgtttdtdgfks6J t tddgttdtdgfksJJ t tddgtttdtdgfks_J t tdtdtdgtttdtdtdtdgfksJ t tdtddtdgtttdtdtdtdgfks J t tdtdtdgttddtdtdtdtdgfksÂJ t tdtddtdgttddtdtdtdtdgfksĺJ t ttdd ttdd	 gttd	td
tdgfksJ t tdgttdtdgfksJ t tttt tdgtttttttdgfks;J d S )NrA   rP   rC   r   rB   TŠZconvertr   rR   r_   )r   r4   r3   r5   r7   r9   r:   r<   r<   r<   r?   Útest_dup_clear_denomse  sP   (((*˙˙˙˙
˙˙˙˙
˙˙˙˙ ˙
˙(DrĂ   c                   C   sH  t g gdtttdg gfksJ t tdggdtttdtdggfks(J t tdggdtttdtdggfks?J t tddggdttdtdggfksVJ t tddggdtttdtdggfksnJ t tdgtdgg gdtttdtdgtdgg gfksJ t tdgtddgg gdtttdtdgtdgg gfksąJ t tdtdtdgdttddtdtdtdtdgfksÔJ t tdtddtdgdttddtdtdtdtdgfksřJ t tdgtdgg gdttddtdtdgtdgg gfksJ t tdgtddgg gdttddtdtdgtdgg gfksAJ t ttdd gttdd	 ggdttd	td
gtdggfkshJ t tdggdttdtdggfksJ t tttt tdggdtttttttdggfks˘J d S )NrA   rP   rC   rB   r   TrÂ   r   rR   r_   )r	   r4   r3   r5   r7   r9   r:   r<   r<   r<   r?   Útest_dmp_clear_denoms  sp   "...0˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙
˙˙
˙&˙
˙.JrÄ   N)qÚ__doc__Zsympy.polys.densebasicr   r   r   r   r   Zsympy.polys.densearithr   Zsympy.polys.densetoolsr   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(   r)   r*   r+   Zsympy.polys.polyclassesr,   Zsympy.polys.polyerrorsr-   r.   r/   r0   Zsympy.polys.specialpolysr1   Zsympy.polys.domainsr2   r3   r4   r5   Zsympy.polys.ringsr6   Zsympyr7   r8   r9   Z	sympy.abcr:   Zsympy.testing.pytestr;   rv   rw   rx   ry   rz   r{   rM   rK   rL   rO   r^   rc   rd   rg   ri   rn   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?   Ú<module>   sb    !		
*(
	#