a
    <bS                     @   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   q/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/sympy/polys/tests/test_densebasic.py
<listcomp>0       rK   c                   C   s,   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   s    rR   c                   C   s,   t g tdksJ t g dtdks(J d S )Nr   rM   rQ   )r   rA   rG   rG   rG   rJ   test_dup_TC7   s    rS   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rN   rO   rP   rQ   rN   rO   rP   )r   rA   rG   rG   rG   rJ   test_dmp_LC<   s     rV   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 rT   )r   rA   rG   rG   rG   rJ   test_dmp_TCC   s    rW   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   rU   rQ   rN   rO   rP   )r   rA   rG   rG   rG   rJ   test_dmp_ground_LCJ   s    rZ   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 rX   )r   rA   rG   rG   rG   rJ   test_dmp_ground_TCQ   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 )	NrY   )r   r   r      )r\   r]   r   )r   rY   rY   )rY   r   rY   )rY   rY   rY   )r   rA   rG   rG   rG   rJ   test_dmp_true_LTX   s
    ra   c                   C   sP   t g t u sJ t dgdks$J t ddgdks8J t g ddksLJ d S )NrY   r   )rY   r   r   r   rY   rP   )r	   rF   rG   rG   rG   rJ   test_dup_degreea   s    rb   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sDJ t dgdggddks^J d S NrY   rN   r   )r
   rF   rG   rG   rG   rJ   test_dmp_degreeh   s    rd   c                   C   s@  t g ggddt u sJ t g ggddt u s4J t g ggddt u sNJ t dgggdddkshJ t dgggdddksJ 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sJ t tdddksJ t td	d	d	ks.J ttd
d  d S )Nr   rN   rY   	         rP      rO   c                   S   s   t dggddS )NrY   )r   rG   rG   rG   rJ   <lambda>   rL   z$test_dmp_degree_in.<locals>.<lambda>)r   rF   f_4f_6rE   
IndexErrorrG   rG   rG   rJ   test_dmp_degree_inp   s    rn   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 )NrO   rY   )r   r   r   r   rN   )rN   rN   rN   )rO   rO   rO   )rQ   rO   rO   )rQ   rP   r]   )re   rf   rg   )rP   rP   rh   rO   )	r   rF   f_0f_1f_2f_3rk   f_5rl   rG   rG   rG   rJ   test_dmp_degree_list   s    (rt   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   rY   )r   r   r   rY   )rY   rN   r   )r   rY   rN   r   )r   r   r   rY   rN   r   )r   rG   rG   rG   rJ   test_dup_strip   s    rv   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   rY   r   r   rY   rN   )r   rG   rG   rG   rJ   test_dmp_strip   s    ""rw   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   rY   r   rY   rN   c                   S   s   t dgddgdgdggS )Nr   rY   )r   rG   rG   rG   rJ   rj      rL   z#test_dmp_validate.<locals>.<lambda>)r   rE   
ValueErrorrG   rG   rG   rJ   test_dmp_validate   s
    ,ry   c                   C   s4   t g dg dksJ t g dg dks0J d S )N)rY   rN   r   rO   )rO   r   rN   rY   rY   rN   rO   r   )rO   rN   rY   )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sDJ d S )NrY   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sRJ d S )NrY   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s4J d S )N)r   r   rN   rY   r      r   rN   rY   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sDJ d S )Nr   )r   rN   rY   r   rY   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sVJ d S )NxrY   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   rY   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sTJ d S )NrN   rY   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s6J t tjtdggdttddtddggkshJ d S )NrN   rY   )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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rY   rN   rO   r   rO   rY   rN   re   c                   S   s   t g ddtS )N)rO   rP   rQ   )r   rA   rG   rG   rG   rJ   rj     rL   ztest_dup_nth.<locals>.<lambda>)r   rA   rE   rm   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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 )NrY   rN   rO   r   re   c                   S   s   t dgdgdggddtS )NrO   rP   rQ   r   rY   )r   rA   rG   rG   rG   rJ   rj     rL   ztest_dmp_nth.<locals>.<lambda>)r   rA   rE   rm   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sJ t dgdgdggd	dtdksJ ttd
d  d S )Nr\   rY   r   rN   rO   r_   rN   r   rN   rY   )rO   r   c                   S   s   t dgdgdggddtS )NrO   rP   rQ   )rN   r   rY   )r   rA   rG   rG   rG   rJ   rj     rL   z%test_dmp_ground_nth.<locals>.<lambda>)r   rA   rE   rm   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 sTJ d S )Nr   TrY   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 sHJ t dgggdtdu sbJ d S )NrY   r   TrN   rf   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s4J d S )Nr   rY   rN   )r   rA   rG   rG   rG   rJ   test_dmp_one/  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   TrY   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s4J t tddtdgksPJ t tddtdgggkspJ 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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 )NrP   r   rN   rY   rO   r   ru   )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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   rN   rY   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 s6J t dgdgggdtdu sTJ d S )NrN   FrY   r   T)r"   rA   rG   rG   rG   rJ   test_dmp_negative_pe  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 )NrN   FrY   Tr   )r#   rA   rG   rG   rG   rJ   test_dmp_positive_pk  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   )	rO   r   r   rN   r   r   r   r   rg   rO   rN   rg   )rg   rQ   r   ))rg   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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 )NrY   r   Tr   r   r\   rO   rN   rg   ))rg   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sTJ t dddt| kslJ t| dddt ksJ tt fdd d S )NrY   r   r   rY   r   rY   r   r   r   r   c                      s   t  dddtS )Nr   irY   )r,   rA   rG   rI   rG   rJ   rj     rL   ztest_dmp_swap.<locals>.<lambda>)r   rA   r,   rE   rm   )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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   rY   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sXJ t dggdtdggggksxJ d S rc   )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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 )NrN   r   rY   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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 )NrY   rN   r   rY   r   rN   r   rO   )r]   rY   )rY   r   r   r   r   r   rY   r   )r]   r   r]   )r]   rO   )rY   r   r   r   rY   r   r   r   )r]   rP   )rY   r   r   rY   r   r   r   r   )rg   rP   rP   )rY   rY   r   rg   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 )NrY   r`   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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 )NrN   rY   r   r   rN   r   r   r   )rN   rY   r   )r2   rA   rG   rG   rG   rJ   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 )NrY   r`   rN   r   r   rY   rN   )rY   r   rP   r   rY   rN   )rY   rP   rY   r   rY   r   rY   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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   rY   rN   r   rO   )rY   r   r   rN   r   r   rO   rP   )	rY   r   r   r   rN   r   r   r   rO   c                   S   s   t g ddtS )Nr   r   )r4   rA   rG   rG   rG   rJ   rj   #  rL   z"test_dup_inflate.<locals>.<lambda>)r4   rA   rE   rm   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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 )NrY   r   r   )rO   r]   rN   r   r`   r   )rY   rO   rN   r   r   r   r   r   c                   S   s   t g gddtS )N)r]   rY   )r5   rA   rG   rG   rG   rJ   rj   3  rL   z"test_dmp_inflate.<locals>.<lambda>)r5   rA   rE   rm   rG   rG   rG   rJ   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 )NrN   r]   r   r   rY   rO   )r6   rA   rG   rG   rG   rJ   test_dmp_exclude6  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   rY   rN   rO   )r7   rA   rG   rG   rG   rJ   test_dmp_includeD  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   rN   rY   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   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   rN   rO   rY   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s4J t g dtdg dfksRJ d S )Nr   rY   r   rY   r   rY   )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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 )
NrY   r\   r   r   rY   r   r_   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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 )NrN   )ru   r   rY   )ru   rY   )rY   rN   rP   rO   rQ   r   )))rP   rY   )r   rN   )r   rP   )r   rO   )r   rQ   rP   )rO   rQ   r   ))r   rY   )r`   rN   )r_   rP   ))r   rN   rO   )r^   rQ   r   r   lex)order))rN   rO   rN   )r   rY   Zgrlex)rY   r   r   r   r   r   ))rY   rQ   rY   )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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 )NrG   )abrG   rG   rJ   rj     rL   z&test_dmp_apply_pairs.<locals>.<lambda>r   )rP   rQ   rh   r   )rP   
      rN   rO   r   r   rQ   rh   rY   rP   rg   )r=   rA   )r   rG   rG   rJ   test_dmp_apply_pairs  s&    &&&  
 
r   c                  C   sR  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 d S )N)rY   rN   rO   rP   r   rY   rP   rN   rO   rU   re   )rN   rO   r   rz   )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 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   NrG   rH   crG   rG   rJ   	<genexpr>  rL   z"test_dup_random.<locals>.<genexpr>rY      c                 s   s&   | ]}d |  kodkn  V  qdS )r   r   NrG   r   rG   rG   rJ   r     rL   rN      c                 s   s&   | ]}d |  kodkn  V  qdS )r   r   NrG   r   rG   rG   rJ   r     rL   rO   (   c                 s   s&   | ]}d |  kodkn  V  qdS )r   r   NrG   r   rG   rG   rJ   r     rL   )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sympy.core.numbersrF   ro   rp   rq   rr   rk   rs   rl   rR   rS   rV   rW   rZ   r[   ra   rb   rd   rn   rt   rv   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   r   r   r   r   r   r   r   r   r   r   r   r   rG   rG   rG   rJ   <module>   s    $	
				


"	#
