a
    Ź<bü_  ă                   @   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 Š )Zto_dense)Ú.0Úfr<   r<   úq/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/sympy/polys/tests/test_densetools.pyÚ
<listcomp>6   ó    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sNJ 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s´J t tdtdtdgdttddt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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sjJ t tdgggddttddggg gg ggksJ 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säJ 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s0J 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sHJ 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 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sDJ t g d˘dtddgks`J t g d˘dtg d˘ks|J t g d˘dtg d˘ksJ tg d	˘t} t | d
t| ksşJ t | dtg d˘ksŇJ 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sZJ t | d|tg d˘|kszJ 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   s  t g ddtg ksJ t g gddtg gks0J t g ggddtg ggksNJ t dgdgggddtg ggksrJ t dggg ggddtdgggksJ t dggdggg ggddtdggdgggksĘJ t g d˘ddttg d˘dtksđJ 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slJ 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sHJ 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^   ZF_6r<   r<   r?   Útest_dmp_diff   s>    $&2˙&ý˙˙
˙",˙rd   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stJ 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 d S )NrC   rB   rD   r   )r   rN   r3   r   r   r<   r<   r<   r?   Útest_dmp_diff_inŻ   s    $˙$˙$˙$˙re   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sDJ d S )NrQ   r   rB   rC   ŠrB   rC   rD   éB   )r   r3   r<   r<   r<   r?   Útest_dup_evalş   s    rh   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sJJ t ddggddtddgksjJ t dgggddtdggksJ t ddgggddtddggksŽJ t ddgddggddtddgksÔJ 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      $&rj   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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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s8J d S )Néţ˙˙˙rB   rD   r   rQ   rC   é-   é÷˙˙˙rU   ri   )rm   rU   r   iÔ˙˙˙)r   rN   r3   r   r   ÚintrO   r<   r<   r?   Útest_dmp_eval_inĎ   s(    
˙˙
˙˙ ˙
 ˙
@˙ro   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s8J t g ggddgdtg ksVJ t tg dttkslJ t tg d˘dtdksJ t tddgdtg d˘ks¤J t tdgdtddgd	gg d
˘g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ddgdtg d˘ksJJ t tddgdtg d˘ksjJ t tg d˘d	tg d˘ksJ d S )NrB   rC   )rB   éď˙˙˙rK   iJ rp   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   s   t tdtdgdtS )NrB   r   rD   )r*   r4   r<   r<   r<   r?   Ú<lambda>  rA   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sJ 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     rA   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sPJ d S )NrB   rC   )rB   rS   rB   rV   )r   r3   r<   r<   r<   r?   Útest_dmp_trunc  s    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sDJ d S )NrD   rC   )rB   rU   r   rU   )rB   rU   rB   rB   )r   rw   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sXJ t tdtdtdgttdtddtdgksJ d S )	N)rD   r`   é	   rf   c                   S   s   t g d˘tS )N)rD   rS   rJ   )r   r3   r<   r<   r<   r?   r   #  rA   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sRJ t tdggdttdggksvJ 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   .  rA   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sFJ t ddgttdks`J t ddgttdkszJ t g d˘ttdksJ t g d˘ttdksŽJ t tddtdd	gttdd	ksÖJ 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s4J t dggdttdksPJ t dggdttdkslJ t dgdggdttdksJ t dgdggdttdksŹJ t dgdgdggdttdksĐJ t dgdgdggdtt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dgtddggdttdd	ksTJ t tdttdksnJ 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s\J t tdttdksvJ 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 d S )NrB   r   rU   rC   rS   rD   r   rJ   r   r`   rQ   rK   )r   r3   r4   rw   r   rx   ry   rz   r{   r|   rN   r<   r<   r<   r?   Útest_dmp_ground_contentC  sh      $$00˙˙
˙˙
˙˙
˙˙
˙˙
˙˙
˙˙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srJ 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 g ttdg fks>J t tdgttdtdgfksfJ 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sNJ 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˙˙˙˙
(44˙˙
˙˙
˙˙
˙˙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sfJ 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sZJ 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sHJ t t
dggdt
t
d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sşJ t t
ddgt
ddggdt
t
ddt
dgt
dggfksţJ d S )NrB   r   rC   rD   rS   rJ   r`   rQ   rK   r   r   )r   r3   rw   r   rx   ry   rz   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sRJ 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sJ 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s8J t ddgtdgdggddggfks`J t ddgtdgdggddggfksJ 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   rf   )rU   r   rD   c                   S   s   t tdtdgtS r   )r    r5   r<   r<   r<   r?   r   Í  rA   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sBJ t g d˘tg d˘ks\J d S )NrB   ŠrB   rC   rD   rS   rJ   ŠrB   rk   rD   rv   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sHJ t g d˘dtg d˘ksdJ d S )NrU   rB   rĽ   rŚ   iů˙˙˙)ia	  iRý˙˙é   iä˙˙˙rJ   )r"   r3   r<   r<   r<   r?   Útest_dup_scaleŘ  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sHJ t g d˘dtg d˘ksdJ d S )NrB   rĽ   )rB   r`   r   é   r   rQ   )rB   é   iS  i°  iĂ  )r#   r3   r<   r<   r<   r?   Útest_dup_shiftŕ  s    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s6J t g ddgddgtg ksTJ t g d˘g d˘ddgtg d˘kszJ 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sBJ t dgg tdgksZJ t g d˘g tg ksrJ t g d˘g tdgksJ t g d˘dgtdgks¨J t g d˘dgtdgksÄJ t g d˘ddgtg d	˘ksäJ 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sDJ t g ggdgggdtg ggkshJ t g ggdggdgggdtg ggksJ t dgggg dtdgggks´J t dgdgg gg gdtg gksŘJ 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sZJ 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     ""$*"$*,,48 ˙˙r˛   c                  C   sč  t dgtdggksJ t ddgtddggks4J t g d˘tg d˘gksPJ t g d˘tg d˘g d˘gksrJ t g d˘tg d˘g d˘gksJ t g d˘tg d˘g d˘gksśJ t g d	˘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 g d˘} t | tg d˘g d˘gksNJ 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  rk   r   iö˙˙˙r   )rB   r   r   rk   r   )rB   r   rJ   r   )rC   r   é(   r   i,  r   ič  r   iâ  rv   r   iě˙˙˙é   )rC   r   r   rv   rľ   )rB   r   rŤ   éř˙˙˙rł   i˙˙˙i  i¨ý˙˙ia  iöű˙˙iX  iV˙˙˙rG   )rB   rś   r]   iŢ˙˙˙rG   Útr`   rC   é*   r   é`   rs   i  i   ip  i`  r   él   rD   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 )
NrB   r   rH   rC   iB  ižý˙˙iAF c                   S   s   t tdtdgdtS )NrB   rC   r   )r(   r5   r<   r<   r<   r?   r   F  rA   ztest_dmp_lift.<locals>.<lambda>)r4   r,   r(   Z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sTJ t g d˘tdksjJ 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s6J t g d˘tdksNJ t g d˘tdksfJ 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   rv   r§   )rB   rv   r§   )rB   rS   r§   )rB   rv   rJ   rC   )rU   rS   r§   )rU   rS   rJ   )rU   rv   rJ   )rB   rS   rJ   )rU   r   rv   r   r§   )rB   r   rv   r   r§   )rB   r   rS   r   r§   )rB   r   rv   r   rJ   )rU   r   rS   r   r§   )rU   r   rv   r   rJ   )r)   r3   r<   r<   r<   r?   Útest_dup_sign_variationsI  s0    rż   c                   C   s  t g tttdg fksJ t tdgtttdtdgfksDJ t tdgtttdtdgfkslJ t tddgttdtdgfksJ 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sBJ 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    (((*˙˙˙˙

˙˙˙˙

˙˙˙˙
 ˙˙
(rÂ   c                   C   sP  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sPJ 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sŹJ t tddggdtttdtdggfksÜJ 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sfJ 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sJ 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sŘJ 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sLJ 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˙˙
˙˙˙˙

˙˙˙˙
˙˙˙
˙˙˙˙
˙˙
&˙˙
.rĂ   N)sÚ__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sympy.core.numbersr7   Zsympy.core.singletonr8   Z(sympy.functions.elementary.trigonometricr9   Z	sympy.abcr:   Zsympy.testing.pytestr;   rw   rx   ry   rz   r{   r|   rN   rL   rM   rP   r_   rd   re   rh   rj   ro   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>   sd   !		
*(
	#