o
    8VaS                     @   sB  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? ddl@mAZA ddlBmCZCmDZD ddlEmFZF ddlGmHZH ddlImJZJ ddlKmLZL d	d
 eA D \ZMZNZOZPZQZRZSd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'd( Zbd)d* Zcd+d, Zdd-d. Zed/d0 Zfd1d2 Zgd3d4 Zhd5d6 Zid7d8 Zjd9d: Zkd;d< Zld=d> Zmd?d@ ZndAdB ZodCdD ZpdEdF ZqdGdH ZrdIdJ ZsdKdL ZtdMdN ZudOdP ZvdQdR ZwdSdT ZxdUdV ZydWdX ZzdYdZ Z{d[d\ Z|d]d^ Z}d_d` Z~dadb Zdcdd Zdedf Zdgdh Zdidj Zdkdl Zdmdn Zdodp Zdqdr Zdsdt Zdudv Zdwdx Zdydz Zd{d| Zd}d~ ZdS )z4Tests for dense recursive polynomials' basic tools.     )>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frG   rG   C/usr/lib/python3/dist-packages/sympy/polys/tests/test_densebasic.py
<listcomp>0   s    rK   c                   C   ,   t g tdks	J t g dtdksJ d S )Nr               rN   )r   rA   rG   rG   rG   rJ   test_dup_LC2      rR   c                   C   rL   )Nr   rM   rQ   )r   rA   rG   rG   rG   rJ   test_dup_TC7   rS   rT   c                   C   s~   t g gtg ks
J t g ddggtg dksJ t g ggtg gks&J t dgddggdgggtdgddggks=J d S NrN   rO   rP   rQ   rN   rO   rP   )r   rA   rG   rG   rG   rJ   test_dmp_LC<   s    2rW   c                   C   sv   t g gtg ks
J t g ddggtdgksJ t g ggtg gks%J t dgddggdgggtdggks9J d S rU   )r   rA   rG   rG   rG   rJ   test_dmp_TCC   s   ,rX   c                   C   sv   t g gdtdksJ t g ddggdtdksJ t g ggdtdks&J t dgddggdgggdtdks9J d S N   r   rV   rQ   rN   rO   rP   )r   rA   rG   rG   rG   rJ   test_dmp_ground_LCJ      *r[   c                   C   sv   t g gdtdksJ t g ddggdtdksJ t g ggdtdks&J t dgddggdgggdtdks9J d S rY   )r   rA   rG   rG   rG   rJ   test_dmp_ground_TCQ   r\   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s$J t dgg gdtdks1J 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   rA   rG   rG   rG   rJ   test_dmp_true_LTX   s
    rc   c                   C   sP   t g t u s	J t dgdksJ t ddgdksJ t g ddks&J d S )NrZ   r   )rZ   r   r   r   rZ   rP   )r	   rF   rG   rG   rG   rJ   test_dup_degreea   s   rd   c                   C   sb   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s/J d S NrZ   rN   r   )r
   rF   rG   rG   rG   rJ   test_dmp_degreeh   s   rf   c                   C   s:  t g ggddt u sJ t g ggddt u sJ t g ggddt u s'J t dgggdddks4J t dgggdddksAJ t dgggdddksNJ t tdddksXJ t tdddksbJ t tdddkslJ t tdddksvJ 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 S )Nr   rN   rZ   	         rP      rO   c                   S   s   t dggddS )NrZ   )r   rG   rG   rG   rJ   <lambda>       z$test_dmp_degree_in.<locals>.<lambda>)r   rF   f_4f_6rE   
IndexErrorrG   rG   rG   rJ   test_dmp_degree_inp   s   rq   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s!J t tddks*J t tddks3J t tddks<J t tddksEJ t tdd	ksNJ t tddksWJ t tdd
ks`J d S )NrO   rZ   )r   r   r   r   rN   )rN   rN   rN   )rO   rO   rO   )rQ   rO   rO   )rQ   rP   r_   )rg   rh   ri   )rP   rP   rj   rO   )	r   rF   f_0f_1f_2f_3rn   f_5ro   rG   rG   rG   rJ   test_dmp_degree_list   s   (rw   c                   C   s   t g g ksJ t dgg ksJ t g dg ksJ t dgdgks%J t ddgdgks0J t g ddgks;J t g dg dksGJ t g dg dksSJ t g dg dks_J d S )Nr   r   r   r   rZ   )r   r   r   rZ   )rZ   rN   r   )r   rZ   rN   r   )r   r   r   rZ   rN   r   )r   rG   rG   rG   rJ   test_dup_strip   s   ry   c                   C   s*  t g ddddgksJ t g gdg gksJ t g g gdg gks$J t g g g gdg gks1J t g ggdg ggks>J t g gg ggdg ggksMJ t g gg gg ggdg ggks^J t dgggddgggksmJ t g gdgggddgggks~J t g gdggg ggddggg ggksJ d S )N)r   rZ   r   r   rZ   rN   )r   rG   rG   rG   rJ   test_dmp_strip   s   "".rz   c                   C   s   t g g dfks
J t g dddgdfksJ t g ggg ggdfks&J t dgg dgdgdggdgg gdfks<J ttdd  d S )Nr   )r   r   r   rZ   r   rZ   rN   c                   S   s   t dgddgdgdggS )Nr   rZ   )r   rG   rG   rG   rJ   rl          z#test_dmp_validate.<locals>.<lambda>)r   rE   
ValueErrorrG   rG   rG   rJ   test_dmp_validate   s
   ,r}   c                   C   s4   t g dg dksJ t g dg dksJ d S )N)rZ   rN   r   rO   )rO   r   rN   rZ   rZ   rN   rO   r   )rO   rN   rZ   )r   rG   rG   rG   rJ   test_dup_reverse   s   r   c                  C   sH   t dt dt dg} t| }t dt d|d< |d< | |ks"J d S )NrZ   r   rN   r_   )rA   r   rI   grG   rG   rJ   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s)J d S )NrZ   rN   r   r_   )rA   r   r   rG   rG   rJ   test_dmp_copy   s   
"r   c                   C   s8   t g dttdtdtdtdtdgksJ d S )N)r   r   rN   rZ   r      r   rN   rZ   r   r   )r   rA   rG   rG   rG   rJ   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s"J d S )Nr   )r   rN   rZ   r   rZ   rN   )r   rA   rG   rG   rG   rJ   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s+J d S )NxrZ   rN   r   rO   )rA   r   ZK0ZK1rI   rG   rG   rJ   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   rN   rO   )rA   r   r   rG   rG   rJ   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s*J d S )NrN   rZ   rO   )r   rD   OnerA   HalfrB   rG   rG   rG   rJ   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sJ t tjtdggdttddtddggks4J d S )NrN   rZ   )r   rD   r   ZZerorA   r   rB   rG   rG   rG   rJ   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sJ t g ddtdks$J t g ddtdks0J ttdd  d S )	NrZ   rN   rO   r   rO   rZ   rN   rg   c                   S      t g ddtS )N)rO   rP   rQ   )r   rA   rG   rG   rG   rJ   rl     rm   ztest_dup_nth.<locals>.<lambda>)r   rA   rE   rp   rG   rG   rG   rJ   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s$J t dgdgdggddtdgks6J t dgdgdggddtg ksGJ ttdd  d S )NrZ   rN   rO   r   rg   c                   S      t dgdgdggddtS )NrO   rP   rQ   r   rZ   )r   rA   rG   rG   rG   rJ   rl     r{   ztest_dmp_nth.<locals>.<lambda>)r   rA   rE   rp   rG   rG   rG   rJ   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sPJ t dgdgdggd	dtdksaJ ttd
d  d S )Nr^   rZ   r   rN   rO   ra   rN   r   rN   rZ   )rO   r   c                   S   r   )NrO   rP   rQ   )rN   r   rZ   )r   rA   rG   rG   rG   rJ   rl     r{   z%test_dmp_ground_nth.<locals>.<lambda>)r   rA   rE   rp   rG   rG   rG   rJ   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 s*J d S )Nr   TrZ   rN   F)r   rG   rG   rG   rJ   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   rN   )r   rG   rG   rG   rJ   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 s$J t dgggdtdu s1J d S )NrZ   r   TrN   rh   F)r   rA   rG   rG   rG   rJ   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sJ d S )Nr   rZ   rN   )r   rA   rG   rG   rG   rJ   test_dmp_one/  s    r   c                   C   s>  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 s=J t tdgggdddu sLJ t tdgg ggdddu s\J t g d ddu sfJ t g gd ddu sqJ t tdgd ddu s~J t tdgggd ddu sJ t tdgg ggd ddu sJ d S )Nr   TrZ   FrN   rO   )r    rA   rG   rG   rG   rJ   test_dmp_ground_p4  s    $r   c                   C   st   t tddg ggksJ t tddtdksJ t tddtdgks(J t tddtdgggks8J d S )Nr   rN   r_   r   )r!   rA   rG   rG   rG   rJ   test_dmp_groundH  s   $r   c                   C   s   t ddtg g g g gksJ t ddtg ksJ t ddtg gggks%J t ddtg ggg gggks5J t ddtg ggg ggg gggksHJ t ddtg dksTJ d S )NrP   r   rN   rZ   rO   r   rx   )r$   rA   rG   rG   rG   rJ   test_dmp_zerosP  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sJ t tddddgggdggggks0J t tddddgggdgggdggggksHJ t tdddg dksVJ d S )Nr_   r   rN   rZ   rO   r   )r_   r_   r_   )r%   rA   rG   rG   rG   rJ   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 sJ t dgdgggdtdu s*J d S )NrN   FrZ   r   T)r"   rA   rG   rG   rG   rJ   test_dmp_negative_pe     "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 sJ t dgdgggdtdu s*J d S )NrN   FrZ   Tr   )r#   rA   rG   rG   rG   rJ   test_dmp_positive_pk  r   r   c                  C   s  t i tg ks	J ti tg ksJ tg i ksJ tg i ks"J tg tdddtdiks1J tg tdddtdiks@J g d} dddd	}dddd
}t |t| ksYJ t|t| ksbJ t| |ksjJ t| |ksrJ tdt\}}}| }|d|d|d|d|d|dg} |d|d|dd}|d|d|dd}t ||| ksJ t||| ksJ t| |ksJ t| |ksJ d S )NTZzeror   r   )	rO   r   r   rN   r   r   r   r   ri   rO   rN   ri   )ri   rQ   r   ))ri   rQ   r   x,y)rQ   rO   r   )r   rO   r   )r'   rA   r&   r)   r(   rC   	to_domain)rI   r   hRr   yKrG   rG   rJ   test_dup_from_to_dictq  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s%J tg gdtdddtdiks6J dgg g dgg g g g d	gg	} ddd	d
}t |dt| ksTJ t| d|ks]J d S )NrZ   r   Tr   r   r^   rO   rN   ri   ))ri   r   )rQ   r   r^   )r*   rA   r+   r   rG   rG   rJ   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s*J t dddt| ks6J t| dddt ksBJ 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,   rA   rG   rI   rG   rJ   rl     rm   ztest_dmp_swap.<locals>.<lambda>)r   rA   r,   rE   rp   )r   rG   r   rJ   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s+J t|ddgdt|ks8J t| ddgdt|ksEJ t|ddgdt| ksRJ d S )Nr   rZ   r   r   )r   rA   r-   r   rG   rG   rJ   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s,J t dggdtdggggks<J d S re   )r.   rA   rG   rG   rG   rJ   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sJ 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sBJ d S )NrN   r   rZ   r   rO   )r/   rA   rG   rG   rG   rJ   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sJ t g dtdg dfks'J t g dtdg dfks6J t tdddttdg dfksIJ t tdddttdddgfks\J t tddd	ttdg d
fksoJ 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sJ t tddittdddgfksJ t tddittdddgfksJ t tddittdddgfksJ d S )NrZ   rN   r   rZ   r   rN   r   rO   )r_   rZ   )rZ   r   r   r   r   r   rZ   r   )r_   r   r_   )r_   rO   )rZ   r   r   r   rZ   r   r   r   )r_   rP   )rZ   r   r   rZ   r   r   r   r   )ri   rP   rP   )rZ   rZ   r   ri   r   )r0   rA   r'   rG   rG   rG   rJ   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   rb   rN   r   r   r   )r1   rA   r   rG   rG   rJ   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s@J t g dg dftdg dddgffksWJ t g dg dftdg dg dffksnJ d S )NrN   rZ   r   r   rN   r   r   r   )rN   rZ   r   )r2   rA   rG   rG   rG   rJ   test_dup_multi_deflate  s   ""r   c                  C   sB  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s$J t dggg gfdtddggg gffks:J t dggdggfdtddggdggffksRJ t dggddggfdtddggddggffkslJ t ddggddggfdtdddggddggffksJ t dggg dgfdtddggddggffksJ 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sJ d S )NrZ   rb   rN   r   r   rZ   rN   )rZ   r   rP   r   rZ   rN   )rZ   rP   rZ   r   rZ   r   rZ   r   r   )r3   rA   r   rG   rG   rJ   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sJ t g ddtg dks&J t g ddtg dks4J t g ddtg d	ksBJ ttd
d  d S )N   r   rZ   rN   r   rO   )rZ   r   r   rN   r   r   rO   rP   )	rZ   r   r   r   rN   r   r   r   rO   c                   S   r   )Nr   r   )r4   rA   rG   rG   rG   rJ   rl   #  rm   z"test_dup_inflate.<locals>.<lambda>)r4   rA   rE   rp   rG   rG   rG   rJ   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sJ t dggddtdggks)J t ddggddtddggks:J t ddggddtg dgksKJ t ddggd	dtg d
gks\J t g ddgddggddtg dg dgg ddggksyJ ttdd  d S )NrZ   r   r   )rO   r_   rN   r   rb   r   )rZ   rO   rN   r   r   r   r   r   c                   S   s   t g gddtS )N)r_   rZ   )r5   rA   rG   rG   rG   rJ   rl   3  rm   z"test_dmp_inflate.<locals>.<lambda>)r5   rA   rE   rp   rG   rG   rG   rJ   test_dmp_inflate&  s   """r   c                   C   sL  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s$J t g ddtg g ddfks5J t dgddggdtg dgddggdfksLJ t g dgdtdgg ddfks_J t dgdgdggdtdgg ddfksuJ t g dggdtddgg ddfksJ t dggdggdgggdtddgg ddfksJ d S )NrN   r_   r   r   rZ   rO   )r6   rA   rG   rG   rG   rJ   test_dmp_exclude6  s   "&".&,*8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s4J t g dddgdtg dggksGJ t g dddgdtdggdggdgggks_J d S )Nr   r   rZ   rN   rO   )r7   rA   rG   rG   rG   rJ   test_dmp_includeD  s
   "(&4r   c                  C   sl  t dt\} }}|  }tg d|g ggdfksJ tg gd|g gggdfks*J t| dgd|dgggdfks<J t| dggd|dggggdfksPJ t| dd| d|  d gd|dggdgddgggdfksqJ 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sJ d S )Nr   r   rN   rZ   rO   rP   r_   rQ   r   rQ   r   r   r   )rC   rA   r   r8   r   r   r   r   rI   r   rG   rG   rJ   test_dmp_injectN  s    $(B@.r   c                  C   sT  t dt\} }}|  }tg ggd|g ksJ tg gggd|g gks&J tdgggd|| dgks6J tdggggd|| dggksHJ tdggdgddgggd|| dd| d|  d gksgJ 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sJ d S )Nr   rN   rO   rZ   rP   r_   rQ   r   r   r   r   )rC   rA   r   r9   r   rG   rG   rJ   test_dmp_eject`  s    $>@.r   c                   C   sV   t g tdg fksJ t g dtdg dfksJ t g dtdg dfks)J d S )Nr   rZ   r   rZ   r   rZ   )r:   rA   rG   rG   rG   rJ   test_dup_terms_gcdr  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s5J t ddgg dggdtdddgg dggfksMJ t ddgg dg g gdtd	dgddggfksfJ d S )
NrZ   r^   r   r   rZ   r   ra   r   r   )r;   rA   rG   rG   rG   rJ   test_dmp_terms_gcdx  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sJ t g ddtg dks)J t dgddgg d	gdtg d
ks=J g dg dg g} t | dtddddgksTJ t | dtddddgksbJ g dg dg g} t | dtddddgksyJ t | dtddddgksJ d S )NrN   )rx   r   rZ   )rx   rZ   )rZ   rN   rP   rO   rQ   r   )))rP   rZ   )r   rN   )r   rP   )r   rO   )r   rQ   rP   )rO   rQ   r   ))r   rZ   )rb   rN   )ra   rP   ))r   rN   rO   )r`   rQ   r   r   Zlex)Zorder))rN   rO   rN   )r   rZ   Zgrlex)rZ   r   r   r   r   r   ))rZ   rQ   rZ   )r<   rA   r   rG   rG   rJ   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s*J t g dddg| g dtd	d
gks=J t ddgdggddgdgg| g dtdd	gd
ggksYJ t ddgdggdgddgg| g dtdgd
ggkstJ t dgddggddgdgg| g dtdgd
ggksJ d S )Nc                 S   s   | | S )NrG   )abrG   rG   rJ   rl     s    z&test_dmp_apply_pairs.<locals>.<lambda>r   )rP   rQ   rj   r   )rP   
      rN   rO   r   r   rQ   rj   rZ   rP   ri   )r=   rA   )r   rG   rG   rJ   test_dmp_apply_pairs  s&   &&&  
 
r   c                  C   sL  g d} t | ddtg ksJ t | ddtdgksJ t | ddtddgks(J t | ddtg dks5J t | ddtg dksBJ t | ddt| ksMJ t | ddt| ksXJ t | ddtg kscJ t | ddtg ksnJ t | ddtddgks{J t | ddtg d	ksJ t | ddtg d
ksJ t ddgddtddgksJ d S )N)rZ   rN   rO   rP   r   rZ   rP   rN   rO   rV   rg   )rN   rO   r   r~   )r>   rA   r   rG   rG   rJ   test_dup_slice  s   "r   c                  C   s   t dddt} t| dksJ tdd | D sJ t dddt} t| dks)J td	d | D s4J t d
ddt} t| d
ksCJ tdd | D sNJ t dddt} t| dks]J tdd | D shJ d S )Nr   r   c                 s   (    | ]}d |  kodkn  V  qdS )r   r   NrG   rH   crG   rG   rJ   	<genexpr>     & z"test_dup_random.<locals>.<genexpr>rZ      c                 s   r   )r   r   NrG   r   rG   rG   rJ   r     r   rN      c                 s   r   )r   r   NrG   r   rG   rG   rJ   r     r   rO   (   c                 s   r   )r   r   NrG   r   rG   rG   rJ   r     r   )r?   rA   r	   allr   rG   rG   rJ   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?   Zsympy.polys.specialpolysr@   Zsympy.polys.domainsrA   rB   Zsympy.polys.ringsrC   Zsympy.core.singletonrD   Zsympy.testing.pytestrE   ZsympyrF   rr   rs   rt   ru   rn   rv   ro   rR   rT   rW   rX   r[   r]   rc   rd   rf   rq   rw   ry   rz   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   rG   rG   rG   rJ   <module>   s     $	
				


"	#
