o
    ą8VaY_  ć                   @   s  d Z ddlmZmZ ddlmZmZmZmZm	Z	m
Z
mZ ddlmZ ddlmZ ddlmZ ddlmZmZ ddlmZmZmZmZ dd	lmZmZ e \ZZZ Z!Z"Z#Z$e \Z%Z&d
d Z'dd Z(dd Z)dd Z*dd Z+dd Z,dd Z-dd Z.dd Z/dd Z0dd Z1d d! Z2ed"d# Z3d$d% Z4d&d' Z5d(d) Z6d*d+ Z7d,d- Z8d.d/ Z9d0d1 Z:d2d3 Z;d4d5 Z<d6d7 Z=d8d9 Z>d:d; Z?d<S )=zDTools for polynomial factorization routines in characteristic zero. é    )ŚringŚxring)ŚFFŚZZŚQQŚZZ_IŚQQ_IŚRRŚEX)Ś
polyconfig)ŚDomainError)ŚANP)Śf_polysŚw_polys)Ś	nextprimeŚsinŚsqrtŚI)ŚraisesŚXFAILc                  C   sz   t dt\} }|  |d d|d   d|d   d|d   d	|  d |d
 |d f”|d
 df|d dfgks;J d S )NŚxé   é   é   é   é   é&   é   é   é   )r   r   Zdup_trial_division©ŚRr   © r"   śD/usr/lib/python3/dist-packages/sympy/polys/tests/test_factortools.pyŚtest_dup_trial_division   s   lr$   c                  C   s|   t dt\} }}|  |d d|d   d|d   d|d   d	|  d |d
 |d f”|d
 df|d dfgks<J d S )Nśx,yr   r   r   r   r   r   r   r   r   )r   r   Zdmp_trial_division©r!   r   Śyr"   r"   r#   Śtest_dmp_trial_division   s   lr(   c                  C   sf   t dt\} }|  d|d  d|  d ”dksJ |  |d d|d   d|  d ”d	ks1J d S )
Nr   r   r   r   é   é   é8   é@   é   )r   r   Zdup_zz_mignotte_boundr    r"   r"   r#   Śtest_dup_zz_mignotte_bound   s   &2r.   c                  C   s:   t dt\} }}|  d|d  d|  d ”dksJ d S )Nr%   r   r   r   é    )r   r   Śdmp_zz_mignotte_boundr&   r"   r"   r#   Śtest_dmp_zz_mignotte_bound"   s   *r1   c                  C   sŚ   t dt\} }|d d }|d d|d   | d }|d }d}d|d  d|  d }|  d|||||”\}}}	}
||d d|d   | d ksMJ ||d ksUJ |	d	ks[J |
d
|d  d|  d kskJ d S )Nr   r   r   r   r   éž’’’r   é   r   ių’’’é   )r   r   Zdup_zz_hensel_step)r!   r   ŚfŚgŚhŚsŚtŚGŚHŚSŚTr"   r"   r#   Śtest_dup_zz_hensel_step'   s   $$r>   c                  C   sn   t dt\} }|d d }|d |d |d |d g}|  td||d”|d |d |d |d gks5J d S )Nr   r   r   r   r   é¶   )r   r   Zdup_zz_hensel_lift)r!   r   r5   ŚFr"   r"   r#   Śtest_dup_zz_hensel_lift8   s   ’rA   c                  C   s
  t dt\} }|  d|d  d|d   d|d   d|  d ”d u s&J |  d|d  d|d   d|d   d|  d ”d u sEJ |  d|d  d|d   d|d   d|  d ”d	u sdJ |  d|d  d|d   d|d   d|  d
 ”d	u sJ d S )Nr   r   r   r   r)   r   r3   é
   Tr*   )r   r   Zdup_zz_irreducible_pr    r"   r"   r#   Śtest_dup_zz_irreducible_pB   s
   >>>BrC   c                  C   sŌ  t dt\} }|  |d ”du sJ |  |d ”du sJ |  |d | d ”du s,J |  |d d ”du s9J |  |d |d  |d  | d ”du sPJ |  |d | d ”du s_J |  |d |d  |d  |d  |d  | d ”du s~J |  |d d ”du sJ |  |d |d  d ”du sJ |  d	”d
u s„J |  d”d
u s®J |  |”d
u s·J |  |d ”d
u sĀJ |  d| d ”d
u sĻJ |  |d d ”d
u sÜJ |d |d  |d  |d  |d  |d  d }|  |”d
u s’J |d |d  |d  |d  |d  |d  d }|  |”du s#J t dt\} }|  |d | d ”du s:J |  tdd|d  | d ”d
u sOJ t dtd \} }|  |d | d ”d
u shJ d S )Nr   r   Tr   r   r   r)   r   r   Fé   r*   rB   r   r'   )r   r   Zdup_cyclotomic_pr   )r!   r   r5   r6   r"   r"   r#   Śtest_dup_cyclotomic_pL   s2   .>"44 *$rE   c                  C   s<  t dt\} }|  d”|d ksJ |  d”|d ksJ |  d”|d | d ks,J |  d”|d d ks9J |  d”|d |d  |d  | d ksPJ |  d”|d | d ks_J |  d”|d |d  |d  |d  |d  | d ks~J |  d	”|d d ksJ |  d
”|d |d  d ksJ d S )Nr   r   r   r   r   r   r)   r3   r   é	   )r   r   Zdup_zz_cyclotomic_polyr    r"   r"   r#   Śtest_dup_zz_cyclotomic_polyn   s   .>&rG   c                  C   s¶  t dt\} }|  d”d u sJ |  d”d u sJ |  d|d  d ”d u s(J |  |d d ”d u s5J |  |d |d  d ”d u sFJ |  |d ”|d gksTJ |  |d ”|d gksbJ |  |d d ”|d d gkstJ |  |d d ”|d |d gksJ |  |d d ”|d |d | d |d	 |d  d |d
 |d  d gks°J |  |d d ”|d |d | d |d	 |d  d |d
 |d  d gksŁJ d S )Nr   r   r   r   rB   r   r   é   r)   é   rF   )r   r   Zdup_zz_cyclotomic_factorr    r"   r"   r#   Śtest_dup_zz_cyclotomic_factor|   s    "$&:’:’rJ   c               
   C   sÄ  t dt\} }|  d”dg fksJ |  d”dg fksJ |  d”dg fks(J |  d”dg fks3J |  d”dg fks>J |  d”dg fksIJ |  d| d ”d|d dfgfks]J |  d| d ”d|d gfksoJ |d | d }tddD ]}|  |”d|dfgfksJ q||  |d d|  d ”d|d d|  d dfgfks«J |  d	|d  d
|  d ”dd| d dfgfksĒJ |  d|d  d ”dd| d dfd| d dfgfksęJ |  d|d  d ”dd| d d| d gfksJ |  |d d|d   d|  d ”d|d df|d df|d dfgfks+J |  |d d|d   d|  d ”d|d |d |d gfksNJ |  d|d  d|d   d|  d ”d|d dfd|d  d|  d dfgfks|J |  d|d  d|d   d|  d ”d|d d|d  d|  d gfks¦J |  |d  |d  ”d|d df|d df|df|d d dfgfksĶJ d|d  d|d   d|d   d|d   d|d   d|d   d|d   d }|  |”dd|d  d|d   d|d   d
 dfd|d  d|d   d  dfgfks)J d!|d"  d#|d   d$|d%   d&|d   d'|d   d( }|  |”d)d| d dfd*|d  d|  d dfd+|d  d,|d   d"|d   d|  d dfd-|d  d.|d   d/|d   d|  d dfd-|d  d0|d   d/|d   d1|  d dfgfks“J |d d }t d2d3” |  |”}t d2d4” |  |”}||  krd|d df|d df|d |d  |d  | d df|d |d  |d  | d dfgfksJ  J t d2” |d d }t d2d3” |  |”}t d2d4” |  |”}||  krXd|d d df|d |d  |d  |d  d dfgfks[J  J t d2” d S )5Nr   r   r3   éł’’’r   r   r   é   rI   r4   r   é÷’’’é’’’’r)   é   rB   é   r   é8  r   i@  i3  ič  i°
  i  é   éD  é   rF   éŲ   é   rH   l÷’’’   "@¢]gk|Ū5 r   l     Źjņ=ó7ō;I l    ŁGńjy@Kz
+é   l   ĄLn_2|OH++Ķl   å	#~¶ l   1VÅkńZ lü’’’1VÅkńZ éd   iq  é}   i'  iø  i  iŠ  é   ZUSE_CYCLOTOMIC_FACTORTF)r   r   Zdup_zz_factorŚdup_zz_factor_sqfŚrangeŚconfigZsetup)r!   r   r5   ŚiZF_0ZF_1r"   r"   r#   Śtest_dup_zz_factor   sŌ   ($’’’’
’
’$

ž
’$ž
’(’
’(’
’
ż
’X,’
’

’
ž
ż
üū222ü
’


""ż’


&’’r_   c                      s  t dt\}  }}t dt\}}tt|  t”}|dksJ |dtd}}}|dtd}	}
}|| dtd}}}|| dtd	}}}||	||g}||
||g}||||g}t fd
d|D |}tdtdg}|  t|”}| |”\}}|dkr°||  krÆd|d  d|d   d|d   d|d   d|d   d|  d ks²J  J |  ||td”g d¢ksĮJ | 	|”rŠ| 
|”|  t”ksŅJ | |”\}}d|d  d|  d }d|d  d|  d }d|d  d }||||gksJ  fddd| d|  | |d  |d |d  fD }|  t|||||”t||fks2J |  t||||”}|  |”tksEJ d S ) Nśx,y,zr   é ` r   éņ’’’r   r   iõ’’’iļ’’’c                    ó   g | ]}|   ”qS r"   ©Zdrop)Ś.0r9   ©r   r"   r#   Ś
<listcomp>  ó    z$test_dmp_zz_wang.<locals>.<listcomp>iøŃ r)   i`ų r   iÄŁ  r   i iC  iŁh  i  )r3   r   rO   é   é,   é*   é~   rF   r   é»   é   c                    rc   r"   rd   )re   Zlcrf   r"   r#   rg   "  rh   éü’’’)r   r   r   r0   Św_1ŚzipZdmp_eval_tailZdup_primitiveZdmp_zz_wang_non_divisorsZ	dup_sqf_pZ
dup_degreeZ
dmp_degreer[   Zdmp_zz_wang_lead_coeffsZdmp_zz_wang_hensel_liftingZ
dmp_expand) r!   r'   ŚzŚUVŚ_xŚpZt_1Zk_1Ze_1Zt_2Zk_2Ze_2Zt_3Zk_3Ze_3Zt_4Zk_4Ze_4r=   ŚKŚEŚAr<   Ścsr8   Ś_r;   Zh_1Zh_2Zh_3ZLCŚfactorsr"   rf   r#   Śtest_dmp_zz_wangż   s:   F’":$r|   c                  C   sö  t dt\} }}}t dt\}}tt|  t”}|dksJ d|d  d|  d d|d  d	|  d
 d|d  d g}d|d  | d|d   d| |  d d|d  | d	|  d|  |d |d  d	|d   | d	 g}d|d  | d|d   d| |  d d|d  | d	|  d|  |d |d  d	|d   | d	 g}	d|d  d|d   d|d   d|d   d|  d }
d	|d  |d  d|d  |d   d|d  |d   d|d  |  d|d   d|d  |d   d|d  |d   d|d  |  d|d  |d   d	|d  |d   d|d  |d   d |d  |  d!|d   d"|d  |d   d#|d  |  d| |d   d$| |d   d| |  d%|  d|  }d&|d  |d  d|d  |  d'|d  |d   d(|d  |  d|d   d)|d  |d   d|d  |  d*| |d   d	|  d|  }|  ||
g d|”d+| d,dgksĶJ |  ||td-gd|”| | d+| d.gksęJ |  |	|td-gd|”g d/¢ksłJ d S )0Nr`   r   ra   rj   r   rk   r   rl   rF   r   rm   rn   ro   r4   r   rM   iāėž’r   iē  r   i¢E  iŁ  i§  éJ   é-   él   rS   rI   rU   i*  éü   i   i±  rZ   i  é6   éQ   iÜ’’’rH   é$   r   r)   éż’’’r2   rb   iś’’’)r   r   rN   )r   r   r   r0   rp   Zdmp_zz_diophantine)r!   r   r'   rr   rs   rt   ru   ZH_1ZH_2ZH_3Zc_1Zc_2Zc_3r"   r"   r#   Śtest_dmp_zz_wang_fail*  s   >nn<žJ &2*r   c                  C   sZ   g d¢} t dt\}}}}d|d  ||  | |d  | }|j|| d|gks+J d S )N)rN   rN   r   r   r   r   rN   rN   r   rN   r   rN   r   r   r   r   rN   r   r`   r   )Zseed)r   r   Zdmp_zz_wang)Zrandom_sequencer!   r   r'   rr   r5   r"   r"   r#   Śtest_issue_6355?  s   $r   c                  C   sP  t dt\} }|  d”dg fksJ |  d”dg fksJ |  d”dg fks(J |  |d d ”d|d df|d dfgfksAJ t d	t\} }}|  d”dg fksTJ |  d”dg fks_J |  d”dg fksjJ |  |”d|dfgfksxJ |  d
| ”d
|dfgfksJ |  d
| d ”dd| d dfgfksJ |  || d ”d|| d dfgfks“J |  |d d ”d|d d dfgfksŹJ |  |d d ”d|d df|d dfgfksćJ |  |d |d  d|d  |  d|d   d ”d|| d|  d df|| d|  d dfgfksJ |  |d |d  d ”d|| d df|| d dfgfks=J t dt\} }}}|  |d |d  |d  d ”d|| | d df|| | d dfgfkspJ t dt\} }}}}|  |d |d  |d  |d  d ”d|| | | d df|| | | d dfgfks¬J t dt\} }}}|  t”d|||  d df|| | d df|| | d dfgfksÜJ |  t”d|d |d  |d |d   | d df|d | |d |  | d dfgfksJ |  t”d|d |d  ||d
   | | df|d || |  |d  ||d   dfgfksBJ |  t”d||d  |d  df|d | |d
 |d   d df|d | |d  d df|d |d
  |d  dfgfksJ |  t”d|| | dfgfksJ t dt\} }}}}|  t”dd| | |d |d   |d  dfd|d  d|d   |d  d|d   d| |  dfgfksŻJ t dt\} }}}|  t	”d|d |d  |d |d   | |d  df|d | |d  d| |  d|  dfd
|d  | d
|d  |  || |  d dfgfks7J t d	t\} }}d|d  | d|d  |d   d|d  |d
   d|d  |d   d|d  |d   d|d
  |d   d|d   }|  |”d|df|d | df|d
 d|d  |  |d  dfgfks¦J d S )Nr   r   r3   rK   r   rF   r   r   r%   r   r)   r`   zx,y,z,urL   rB   rZ   éZ   rO   rN   r   zx,y,z,té/   r~   iō’’’rD   éš   r4   i   rQ   r   )
r   r   Zdmp_zz_factorŚf_1Śf_2Śf_3Śf_4Śf_5Śf_6rp   )r!   r   r'   rr   Śur9   r5   r"   r"   r#   Śtest_dmp_zz_factorJ  s   2 ,,,2pD ’
’(’
’ž
’,"’
’(*’
’"ż
’
’(:’
’0*2ž
’"ž’r   c                  C   s  t dt\} }tdd}|  |d d ”tdd|d d dfgfks%J |  |d d ”tdd|d df|d dfgfksAJ |  |d d ”tdd|| df|| dfgfks]J |  |d d d ”ttddd|d|  df|d|  dfgfksJ |  |d d ”tdd|d|  df|d|  dfgfks¢J |  |d d|  d ”tdd|d dfgfks½J |  |d d| |  d ”tdd|| dfgfksŚJ d|d  |dd|    d	 d
|  }|  |”tdd|ttddtdd dfgfksJ d S )Nr   r   r   r   r   é    éX  é¬ éH é² é±   é   iY  )r   r   Zdup_qq_i_factorr   ©r!   r   r^   r5   r"   r"   r#   Śtest_dup_qq_i_factor  s*   
288.’(’’’((’r   c                  C   sD  t dt\} }}tdd}|  |d d|d   ”tdd|d d|d   dfgfks.J |  |d |d  ”tdd|||  df|||  dfgfksPJ |  |d |d d  ”tdd||| d  df||| d  dfgfksxJ |  d|d  |d  ”tdd||| d  df||| d  dfgfks J d S ©Nzx, yr   r   r   r   )r   r   Zdmp_qq_i_factor©r!   r   r'   r^   r"   r"   r#   Śtest_dmp_qq_i_factor²  s   
"’(’0’0’r   c                  C   sŠ  t dt\} }tdd}|  |d d ”tdd|d d dfgfks%J |  |d d ”tdd|d df|d dfgfksAJ |  |d d ”tdd|| df|| dfgfks]J |  |d d ”tdd|d|  df|d|  dfgfks}J |  |d d|  d ”tdd|d dfgfksJ |  |d d| |  d ”tdd|| dfgfksµJ d|d  |dd|    d	 d
|  }|  |”tdddd|  | dd|   dfgfksęJ d S )Nr   r   r   r   r   r   r   r   r   r   r,   i  iT  )r   r   Zdup_zz_i_factorr   r"   r"   r#   Śtest_dup_zz_i_factorĆ  s$   
288(’’’(*’r   c                  C   sō   t dt\} }}tdd}|  |d d|d   ”tdd|d d|d   dfgfks.J |  |d |d  ”tdd|||  df|||  dfgfksPJ |  d|d  |d  ”tddd| ||  dfd| ||  dfgfksxJ d S r   )r   r   Zdmp_zz_i_factorr   r"   r"   r#   Śtest_dmp_zz_i_factorÜ  s   
"’(’0’r   c                  C   s  t dt t”\} }dd }|  d”|g g fksJ |tdg| |tdg }|  |”|tdg|dfgfks>J |tdg| |tdg }|  |”|tdg|dfgfksaJ |tdg|d  |tddg }|tdg|d  |tddg }|  |”|tdg|dfgfksJ |tdg|d  |tdg }|  |”|tddg|tdg|d  |td	tdg df|tdg|d  |tdtdg dfgfkséJ |tddg|d  |td
dg }|  |”|tddg|tddg| |tdd tddg df|tddg| |tddtddg dfgfks>J |tddg|d  |tddg|d   |tddg|d   |tddg|  |tddg }|  |”|tddg|tddg| |tdd tddg df|tddg| |tdd tddg df|tddg| |tddtddg df|tddg| |tddtddg dfgfksäJ t dt td”\} }dd }|tdg|d  |tddg }|  |”|tdg|tdg|d  |td	tdg|  |tdg df|tdg|d  |tdtdg|  |tdg dfgfksVJ |tddg|d  |tdtdg|  |tddg }|  |”|tddg|dg| |ddg dfgfksJ |  |d ”|tddg|dg| |ddg dfgfksøJ ||tddg9 }|  |”|tddg|dg| |ddg dfgfksāJ |  |d ”|tddg|dg| |ddg dfgfksJ d S )Nr   c                 S   ó   t | tdtdtdgtS ©Nr   r   ©r   r   ©Śelementr"   r"   r#   Śanpģ  ó   z test_dup_ext_factor.<locals>.anpr   r   r   r3   r   rN   rF   r   r   éM   rI   é   c                 S   ó   t | tdtdtdgtS ©Nr   r   r2   r¢   r£   r"   r"   r#   r„     r¦   r)   )r   r   Śalgebraic_fieldr   Zdup_ext_factorr   )r!   r   r„   r5   r6   r"   r"   r#   Śtest_dup_ext_factorź  sh    & &&&&$:,’’(>.’
’l>0..ż
’&J>’
’@.
’.
’.
’.’r¬   c                  C   s  t dt td”\} }}dd }|  d”|g g fksJ |tdg| |tdg }|  |”|tdg|dfgfksAJ |tdg| |tdg }|  |”|tdg|dfgfksdJ |tdg|d  |tdg|d   }|  |”|tdg|tdg| |tdtdg|  df|tdg| |tdtdg|  dfgfks¶J |tdg|d  |td	g|d   }|  |”|tdg|tdg| |tdtdg|  df|tdg| |tdtdg|  dfgfks	J d S )
Nr%   r   c                 S   r©   rŖ   r¢   rf   r"   r"   r#   r„   /  r¦   z test_dmp_ext_factor.<locals>.anpr   r   r2   rN   ro   )r   r   r«   r   Zdmp_ext_factor)r!   r   r'   r„   r5   r6   r"   r"   r#   Śtest_dmp_ext_factor-  s&    & &,8,’’,8,’’r­   c                     s0  t dt\ }   d”dg fksJ   d”dg fksJ t dt\ }   d”dg fks/J   tdd”tddg fks@J t dtd \ }   d”dg fksTJ   d”dg fks_J t dtd \ }   d”dg fkssJ   tdd”tddg fksJ t dt\ }   d”dgksJ   d”dgksJ   | d d|   d ”d| d dfgfks·J   | d d|   d ”| d dfgksĶJ   d	| d  d
|   d	 ”dd|  d dfd|  d dfgfksšJ t dt\ }   tdd| d  |  tdd ”tdd| d dfgfksJ t dtd\ }   | d d ”d| d dfgfks7J t dt\ }   d| d  d|   d ”dd|  d dfgfks[J   d| d  d|   d ”dd|  d dfgfksxJ d| d  d|   d }  |”\}}|tdksJ t|dksJ |d d  ” tdks¬J |d d dks·J t dt\}}t d|\ } d| | d  d|d  |   }  |”d| | df| | dfgfksėJ t dt\}}t d|\ } tdd| | d  tdd|d  |   }  |”tdd| | df| | dfgfks(J t dt 	t
”\ } dd }|tddg| d  |tddg| d   }  |”|tddg|tddg|  df|tddg| d  |g |   |tddg dfgfksJ t dt\ } tt fdd d S )Nr   r   r3   r   r9   ©r   r   ©r3   r   r   r)   r   r   ē      š?ē       @g      @ēå§wŁßć@ē ÅlōJ%@ēĮø„kÕ?r   c                 S   r    r”   r¢   r£   r"   r"   r#   r„     r¦   z!test_dup_factor_list.<locals>.anpc                      ó      ttd”S ©Nr   )Śdup_factor_listr
   r   r"   ©r!   r"   r#   Ś<lambda>  ó    z&test_dup_factor_list.<locals>.<lambda>)r   r   r·   r   Zdup_factor_list_includer   r	   ŚlenŚmax_normr«   r   r
   r   r   )r   r5   Ścoeffr{   ŚRtr9   r„   r"   rø   r#   Śtest_dup_factor_listI  sr   ""0,FD*:: 
’
’,
’
’0$6’
’ræ   c                     sH  t dt\   d”tdg fksJ   d”dg fks J t dt\   d”tdg fks5J   tdd”tddg fksFJ t dt\} }t d| \   d”dg fks`J   d”tdg fksmJ t dt\} }t d| \   d”dg fksJ   tdd”tddg fksJ t dt\   d”dgksŖJ   d”dgks“J tdt\ }|d d	 d	|d   d |d d }}  |”d|d	fgfksŽJ |d
 d	 d	|d
   d |d
 d }}  |”d|d	fgfksJ t dt\   d	 d	  d ”dd d	fgfks"J t dt\   tdd	d	   tdd	 ”tdd	d d	fgfksKJ t dt\   d	 d	  d ”dd d	fgfkslJ t dt\   tdd	d	   tdd	 ”tdd	d d	fgfksJ t dt\ dd	   d d	   }  |”ddfdf dfgfksÅJ   |”d dfdf dfgksÜJ t dt\ tdd	d	   tdd	 d	   }  |”tdd	dfdf dfgfksJ t dt\ dd	  dd	   }  |”tdd  dfd  dfgfksDJ dd	  d	  d   d }  |”\}}|tdksfJ t|dksoJ |d d  ” tdks~J |d d dksJ t dt\} }t d| \ d| d	  d|d	    }  |”d| df| dfgfks¾J t dt\} }t d| \ tdd	| d	  tdd	|d	    }  |”tdd	| df| dfgfksüJ t dt	d	\ t
t fdd t dt\ t
t fdd d S )Nr%   r   r3   r   r9   r®   rÆ   zx:200r   rN   r   r   r±   g       @g      ą?r²   r³   r“   r°   c                      s      d d  ”S )Nr   )Śdmp_factor_listr"   r&   r"   r#   r¹   ń  rh   z&test_dmp_factor_list.<locals>.<lambda>c                      rµ   r¶   )rĄ   r
   r   r"   rø   r"   r#   r¹   ō  rŗ   )r   r   rĄ   r   Zdmp_factor_list_includer   r	   r»   r¼   r   r   ŚNotImplementedErrorr
   r   )r¾   r9   ŚXr5   r6   r½   r{   r"   r&   r#   Śtest_dmp_factor_list  sŖ   ""**2D2D 
ž
’

ž
’,
ž
’’
’$ 
’
’,
’
’rĆ   c                  C   sR   t dt\} }|  |d | d ”du sJ |  |d d|  d ”du s'J d S )Nr   r   r   TF)r   r   Zdup_irreducible_pr    r"   r"   r#   Śtest_dup_irreducible_p÷  s   &rÄ   c                  C   sT   t dt\} }}|  |d | d ”du sJ |  |d d|  d ”du s(J d S )Nr%   r   r   TF)r   r   Zdmp_irreducible_pr&   r"   r"   r#   Śtest_dmp_irreducible_pż  s   &rÅ   N)@Ś__doc__Zsympy.polys.ringsr   r   Zsympy.polys.domainsr   r   r   r   r   r	   r
   Zsympy.polysr   r]   Zsympy.polys.polyerrorsr   Zsympy.polys.polyclassesr   Zsympy.polys.specialpolysr   r   Zsympyr   r   r   r   Zsympy.testing.pytestr   r   Zf_0r   r   r   r   r   r   rp   Zw_2r$   r(   r.   r1   r>   rA   rC   rE   rG   rJ   r_   r|   r   r   r   r   r   r   r   r¬   r­   ræ   rĆ   rÄ   rÅ   r"   r"   r"   r#   Ś<module>   sJ    $


"k-
LCKc