o
    *ÎŽcü_  ă                   @   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? ddl@mAZA ddlBmCZC ddlDmEZE ddlFmGZG dd e6 D \ZHZIZJZKZLZMZNd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-d. Z]d/d0 Z^d1d2 Z_d3d4 Z`d5d6 Zad7d8 Zbd9d: Zcd;d< Zdd=d> Zed?d@ ZfdAdB ZgdCdD ZhdEdF ZidGdH ZjdIdJ ZkdKdL ZldMdN ZmdOdP ZndQdR ZodSdT ZpdUdV ZqdWdX ZrdYS )Zz.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)ÚI)ÚS)Úsin)Úx)Úraisesc                 C   s   g | ]}|  Ą qS Š )Úto_dense)Ú.0Úfr<   r<   úH/tmp/pip-target-vg8gfxp4/lib/python/sympy/polys/tests/test_densetools.pyÚ
<listcomp>6   s    rA   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  )rG   é   i   )rI   é   )r
   r4   r   r<   r<   r<   r@   Útest_dup_integrate8   s,   &.˙˙&˙,˙˙ ˙rL   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 )NrB   rC   rD   r   rE   rF   )r   r4   r<   r<   r<   r@   Útest_dmp_integrateO   s    .4$˙$˙$$˙$&˙rM   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 )NrD   rC   rB   r   )r   Úf_6r3   r4   r   r   r   Šr?   r<   r<   r@   Útest_dmp_integrate_in`   s*    ˙˙ ˙˙ ˙˙ ˙˙rP   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 )NrB   é   rC   ŠrB   rC   rB   )rB   rC   rD   é   )rD   rS   rD   ŠrB   é˙˙˙˙r   r   rC   )rS   éý˙˙˙r   r   )rH   é"   é8   i§ţ˙˙é   éL   r   r   rE   rD   rQ   r   )
éŞ   i2  iŔ  iö˙˙é   i|  r   r   é   rD   rD   )
rC   r   rB   r   r   rC   r   r   r   r   )rB   r   r   rC   r   r   r   )r   r3   r   r2   )r?   ÚKr<   r<   r@   Útest_dup_diffq   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 )NrB   r   rC   rD   é   rT   i!  )é   r   r   )iy˙˙˙r   r   iYţ˙˙iŃ˙˙˙é   é^   rY   )r   r3   r   rN   r2   r   )r^   ÚF_6r<   r<   r@   Útest_dmp_diff   s>   $&2˙&
ý˙˙
˙",˙re   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 )NrC   rB   rD   r   )r   rN   r3   r   r   r<   r<   r<   r@   Útest_dmp_diff_inŻ   s   $˙$˙$˙$˙rf   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 )NrQ   r   rB   rC   ŠrB   rC   rD   éB   )r   r3   r<   r<   r<   r@   Útest_dup_evalş   s   ri   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 )NrD   r   rB   rC   é
   rK   )r   r3   r<   r<   r<   r@   Útest_dmp_evalŔ   s     $&0rk   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éţ˙˙˙rB   rD   r   rQ   rC   é-   é÷˙˙˙rU   rj   )rn   rU   r   iÔ˙˙˙)r   rN   r3   r   r   ÚintrO   r<   r<   r@   Útest_dmp_eval_inĎ   s(   
˙˙
˙˙ 
˙ 
˙@˙rp   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 )NrB   rC   )rB   éď˙˙˙rK   iJ rq   rK   )iú˙˙rD   iO éS   rD   )i.  éQ   rB   )ix˙˙˙iS=  iÎ#  iř˙˙iô˙˙˙)iú˙˙r   iBý˙˙i8ű˙˙r   iý˙˙)é   éR   iĂë˙˙i8˙˙iěĹ˙˙iäý˙˙é   rU   )
l   Áoä iů lü˙˙˙fc5lý˙˙˙y
?÷i(č˙l   2c[l   ţ|U78éü˙˙˙l   XLk^ i× )rU   i˛˙˙˙iř˙˙iXť˙˙)r   rC   rS   )i°  r   r   i  )	r   r3   Úf_0Úf_1Úf_2Úf_3Úf_4Úf_5rN   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 )NrC   rQ   rB   rD   r   )r   rN   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 )NrB   éĐ  r   r]   rC   é=   rJ   rK   c                   S   ó   t tdtdgdtS )NrB   r   rD   )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 )NrB   r   r   r]   rC   r   rJ   rK   c                   S   s   t dggddtS ŠNrB   rC   )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ŠrB   rC   rD   rS   rJ   r`   rD   )rB   rU   r   rB   rU   r   )r`   rJ   rS   rD   rC   rB   )rU   rB   r   rU   rB   )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 )NrB   rC   )rB   rS   rB   rV   )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 )NrD   rC   )rB   rU   r   rU   )rB   rU   rB   rB   )r   rx   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)rD   r`   é	   rg   c                   S   s   t g d˘tS )N)rD   rS   rJ   )r   r3   r<   r<   r<   r@   r   #  s    z test_dup_monic.<locals>.<lambda>rB   rQ   é   rD   )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 )
NrD   r`   r   rB   rC   c                   S   s   t dgdgdggdtS )NrD   rS   rJ   rB   )r   r3   r<   r<   r<   r@   r   .  r   z'test_dmp_ground_monic.<locals>.<lambda>rQ   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   rB   rU   rC   rR   )rC   rS   rC   rD   rS   r   rJ   é   )r   r3   r4   r<   r<   r<   r@   Útest_dup_content6  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 )NrB   r   rU   rC   rS   rD   r   rJ   r   r`   rQ   rK   )r   r3   r4   rx   r   ry   rz   r{   r|   r}   rN   r<   r<   r<   r@   Útest_dmp_ground_contentC  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   rB   rC   rS   rD   r   rJ   r   r`   )r   r3   r4   r<   r<   r<   r@   Útest_dup_primitivem  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 )NrB   r   rC   rD   rS   rJ   r`   rQ   rK   r   r   )r   r3   rx   r   ry   rz   r{   r|   r}   rN   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   rE   r   rB   )é  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   rB   r   r   r   r   r   rE   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 )NrB   r   rC   rg   )rU   r   rD   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 )NrB   ŠrB   rC   rD   rS   rJ   ŠrB   rl   rD   rw   rJ   r   )rU   rC   rV   rS   éű˙˙˙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 )NrU   rB   r¨   rŠ   iů˙˙˙)ia	  iRý˙˙é   iä˙˙˙rJ   )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 )NrB   r¨   )rB   r`   r   é   r   rQ   )rB   é   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 )NrB   rC   )r`   rŞ   rS   rV   rH   )rB   rV   rS   rV   )	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 )NrB   rC   )rB   rC   r   rR   rS   rQ   r   rU   ŠrB   r   r   )rB   rS   rS   ŠrB   rS   rK   rK   rS   )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 )NrR   r   r´   rC   rB   rS   rQ   r   rU   rK   )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 )#NrB   r   )rB   r   r   r   )rB   r   r   r   r   rł   )rB   r   r   r   r   r   r   )rQ   r   r   r   rB   )rQ   r   rB   )rS   r   rD   r   rC   )rS   rD   rC   )rB   r   rŻ   r   é   r   iô  r   iq  rl   r   iö˙˙˙r   )rB   r   r   rl   r   )rB   r   rJ   r   )rC   r   é(   r   i,  r   ič  r   iâ  rw   r   iě˙˙˙é   )rC   r   r   rw   rš   )rB   r   rŻ   éř˙˙˙rˇ   i˙˙˙i  i¨ý˙˙ia  iöű˙˙iX  iV˙˙˙rG   )rB   rş   r]   iŢ˙˙˙rG   Útr`   rC   é*   r   é`   rt   i  i   ip  i`  r    él   rD   i8  i°  rĄ   )r'   r3   r6   Ú	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 )
NrB   r   rH   rC   iB  ižý˙˙iAF c                   S   r   )NrB   rC   r   )r(   r5   r<   r<   r<   r@   r   F  r   ztest_dmp_lift.<locals>.<lambda>)r4   r,   r(   Úalgebraic_fieldr7   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   rB   )rB   r   rC   )rB   r   rD   r   )rB   r   rS   r   rJ   )rU   r   rC   )rU   r   rD   r   )rU   r   rS   r   rJ   )rU   rw   rŞ   )rB   rw   rŞ   )rB   rS   rŞ   )rB   rw   rJ   rC   )rU   rS   rŞ   )rU   rS   rJ   )rU   rw   rJ   )rB   rS   rJ   )rU   r   rw   r   rŞ   )rB   r   rw   r   rŞ   )rB   r   rS   r   rŞ   )rB   r   rw   r   rJ   )rU   r   rS   r   rŞ   )rU   r   rw   r   rJ   )r)   r3   r<   r<   r<   r@   Útest_dup_sign_variationsI  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 )NrB   rQ   rD   r   rC   TŠÚconvertr   rS   r`   )r   r4   r3   r5   r8   r9   r:   r<   r<   r<   r@   Útest_dup_clear_denomsg  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 )NrB   rQ   rD   rC   r   TrĆ   r   rS   r`   )r	   r4   r3   r5   r8   r9   r:   r<   r<   r<   r@   Útest_dmp_clear_denoms  sp   "...0˙˙˙˙˙˙
˙˙˙˙˙˙˙˙˙˙
˙˙
˙&˙
˙.JrÉ   N)sÚ__doc__Úsympy.polys.densebasicr   r   r   r   r   Úsympy.polys.densearithr   Ú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+   Úsympy.polys.polyclassesr,   Úsympy.polys.polyerrorsr-   r.   r/   r0   Úsympy.polys.specialpolysr1   Úsympy.polys.domainsr2   r3   r4   r5   Úsympy.polys.ringsr6   Úsympy.core.numbersr7   Úsympy.core.singletonr8   Ú(sympy.functions.elementary.trigonometricr9   Ú	sympy.abcr:   Úsympy.testing.pytestr;   rx   ry   rz   r{   r|   r}   rN   rL   rM   rP   r_   re   rf   ri   rk   rp   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>   sf    !		
*(
	#