a
    khVT                     @   sF  d Z ddlmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZmZ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/m0Z0m1Z1m2Z2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@ ddlAmBZB ddlCmDZDmEZE ddlFmGZG ddlHmIZI ddlJmKZK ddlLmMZM d	d
 eB D \ZNZOZPZQZRZSZTd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%d& Zbd'd( Zcd)d* Zdd+d, Zed-d. Zfd/d0 Zgd1d2 Zhd3d4 Zid5d6 Zjd7d8 Zkd9d: Zld;d< Zmd=d> Znd?d@ ZodAdB ZpdCdD ZqdEdF ZrdGdH ZsdIdJ ZtdKdL ZudMdN ZvdOdP ZwdQdR ZxdSdT ZydUdV ZzdWdX Z{dYdZ Z|d[d\ Z}d]d^ Z~d_d` Zdadb Zdcdd Zdedf Zdgdh Zdidj Zdkdl Zdmdn Zdodp Zdqdr Zdsdt Zdudv Zdwdx Zdydz Zd{d| Zd}d~ ZdS )z4Tests for dense recursive polynomials' basic tools.     )?ninfdup_LCdmp_LCdup_TCdmp_TCdmp_ground_LCdmp_ground_TCdmp_true_LT
dup_degree
dmp_degreedmp_degree_indmp_degree_list	dup_strip	dmp_stripdmp_validatedup_reversedup_copydmp_copy
dup_normal
dmp_normaldup_convertdmp_convertdup_from_sympydmp_from_sympydup_nthdmp_nthdmp_ground_nth
dmp_zero_pdmp_zero	dmp_one_pdmp_onedmp_ground_p
dmp_grounddmp_negative_pdmp_positive_p	dmp_zerosdmp_groundsdup_from_dictdup_from_raw_dictdup_to_dictdup_to_raw_dictdmp_from_dictdmp_to_dictdmp_swapdmp_permutedmp_nest	dmp_raisedup_deflatedmp_deflatedup_multi_deflatedmp_multi_deflatedup_inflatedmp_inflatedmp_excludedmp_include
dmp_inject	dmp_ejectdup_terms_gcddmp_terms_gcddmp_list_termsdmp_apply_pairs	dup_slice
dup_random)f_polys)ZZQQ)ring)S)raises)ooc                 C   s   g | ]}|  qS  )Zto_dense).0frH   rH   O/var/www/auris/lib/python3.9/site-packages/sympy/polys/tests/test_densebasic.py
<listcomp>1       rL   c                   C   s,   t g tdksJ t g dtdks(J d S )Nr               rO   )r   rB   rH   rH   rH   rK   test_dup_LC3   s    rS   c                   C   s,   t g tdksJ t g dtdks(J d S )Nr   rN   rR   )r   rB   rH   rH   rH   rK   test_dup_TC8   s    rT   c                   C   s~   t g gtg ksJ t g ddggtg dks4J t g ggtg gksLJ t dgddggdgggtdgddggkszJ d S NrO   rP   rQ   rR   rO   rP   rQ   )r   rB   rH   rH   rH   rK   test_dmp_LC=   s     rW   c                   C   sv   t g gtg ksJ t g ddggtdgks2J t g ggtg gksJJ t dgddggdgggtdggksrJ d S rU   )r   rB   rH   rH   rH   rK   test_dmp_TCD   s    rX   c                   C   sv   t g gdtdksJ t g ddggdtdks4J t g ggdtdksLJ t dgddggdgggdtdksrJ d S N   r   rV   rR   rO   rP   rQ   )r   rB   rH   rH   rH   rK   test_dmp_ground_LCK   s    r[   c                   C   sv   t g gdtdksJ t g ddggdtdks4J t g ggdtdksLJ t dgddggdgggdtdksrJ d S rY   )r   rB   rH   rH   rH   rK   test_dmp_ground_TCR   s    r\   c                   C   s   t g gdtdksJ t dggdtdks.J t ddggdtdksHJ t dgg gdtdksbJ t ddgg gdtdks~J d S )	NrZ   )r   r   r      )r]   r^   r   )r   rZ   rZ   )rZ   r   rZ   )rZ   rZ   rZ   )r	   rB   rH   rH   rH   rK   test_dmp_true_LTY   s
    rb   c                   C   s^   t tdksJ tg t u s J tdgdks2J tddgdksFJ tg ddksZJ d S )Nz-infrZ   r   )rZ   r   r   r   rZ   rQ   )r   floatr
   rH   rH   rH   rK   test_dup_degreeb   s
    rd   c                   C   s^   t g gdtu sJ t g ggdtu s*J t dggddks@J t dgdggddksZJ d S NrZ   rO   r   )r   r   rH   rH   rH   rK   test_dmp_degreej   s    rf   c                   C   s8  t g ggddtu sJ t g ggddtu s0J t g ggddtu sHJ t dgggdddksbJ t dgggdddks|J t dgggdddksJ t tdddksJ t tdddksJ t tdddksJ t tdddksJ t tdddksJ t tdddksJ t td	d	d	ks&J ttd
d  d S )Nr   rO   rZ   	         rQ      rP   c                   S   s   t dggddS )NrZ   )r   rH   rH   rH   rK   <lambda>   rM   z$test_dmp_degree_in.<locals>.<lambda>)r   r   f_4f_6rF   
IndexErrorrH   rH   rH   rK   test_dmp_degree_inr   s    rp   c                   C   s   t g gggdt t t t fks(J t dggggddksBJ t tddksTJ t tddksfJ t tddksxJ t tddksJ t tdd	ksJ t tddksJ t tdd
ksJ d S )NrP   rZ   )r   r   r   r   rO   )rO   rO   rO   )rP   rP   rP   )rR   rP   rP   )rR   rQ   r^   )rg   rh   ri   )rQ   rQ   rj   rP   )	r   rG   f_0f_1f_2f_3rm   f_5rn   rH   rH   rH   rK   test_dmp_degree_list   s    (rv   c                   C   s   t g g ksJ t dgg ks"J t g dg ks6J t dgdgksJJ t ddgdgks`J t g ddgksvJ t g dg dksJ t g dg dksJ t g dg dksJ d S )Nr   r   r   r   rZ   )r   r   r   rZ   )rZ   rO   r   )r   rZ   rO   r   )r   r   r   rZ   rO   r   )r   rH   rH   rH   rK   test_dup_strip   s    rx   c                   C   s,  t g ddddgksJ t g gdg gks0J t g g gdg gksHJ t g g g gdg gksbJ t g ggdg ggks|J t g gg ggdg ggksJ t g gg gg ggdg ggksJ t dgggddgggksJ t g gdgggddgggksJ t g gdggg ggddggg ggks(J d S )N)r   rZ   r   r   rZ   rO   )r   rH   rH   rH   rK   test_dmp_strip   s    ""ry   c                   C   s   t g g dfksJ t g dddgdfks0J t g ggg ggdfksLJ t dgg dgdgdggdgg gdfksxJ ttdd  d S )Nr   )r   r   r   rZ   r   rZ   rO   c                   S   s   t dgddgdgdggS )Nr   rZ   )r   rH   rH   rH   rK   rl      rM   z#test_dmp_validate.<locals>.<lambda>)r   rF   
ValueErrorrH   rH   rH   rK   test_dmp_validate   s
    ,r{   c                   C   s4   t g dg dksJ t g dg dks0J d S )N)rZ   rO   r   rP   )rP   r   rO   rZ   rZ   rO   rP   r   )rP   rO   rZ   )r   rH   rH   rH   rK   test_dup_reverse   s    r}   c                  C   sH   t dt dt dg} t| }t dt d |d< |d< | |ksDJ d S )NrZ   r   rO   r^   )rB   r   rJ   grH   rH   rK   test_dup_copy   s    r   c                  C   sV   t dgt dt dgg} t| d}t dt d |d d< |d d< | |ksRJ d S )NrZ   rO   r   r^   )rB   r   r~   rH   rH   rK   test_dmp_copy   s    
"r   c                   C   s8   t g dttdtdtdtdtdgks4J d S )N)r   r   rO   rZ   r      r   rO   rZ   r   r   )r   rB   rH   rH   rH   rK   test_dup_normal   s     r   c                   C   sH   t dgg g ddgdgg gdttdtdgg tdgg gksDJ d S )Nr   )r   rO   rZ   r   rZ   rO   )r   rB   rH   rH   rH   rK   test_dmp_normal   s     r   c                  C   sZ   t d t  } }| d| d| d| dg}t|| |t dt dt dt dgksVJ d S )NxrZ   rO   r   rP   )rB   r   ZK0ZK1rJ   rH   rH   rK   test_dup_convert   s
    
r   c                  C   s`   t d t  } }| dg| dgg | dgg}t|d| |t dgt dgg t dggks\J d S )Nr   rZ   rO   rP   )rB   r   r   rH   rH   rK   test_dmp_convert   s
    r   c                   C   sX   t tjtdgttdtdgks(J t tjtdgttddtddgksTJ d S )NrO   rZ   rP   )r   rE   OnerB   HalfrC   rH   rH   rH   rK   test_dup_from_sympy   s    r   c                   C   sl   t tjtdgtjggdttdtdgg gks6J t tjtdggdttddtddggkshJ d S )NrO   rZ   )r   rE   r   ZZerorB   r   rC   rH   rH   rH   rK   test_dmp_from_sympy   s    r   c                   C   sr   t g ddtdksJ t g ddtdks0J t g ddtdksHJ t g ddtdks`J ttdd  d S )	NrZ   rO   rP   r   rP   rZ   rO   rg   c                   S   s   t g ddtS )N)rP   rQ   rR   )r   rB   rH   rH   rH   rK   rl     rM   ztest_dup_nth.<locals>.<lambda>)r   rB   rF   ro   rH   rH   rH   rK   test_dup_nth   s
    r   c                   C   s   t dgdgdggddtdgks$J t dgdgdggddtdgksHJ t dgdgdggddtdgkslJ t dgdgdggddtg ksJ ttdd  d S )NrZ   rO   rP   r   rg   c                   S   s   t dgdgdggddtS )NrP   rQ   rR   r   rZ   )r   rB   rH   rH   rH   rK   rl     rM   ztest_dmp_nth.<locals>.<lambda>)r   rB   rF   ro   rH   rH   rH   rK   test_dmp_nth  s
    $$$"r   c                   C   s   t g gddtdksJ t dgdgdggddtdks:J t dgdgdggddtdks\J t dgdgdggddtdks~J t dgdgdggddtdksJ t dgdgdggd	dtdksJ ttd
d  d S )Nr]   rZ   r   rO   rP   r`   rO   r   rO   rZ   )rP   r   c                   S   s   t dgdgdggddtS )NrP   rQ   rR   )rO   r   rZ   )r   rB   rH   rH   rH   rK   rl     rM   z%test_dmp_ground_nth.<locals>.<lambda>)r   rB   rF   ro   rH   rH   rH   rK   test_dmp_ground_nth  s    """""r   c                   C   sX   t g ddu sJ t g gddu s&J t g ggddu s<J t dgggddu sTJ d S )Nr   TrZ   rO   F)r   rH   rH   rH   rK   test_dmp_zero_p  s    r   c                   C   s(   t dg ksJ t dg ggks$J d S )Nr   rO   )r   rH   rH   rH   rK   test_dmp_zero%  s    r   c                   C   sf   t dgdtdu sJ t dggdtdu s.J t dgggdtdu sHJ t dgggdtdu sbJ d S )NrZ   r   TrO   rh   F)r   rB   rH   rH   rH   rK   test_dmp_one_p*  s    r   c                   C   s8   t dttdgksJ t dttdgggks4J d S )Nr   rZ   rO   )r    rB   rH   rH   rH   rK   test_dmp_one1  s    r   c                   C   sB  t g dddu sJ t g gdddu s*J t g gdddu s@J t tdggdddu s\J t tdgggdddu szJ t tdgggdddu sJ t tdgg ggdddu sJ t g d ddu sJ t g gd ddu sJ t tdgd ddu sJ t tdgggd ddu sJ t tdgg ggd ddu s>J d S )Nr   TrZ   FrO   rP   )r!   rB   rH   rH   rH   rK   test_dmp_ground_p6  s      r   c                   C   st   t tddg ggksJ t tddtdks4J t tddtdgksPJ t tddtdgggkspJ d S )Nr   rO   r^   r   )r"   rB   rH   rH   rH   rK   test_dmp_groundJ  s    r   c                   C   s   t ddtg g g g gksJ t ddtg ks0J t ddtg gggksJJ t ddtg ggg gggksjJ t ddtg ggg ggg gggksJ t ddtg dksJ d S )NrQ   r   rO   rZ   rP   r   rw   )r%   rB   rH   rH   rH   rK   test_dmp_zerosR  s     &r   c                   C   s   t tdddg ksJ t tddddggggks8J t tddddgggdggggks`J t tddddgggdgggdggggksJ t tdddg dksJ d S )Nr^   r   rO   rZ   rP   r   )r^   r^   r^   )r&   rB   rH   rH   rH   rK   test_dmp_grounds]  s
     (0r   c                   C   sX   t g ggdtdu sJ t dgdgggdtdu s6J t dgdgggdtdu sTJ d S )NrO   FrZ   r   T)r#   rB   rH   rH   rH   rK   test_dmp_negative_pg  s    r   c                   C   sX   t g ggdtdu sJ t dgdgggdtdu s6J t dgdgggdtdu sTJ d S )NrO   FrZ   Tr   )r$   rB   rH   rH   rH   rK   test_dmp_positive_pm  s    r   c                  C   s  t i tg ksJ ti tg ks$J tg i ks4J tg i ksDJ tg tdddtdiksbJ tg tdddtdiksJ g d} dddd	}dddd
}t |t| ksJ t|t| ksJ t| |ksJ t| |ksJ tdt\}}}| }|d|d|d|d|d|dg} |d|d|dd}|d|d|dd}t ||| kshJ t||| ks|J t| |ksJ t| |ksJ d S )NTZzeror   r   )	rP   r   r   rO   r   r   r   r   ri   rP   rO   ri   )ri   rR   r   ))ri   rR   r   x,y)rR   rP   r   )r   rP   r   )r(   rB   r'   r*   r)   rD   	to_domain)rJ   r   hRr   yKrH   rH   rK   test_dup_from_to_dicts  s,    (r   c               	   C   s   t i dtg gksJ tg gdi ks*J tg dtdddtdiksJJ tg gdtdddtdikslJ dgg g dgg g g g d	gg	} ddd	d
}t |dt| ksJ t| d|ksJ d S )NrZ   r   Tr   r   r]   rP   rO   ri   ))ri   r   )rR   r   r]   )r+   rB   r,   r~   rH   rH   rK   test_dmp_from_to_dict  s     "r   c                     s   t g dg ddgg dggdt t g dg ddggdt} t dddt ksTJ t dddt| kslJ t| dddt ksJ tt fdd d S )NrZ   r   r   rZ   r   rZ   r   r   r   r   c                      s   t  dddtS )Nr   irZ   )r-   rB   rH   rJ   rH   rK   rl     rM   ztest_dmp_swap.<locals>.<lambda>)r   rB   r-   rF   ro   )r   rH   r   rK   test_dmp_swap  s     r   c                  C   s   t g dg ddgg dggdt} t g dg ddggdt}t| ddgdt| ksVJ t|ddgdt|kspJ t| ddgdt|ksJ t|ddgdt| ksJ d S )Nr   rZ   r   r   )r   rB   r.   r~   rH   rH   rK   test_dmp_permute  s     r   c                   C   s|   t tddtdgggksJ t dggdtdggks:J t dggdtdgggksXJ t dggdtdggggksxJ d S re   )r/   rB   rH   rH   rH   rK   test_dmp_nest  s    r   c                   C   s   t g ddtg ggksJ t dggddtdggks8J t g dg ddggddtdggdggdgggg ggdggdggggksJ d S )NrO   r   rZ   r   rP   )r0   rB   rH   rH   rH   rK   test_dmp_raise  s
    *r   c                   C   s  t g tdg fksJ t dgtddgfks0J t g dtdg dfksNJ t g dtdg dfkslJ t tdddttdg dfksJ t tdddttdddgfksJ t tddd	ttdg d
fksJ t tdddttdg dfksJ t tdddttdg dfks.J t tddittdddgfksTJ t tddittdddgfkszJ t tddittdddgfksJ d S )NrZ   rO   r   rZ   r   rO   r   rP   )r^   rZ   )rZ   r   r   r   r   r   rZ   r   )r^   r   r^   )r^   rP   )rZ   r   r   r   rZ   r   r   r   )r^   rQ   )rZ   r   r   rZ   r   r   r   r   )ri   rQ   rQ   )rZ   rZ   r   ri   r   )r1   rB   r(   rH   rH   rH   rK   test_dup_deflate  s8    











r   c                  C   s   t g gdtdg gfksJ t dggdtddggfks<J g dg ddgg dgg} t | dtdg dddgdggfks|J d S )NrZ   ra   rO   r   r   r   )r2   rB   r   rH   rH   rK   test_dmp_deflate  s     r   c                   C   s   t dgftddgffksJ t g g ftdg g ffks<J t g dftdg dffks^J t g dftdg dffksJ t g dg dftdg dddgffksJ t g dg dftdg dg dffksJ d S )NrO   rZ   r   r   rO   r   r   r   )rO   rZ   r   )r3   rB   rH   rH   rH   rK   test_dup_multi_deflate  s    ""r   c                  C   sJ  t g gfdtdg gffks J t g gg gfdtdg gg gffksHJ t dggg gfdtddggg gffkstJ t dggdggfdtddggdggffksJ t dggddggfdtddggddggffksJ t ddggddggfdtdddggddggffksJ t dggg dgfdtddggddggffksHJ t g dgg dgfdtdddggddggffksJ t g dg dfdtdddgg d	ffksJ g d
g ddgg dgg} g dg dgg}t | fdtdg d
ddgdggffks
J t | |fdtdg d
ddgdggg ddggffksFJ d S )NrZ   ra   rO   r   r   rZ   rO   )rZ   r   rQ   r   rZ   rO   )rZ   rQ   rZ   r   rZ   r   rZ   r   r   )r4   rB   r~   rH   rH   rK   test_dmp_multi_deflate  sR    





r   c                   C   s   t g dtg ksJ t g ddtg dks0J t g ddtg dksLJ t g ddtg dkshJ t g ddtg d	ksJ ttd
d  d S )N   r   rZ   rO   r   rP   )rZ   r   r   rO   r   r   rP   rQ   )	rZ   r   r   r   rO   r   r   r   rP   c                   S   s   t g ddtS )Nr   r   )r5   rB   rH   rH   rH   rK   rl   %  rM   z"test_dup_inflate.<locals>.<lambda>)r5   rB   rF   ro   rH   rH   rH   rK   test_dup_inflate  s    r   c                   C   s  t dgddtdgksJ t g gddtg gks4J t dggddtdggksRJ t ddggddtddggkstJ t ddggddtg dgksJ t ddggd	dtg d
gksJ t g ddgddggddtg dg dgg ddggksJ ttdd  d S )NrZ   r   r   )rP   r^   rO   r   ra   r   )rZ   rP   rO   r   r   r   r   r   c                   S   s   t g gddtS )N)r^   rZ   )r6   rB   rH   rH   rH   rK   rl   5  rM   z"test_dmp_inflate.<locals>.<lambda>)r6   rB   rF   ro   rH   rH   rH   rK   test_dmp_inflate(  s    """r   c                   C   sP  t g ggdtg g ggdfks"J t dgggdtg dgggdfksHJ t g ddtg g ddfksjJ t dgddggdtg dgddggdfksJ t g dgdtdgg ddfksJ t dgdgdggdtdgg ddfksJ t g dggdtddgg ddfksJ t dggdggdgggdtddgg ddfksLJ d S )NrO   r^   r   r   rZ   rP   )r7   rB   rH   rH   rH   rK   test_dmp_exclude8  s    "&".&,,r   c                   C   s   t g dg dtg dksJ t g ddgdtg dgks@J t g ddgdtdgdgdggkshJ t g dddgdtg dggksJ t g dddgdtdggdggdgggksJ d S )Nr   r   rZ   rO   rP   )r8   rB   rH   rH   rH   rK   test_dmp_includeF  s
    "(&r   c                  C   sn  t dt\} }}|  }tg d|g ggdfks4J tg gd|g gggdfksTJ t| dgd|dgggdfksxJ t| dggd|dggggdfksJ t| dd| d|  d gd|dggdgddgggdfksJ d|d  d| |  d|d   d| | d||d  d	 g}dgddgg d
gdgg gg gg dd	ggg}t|d||dfksjJ d S )Nr   r   rO   rZ   rP   rQ   r^   rR   r   rR   r   r   r   )rD   rB   r   r9   r   r   r   r   rJ   r   rH   rH   rK   test_dmp_injectP  s     $(B@.r   c                  C   sV  t dt\} }}|  }tg ggd|g ks0J tg gggd|g gksLJ tdgggd|| dgkslJ tdggggd|| dggksJ tdggdgddgggd|| dd| d|  d gksJ d|d  d| |  d|d   d| | d||d  d	 g}dgddgg d
gdgg gg gg dd	ggg}t|d||ksRJ d S )Nr   rO   rP   rZ   rQ   r^   rR   r   r   r   r   )rD   rB   r   r:   r   rH   rH   rK   test_dmp_ejectb  s     $>@.r   c                   C   sV   t g tdg fksJ t g dtdg dfks4J t g dtdg dfksRJ d S )Nr   rZ   r   rZ   r   rZ   )r;   rB   rH   rH   rH   rK   test_dup_terms_gcdt  s    r   c                   C   s   t g gdtdg gfksJ t g ddtdg dfks<J t dgg dgg gdtddgg dggfksjJ t ddgg dggdtdddgg dggfksJ t ddgg dg g gdtd	dgddggfksJ d S )
NrZ   r]   r   r   rZ   r   r`   r   r   )r<   rB   rH   rH   rH   rK   test_dmp_terms_gcdz  s     .r   c                  C   s  t g ggdtdgksJ t dgggdtdgks6J t g ddtg dksRJ t dgddgg d	gdtg d
kszJ g dg dg g} t | dtddddgksJ t | dtddddgksJ g dg dg g} t | dtddddgksJ t | dtddddgksJ d S )NrO   )rw   r   rZ   )rw   rZ   )rZ   rO   rQ   rP   rR   r   )))rQ   rZ   )r   rO   )r   rQ   )r   rP   )r   rR   rQ   )rP   rR   r   ))r   rZ   )ra   rO   )r`   rQ   ))r   rO   rP   )r_   rR   r   r   lex)order))rO   rP   rO   )r   rZ   Zgrlex)rZ   r   r   r   r   r   ))rZ   rR   rZ   )r=   rB   r   rH   rH   rK   test_dmp_list_terms  s,    r   c                  C   s$  dd } t g dg d| g dtg dks.J t ddgg d| g dtd	d
gksTJ t g dddg| g dtd	d
gkszJ t ddgdggddgdgg| g dtdd	gd
ggksJ t ddgdggdgddgg| g dtdgd
ggksJ t dgddggddgdgg| g dtdgd
ggks J d S )Nc                 S   s   | | S )NrH   )abrH   rH   rK   rl     rM   z&test_dmp_apply_pairs.<locals>.<lambda>r   )rQ   rR   rj   r   )rQ   
      rO   rP   r   r   rR   rj   rZ   rQ   ri   )r>   rB   )r   rH   rH   rK   test_dmp_apply_pairs  s&    &&&  
 
r   c                  C   st  g d} t | ddtg ksJ t | ddtdgks6J t | ddtddgksPJ t | ddtg dksjJ t | ddtg dksJ t | ddt| ksJ t | ddt| ksJ t | ddtg ksJ t | ddtg ksJ t | ddtddgksJ t | ddtg d	ksJ t | ddtg d
ks.J t ddgddtddgksNJ g d}t |ddtdgkspJ d S )N)rZ   rO   rP   rQ   r   rZ   rQ   rO   rP   rV   rg   )rO   rP   r   r|   )rZ   r   r   rO   )r?   rB   r~   rH   rH   rK   test_dup_slice  s      r   c                  C   s   t dddt} t| dksJ tdd | D s4J t dddt} t| dksRJ td	d | D shJ t d
ddt} t| d
ksJ tdd | D sJ t dddt} t| dksJ tdd | D sJ d S )Nr   r   c                 s   s&   | ]}d |  kodkn  V  qdS )r   r   NrH   rI   crH   rH   rK   	<genexpr>  rM   z"test_dup_random.<locals>.<genexpr>rZ      c                 s   s&   | ]}d |  kodkn  V  qdS )r   r   NrH   r   rH   rH   rK   r     rM   rO      c                 s   s&   | ]}d |  kodkn  V  qdS )r   r   NrH   r   rH   rH   rK   r     rM   rP   (   c                 s   s&   | ]}d |  kodkn  V  qdS )r   r   NrH   r   rH   rH   rK   r     rM   )r@   rB   r
   allr   rH   rH   rK   test_dup_random  s    r   N)__doc__Zsympy.polys.densebasicr   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&   r'   r(   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   r4   r5   r6   r7   r8   r9   r:   r;   r<   r=   r>   r?   r@   Zsympy.polys.specialpolysrA   Zsympy.polys.domainsrB   rC   Zsympy.polys.ringsrD   Zsympy.core.singletonrE   Zsympy.testing.pytestrF   Zsympy.core.numbersrG   rq   rr   rs   rt   rm   ru   rn   rS   rT   rW   rX   r[   r\   rb   rd   rf   rp   rv   rx   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   r   r   r   r   r   r   r   r   r   r   r   r   r   rH   rH   rH   rK   <module>   s    %	
				


"	#
