o
    E«Ļif  ć                   @   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-m.Z. ddl/m0Z0 ddl1m2Z2m3Z3m4Z4m5Z5 ddl6m7Z7 ddl8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z? dd	l@mAZA dd
lBmCZC ddlDmEZE ddlFmGZG ddlHmIZI ddlJmKZK dd e7 D \ZLZMZNZOZPZQZRd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'd( Z^d)d* Z_d+d, Z`d-d. Zad/d0 Zbd1d2 Zcd3d4 Zdd5d6 Zed7d8 Zfd9d: Zgd;d< Zhd=d> Zid?d@ ZjdAdB ZkdCdD ZldEdF ZmdGdH ZndIdJ ZodKdL ZpdMdN ZqdOdP ZrdQdR ZsdSdT ZtdUdV ZudWdX ZvdYdZ Zwd[S )\z.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Ś	dmp_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ŚZZ_IŚQQ_IŚEXŚRR)Śring)ŚI)ŚS)Śsin)Śx)Śraisesc                 C   s   g | ]}|  ” qS © )Śto_dense)Ś.0Śfr@   r@   śk/var/www/addictedbytheproject.nl/epg/venv/lib/python3.10/site-packages/sympy/polys/tests/test_densetools.pyŚ
<listcomp>4   ó    rE   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  )rL   é   i   )rN   é   )r
   r5   r   r@   r@   r@   rD   Śtest_dup_integrate6   s,   &.’’&’,’’ ’rQ   c                   C   s  t tdgddttddtdtdgksJ t g ggddtg ggks'J t g ggddtg ggks6J t tdgggddttdggg ggksMJ t tdgggddttddggg gg ggksgJ 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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 )NrG   rH   r   rI   rJ   rK   )r   r5   r@   r@   r@   rD   Śtest_dmp_integrateM   s"   0.4$’$’$$’$&’rR   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 tt fdd tt fdd d S )NrI   rH   rG   r   c                      ó   t  dddtS ©NrG   é’’’’rI   ©r   r5   r@   ©rC   r@   rD   Ś<lambda>p   ó    z'test_dmp_integrate_in.<locals>.<lambda>c                      rS   ©NrG   é   rI   rV   r@   rW   r@   rD   rX   q   rY   )	r   Śf_6r4   r5   r   r   r   r?   Ś
IndexErrorr@   r@   rW   rD   Śtest_dmp_integrate_in`   s.    ’’ ’’ ’’ ’’r^   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 )NrG   é   rH   ©rG   rH   rG   )rG   rH   rI   r[   )rI   r[   rI   ©rG   rU   r   r   rH   )r[   éż’’’r   r   )rM   é"   é8   i§ž’’é   éL   r   r   rJ   rI   r_   r   )
éŖ   i2  iĄ  iö’’é   i|  r   r   é   rI   rI   )
rH   r   rG   r   r   rH   r   r   r   r   )rG   r   r   rH   r   r   r   )r   r4   r   r3   )rC   ŚKr@   r@   rD   Śtest_dup_difft   s6   $’’$’’rk   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 )NrG   r   rH   rI   é   ra   i!  )é   r   r   )iy’’’r   r   iYž’’iŃ’’’é   é^   re   )r   r4   r   r\   r3   r   )rj   ŚF_6r@   r@   rD   Śtest_dmp_diff   s>   $&2’&
ż’’
’",’rq   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 ttdd  ttdd  d S )NrH   rG   rI   r   c                   S   ó   t tdddtS rT   ©r   r\   r4   r@   r@   r@   rD   rX   ¼   rY   z"test_dmp_diff_in.<locals>.<lambda>c                   S   rr   rZ   rs   r@   r@   r@   rD   rX   ½   rY   )r   r\   r4   r   r   r?   r]   r@   r@   r@   rD   Śtest_dmp_diff_in²   s   $’$’$’$’rt   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 )Nr_   r   rG   rH   ©rG   rH   rI   éB   )r   r4   r@   r@   r@   rD   Śtest_dup_evalæ   s   rw   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 )NrI   r   rG   rH   é
   rP   )r   r4   r@   r@   r@   rD   Śtest_dmp_evalÅ   s     $&0ry   c                  C   sV  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 ttdd  ttdd  d S )Néž’’’rG   rI   r   r_   rH   é-   é÷’’’rU   rx   )r|   rU   r   iŌ’’’c                   S   ó   t ttdddtS rT   ©r   r\   r4   r@   r@   r@   rD   rX   ć   rF   z"test_dmp_eval_in.<locals>.<lambda>c                   S   r}   rZ   r~   r@   r@   r@   rD   rX   ä   rF   )r   r\   r4   r   r   Śintr?   r]   rW   r@   r@   rD   Śtest_dmp_eval_inŌ   s,   
’’
’’ 
’ 
’@’r   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 )NrG   rH   )rG   éļ’’’rP   iJ r   rP   )iś’’rI   iO éS   rI   )i.  éQ   rG   )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   rH   r[   )i°  r   r   i  )	r   r4   Śf_0Śf_1Śf_2Śf_3Śf_4Śf_5r\   r@   r@   r@   rD   Śtest_dmp_eval_tailē   s2   (’’’’’’"r   c                	   C   sz   t tddddtttttdddtddtddtksJ t tddddttttddtddtks4J ttdd  d S )NrH   r_   rG   rI   r   c                   S   s   t tdtdddtS rZ   )r   r\   r4   r@   r@   r@   rD   rX     ó    z'test_dmp_diff_eval_in.<locals>.<lambda>)r   r\   r4   r   r   r   r?   r]   r@   r@   r@   rD   Ś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 )NrG   éŠ  r   ri   rH   é=   rO   rP   c                   S   ó   t tdtdgdtS )NrG   r   rI   )r+   r5   r@   r@   r@   rD   rX     ó    z!test_dup_revert.<locals>.<lambda>)r5   r+   r?   r0   ©rC   Śgr@   r@   rD   Ś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 )NrG   r   r   ri   rH   r   rO   rP   c                   S   s   t dggddtS ©NrG   rH   )r,   r5   r@   r@   r@   rD   rX     s    z!test_dmp_revert.<locals>.<lambda>)r5   r,   r?   r.   r   r@   r@   rD   Śtest_dmp_revert  s   84r   c                  C   s¼   t g d¢tdtg d¢ksJ t g d¢tdtg d¢ks J t} t | d| d| dg| d| | d| d	gks=J td}t |d|d|dg|d||d|d
gks\J d S )N©rG   rH   rI   r[   rO   rl   rI   )rG   rU   r   rG   rU   r   )rl   rO   r[   rI   rH   rG   )rU   rG   r   rU   rG   r[   rO   rG   rU   r   )r   r4   r6   r3   )ŚRrj   r@   r@   rD   Śtest_dup_trunc  s     6: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 )NrG   rH   )rG   r[   rG   rb   )r   r4   r@   r@   r@   rD   Ś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 )NrI   rH   )rG   rU   r   rU   )rG   rU   rG   rG   )r   r   r4   r   r@   r@   r@   rD   Ś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©rI   rl   é	   ru   c                   S   s   t g d¢tS )N)rI   r[   rO   )r   r4   r@   r@   r@   rD   rX   6  s    z test_dup_monic.<locals>.<lambda>rG   r_   é   rI   )r   r4   r?   r/   r5   r@   r@   r@   rD   Śtest_dup_monic3  s
   <r¢   c                   C   sÜ   t g d¢dtg d¢ksJ 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s7J t tdggdttdggksIJ 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slJ d S )Nr   r   ru   rI   rl   r    rG   rH   c                   S   s   t dgdgdggdtS )NrI   r[   rO   rG   )r   r4   r@   r@   r@   rD   rX   C  r   z'test_dmp_ground_monic.<locals>.<lambda>r_   r”   )r   r4   r?   r/   r5   r@   r@   r@   rD   Ś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   rG   rU   rH   r`   )rH   r[   rH   rI   r[   r    rO   é   )r   r4   r5   r@   r@   r@   rD   Śtest_dup_contentK  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 )NrG   r   rU   rH   r[   rI   r    rO   r¤   rl   r_   rP   )r   r4   r5   r   r   r   r   r   r   r   r\   r@   r@   r@   rD   Śtest_dmp_ground_contentX  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   rG   rH   r[   rI   r    rO   r¤   rl   )r   r4   r5   r@   r@   r@   rD   Śtest_dup_primitive  sL   &22’’’’&22’
’’
’’
’’’r§   c                   C   s  t tdgdttdtdgfksJ t g gdttdg gfks$J t tdttdtfks2J t tttddtdttdtfksGJ t tdttdtfksUJ t tttddtdttdtfksjJ t tdttdtfksxJ 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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s2J t t
dggdt
t
dt
dggfksIJ t t
ddgt
dd
ggdt
t
dd
t
dgt
dggfkskJ 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 )NrG   r   rH   rI   r[   rO   rl   r_   rP   r    r¤   )r   r4   r   r   r   r   r   r   r   r\   r5   r@   r@   r@   rD   Śtest_dmp_ground_primitive  sp   ( ’
’’
’’
’’
’’
’’
’’

’..’
’’’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   rJ   r   rG   )é  r   éĄ   r   ri   r   r¬   )r   r4   r   ©rC   r   ŚFŚGr@   r@   rD   Ś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¬   rG   r­   r®   rÆ   r°   r±   rJ   r²   r³   ri   )r   r4   r   r“   r@   r@   rD   Śtest_dmp_ground_extractĻ  s   ’" rø   c                	   C   sL  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tdtdtdgttdgg tdtdtdgtdggtdtdgg tdtdtdtdggfksJ ttd	d
  d S )NrG   r   rH   ru   )rU   r   rI   rI   rb   rU   c                   S   s   t tdtdgtS r   )r    r8   r@   r@   r@   rD   rX   é  r   z$test_dup_real_imag.<locals>.<lambda>)r    r4   r?   r1   r@   r@   r@   rD   Ś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 )NrG   ©rG   rH   rI   r[   rO   ©rG   rz   rI   r   rO   r   )rU   rH   rb   r[   éū’’’rl   )r!   r4   r@   r@   r@   rD   Ś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   rG   rŗ   r»   ił’’’)ia	  iRż’’é   iä’’’rO   )r"   r4   r@   r@   r@   rD   Ś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 )NrG   rŗ   )rG   rl   r¤   é   r¤   r_   )rG   é   iS  i°  iĆ  )r#   r4   r@   r@   r@   rD   Śtest_dup_shiftż  rĄ   rĆ   c                  C   s“   t tdtdgtdgdttdtdgksJ t g gtdtdgdtg gks-J tdtdgg g} tdtdgtdtdgg}t | tdtdgdt|ksXJ d S )NrG   rH   r   rI   )r$   r4   )ŚxyŚx1y2r@   r@   rD   Śtest_dmp_shift  s
   4& &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 )NrG   rH   )rl   r¼   r[   rb   rM   )rG   rb   r[   rb   )	rl   i®’’’i  ic÷’’i  iMĪ’’i'C  iŻŹ’’i„  )r%   r4   r@   r@   r@   rD   Ś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 )NrG   rH   )rG   rH   r   r`   r[   r_   r°   rU   ©rG   r   r   )rG   r[   r[   ©rG   r[   rP   rP   r[   )r&   r4   r@   r@   r@   rD   Ś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 )Nr`   r   rÉ   rH   rG   r[   r_   r°   rU   rP   )r'   r4   r@   r@   r@   rD   Ś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 )#NrG   r   )rG   r   r   r   )rG   r   r   r   r   rČ   )rG   r   r   r   r   r   r   )r_   r   r   r   rG   )r_   r   rG   )r[   r   rI   r   rH   )r[   rI   rH   )rG   r   rĮ   r   é   r   iō  r   iq  rz   r   iö’’’r    )rG   r   r   rz   r    )rG   r   rO   r   )rH   r   é(   r   i,  r   ič  r   iā  r   r   iģ’’’é   )rH   r   r   r   rĪ   )rG   r   rĮ   éų’’’rĢ   i’’’i  iØż’’ia  iöū’’iX  iV’’’rL   )rG   rĻ   ri   iŽ’’’rL   Śtrl   rH   é*   r±   é`   r   i  i   ip  i`  r²   él   rI   i8  i°  r³   )r(   r4   r:   Ś	to_domain)rC   r   rŠ   r@   r@   rD   Ś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  g d¢”}t|dt  t”|ksQJ tdtdtdtddtddg}t|dt|ksnJ ttdd  d S )NrG   r   rM   )	rG   r   r   r   r   r   rG   rc   i!  c                   S   r   )NrG   rH   r   )r)   r8   r@   r@   r@   rD   rX   q  r   ztest_dmp_lift.<locals>.<lambda>)	r5   r-   Śmapr)   Śalgebraic_fieldr;   r7   r?   r1   )ŚqŚf_aŚf_liftŚf_gr@   r@   rD   Śtest_dmp_liftc  s   &4’&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   rG   )rG   r   rH   )rG   r   rI   r   )rG   r   r[   r   rO   )rU   r   rH   )rU   r   rI   r   )rU   r   r[   r   rO   )rU   r   r¼   )rG   r   r¼   )rG   r[   r¼   )rG   r   rO   rH   )rU   r[   r¼   )rU   r[   rO   )rU   r   rO   )rG   r[   rO   )rU   r   r   r   r¼   )rG   r   r   r   r¼   )rG   r   r[   r   r¼   )rG   r   r   r   rO   )rU   r   r[   r   r¼   )rU   r   r   r   rO   )r*   r4   r@   r@   r@   rD   Śtest_dup_sign_variationst  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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 t t”} t | ddt d  | dg| }t	|dksZJ d S )NrG   r_   rI   r   rH   T©Śconvertr    r[   rl   gE/£Xnł @gjŽq @g¤p=
×£@g        z0(x + 0.353356890459364, [1.05971731448763, 0.0]))
r   r5   r4   r8   r<   r=   r>   r9   Ś
frac_fieldŚstr)rµ   Śresultr@   r@   rD   Śtest_dup_clear_denoms  sV   (((*’’’’
’’’’
’’’’ ’
’(@
"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 )NrG   r_   rI   rH   r   TrŽ   r    r[   rl   )r	   r5   r4   r8   r<   r=   r>   r@   r@   r@   rD   Śtest_dmp_clear_denomsÆ  sp   "...0’’’’’’
’’’’’’’’’’
’’
’&’
’.Jrä   N)xŚ__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+   r,   Śsympy.polys.polyclassesr-   Śsympy.polys.polyerrorsr.   r/   r0   r1   Śsympy.polys.specialpolysr2   Śsympy.polys.domainsr3   r4   r5   r6   r7   r8   r9   Śsympy.polys.ringsr:   Śsympy.core.numbersr;   Śsympy.core.singletonr<   Ś(sympy.functions.elementary.trigonometricr=   Ś	sympy.abcr>   Śsympy.testing.pytestr?   r   r   r   r   r   r   r\   rQ   rR   r^   rk   rq   rt   rw   ry   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@   rD   Ś<module>   sh    $!
		
**

	#