o
    GZhv[  ć                   @   s2  d Z ddlmZ ddlm  mZ ddlmZmZmZm	Z	m
Z ddlmZmZmZ ddlmZmZ ddlmZmZmZ ddlmZ dd	lmZ dd
lmZmZ ddlmZ ddl 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, ddl-m.Z.m/Z/m0Z0m1Z1m2Z2m3Z3 dd Z4dd Z5dd Z6dd Z7dd Z8dd Z9dd  Z:d!d" Z;d#d$ Z<e*d%d& Z=d'd( Z>d)d* Z?d+d, Z@d-d. ZAd/d0 ZBd1d2 ZCd3d4 ZDd5d6 ZEd7d8 ZFd9d: ZGd;d< ZHd=d> ZId?d@ ZJdAdB ZKdCdD ZLdEdF ZMdGdH ZNdIdJ ZOdKdL ZPdMdN ZQdOdP ZRe*dQdR ZSdSdT ZTdUdV ZUdS )Wz@Tests for the implementation of RootOf class and related tools. é    )ŚPolyN)ŚrootofŚRootOfŚCRootOfŚRootSumŚ_pure_key_dict)ŚMultivariatePolynomialErrorŚGeneratorsNeededŚPolynomialError)ŚFunctionŚLambda)ŚFloatŚIŚRational)ŚEq)ŚS)ŚexpŚlog)Śsqrt)Śtan)ŚIntegral)Ślegendre_poly)Śsolve)ŚraisesŚslow)Ś	unchanged)ŚaŚbŚxŚyŚzŚrc                  C   s  t tddks	J t tddksJ t ttjdksJ t td ddks'J t td ddks2J t td ddks=J t td ddksHJ t td dt  d ddttd  ks_J t td dt  d ddttd  ksvJ t td dt  d ddttd  ksJ t td dt  d ddttd  ks¤J t td dt  d ddd} t| td	u s¼J t td dt  d ddd} t| td	u sŌJ t td dt  d ddd} t| td	u sģJ t td dt  d ddd} t| td	u sJ t td td  ddddksJ t td td  ddddks)J t td td  ddddks;J t td td  ddddksMJ t td td  dd	ddks_J t td td  dd	ddksqJ t td td  dd	ddksJ t td td  dd	ddksJ t td td t d  dt td t d dks²J t td td t d  ddksĘJ t td td t d  dt td t d dksćJ t td td t d  dt td t d dks J t td td t d  dt td t d dksJ t td td t d  dt td t d dks:J t td td t d  d
dksNJ t td td t d  dt td t d dkskJ t td dtd   dd
ks}J t td dtd   ddksJ t td dtd   ddks”J t td dtd   ddks³J tt	dd  tt	dd  tt
dd  tt
dd  tt
dd  tt
dd  ttdd  ttdd  ttdd  ttdd  ttdd  ttdd  ttdd  t ttt tdtksJ t ttd t tdtt ks1J t ttd t tdttksDJ t ttd t tdttdd ksZJ t ttd  tt  dt  tddksqJ ttdd  t td t d djd	u sJ d S )Nr   é’’’’é   é   é   éž’’’F©ZradicalsTéż’’’éü’’’é   c                   S   s
   t ddS ©Nr   ©r   © r-   r-   śQ/var/www/auris/lib/python3.10/site-packages/sympy/polys/tests/test_rootoftools.pyŚ<lambda>U   ó   
 z&test_CRootOf___new__.<locals>.<lambda>c                   S   s
   t ddS ©Nr#   r   r,   r-   r-   r-   r.   r/   V   r0   c                   S   s   t tdtdS r+   ©r   r   r   r-   r-   r-   r.   r/   X   ó    c                   S   s   t tdtdS r1   r2   r-   r-   r-   r.   r/   Y   r3   c                   S   s   t tt dS r+   ©r   r   r   r-   r-   r-   r.   r/   Z   ó    c                   S   s   t ttdS r+   )r   r   r   r-   r-   r-   r.   r/   \   r5   c                   S   s   t td t td dS ©Nr%   r$   r   )r   r   r   r-   r-   r-   r.   r/   ^   ó    c                   S   s   t td t t dS )Nr%   r   )r   r   r   r-   r-   r-   r.   r/   _   ó    c                   S   ó   t td d dS )Nr$   r#   r)   ©r   r   r-   r-   r-   r.   r/   a   ó    c                   S   r9   )Nr$   r#   r(   r:   r-   r-   r-   r.   r/   b   r;   c                   S   s   t td d dS ©Nr$   r#   r:   r-   r-   r-   r.   r/   c   r;   c                   S   r9   )Nr$   r#   r%   r:   r-   r-   r-   r.   r/   d   r;   c                   S   s   t td d tS r<   r:   r-   r-   r-   r.   r/   e   r;   c                   S   s   t td t dt  tdS r6   r4   r-   r-   r-   r.   r/   o   s    )r   r   r   ZZeror   r   Ś
isinstancer   r   r	   r
   ŚNotImplementedErrorŚ
IndexErrorŚ
ValueErrorr   r   r   Śis_commutative©r!   r-   r-   r.   Śtest_CRootOf___new__    sv   ....$$$$$$$$:(::::(:$$$$(&,.&rC   c                  C   sB   t td t d d} | jsJ | jt ksJ ttdd  d S )Nr%   r   c                   S   s    t ttd tt  d tdS ©Nr%   r#   r   )r   r   r   r   r-   r-   r-   r.   r/   |   s     z)test_CRootOf_attributes.<locals>.<lambda>)r   r   Z	is_numberŚfree_symbolsŚsetr   r>   rB   r-   r-   r.   Śtest_CRootOf_attributest   s   
rG   c                   C   s  t td t d dt td t d dkdu sJ t td t d dt td t d dkdu s4J t td t d dt td t d dkdu sNJ t td t d dt td t d dkdu shJ t td t d dt td t d dkdu sJ t td t d dt td t d dkdu sJ t td t d dt td t d dkdu s¶J t td t d dt td t d dkdu sŠJ t td t d dt td t d dkdu sźJ t td t d dt td t d dkdu sJ d S ©Nr%   r   Tr#   Fr$   r4   r-   r-   r-   r.   Śtest_CRootOf___eq__   s   444444444:rI   c                     sp  t d} td t d  t d}t d}t||tju s J t||tju s*J tt|ts2J t|dtju s<J t|tjtju sGJ t|t	tju sQJ tt|| ds[J t
 D ]}|jrpt||tju spJ qat d}D ]}|jrt||tju sJ qxtd t d  t
  fddtdD  d”dks§J tt ddtj d	ks¶J d S )
NŚfr%   r$   r#   r   c                    s&   g | ]}D ]
}t t ||qqS r-   )r   r   )Ś.0ŚiŚj©ŚeqZsolr-   r.   Ś
<listcomp>£   ó   & z,test_CRootOf___eval_Eq__.<locals>.<listcomp>TF)r   r   r   r   r   ŚfalseŚtruer   ŚInfinityr   r   Śis_realŚrangeŚcountZImaginaryUnit)rJ   r!   Śr1Śsr-   rN   r.   Śtest_CRootOf___eval_Eq__   s6   


’"rZ   c                   C   sd   t td t d djdu sJ t td t d djdu s J t td t d djdu s0J d S rH   )r   r   rU   r-   r-   r-   r.   Śtest_CRootOf_is_realØ   ó     $r[   c                   C   s$   t td t d djdu sJ d S )Nr%   r   T)r   r   Z
is_complexr-   r-   r-   r.   Śtest_CRootOf_is_complex®   s   $r]   c                   C   sd   t td t d djdu sJ t td t d djdu s J t td t d djdu s0J d S )Nr%   r   Tr#   r$   )r   r   Zis_algebraicr-   r-   r-   r.   Śtest_CRootOf_is_algebraic²   r\   r^   c                   C   s<   t td t d d tt”t td t d dksJ d S rD   )r   r   Śsubsr   r-   r-   r-   r.   Śtest_CRootOf_subsø   s   <r`   c                   C   sL   t td t d d t”dksJ t td t d d t”dks$J d S rD   )r   r   Śdiffr   r-   r-   r-   r.   Śtest_CRootOf_diff¼   s   $(rb   c                  C   sŹ  t td t d djdd} |  td”sJ t td t d djdd ” \}}| td”s4J | td ”s>J t td t d d	jdd ” \}}| td”sZJ | td”scJ td
tdd}dd | ” D }|g d¢ks{J t td dt  d djdd}| td”sJ t td dt  d djdd ” \}}| td”s³J | td”s¼J t td dt  d d	jdd ” \}}| td”sŚJ | td”sćJ t td dt  d djdd ” \}}| td”sJ | td”sJ t td dt  d d
jdd ” \}}| td”s+J | td”s5J tt td d	td
   td  d d 	d”dksRJ dtd  dtd   dtd    d!td"   d#td$   d%td&   d'td   d(td
   d)td   d*td	   d+t  d, }t |d 	d	” ” \}}t |d	 	d	” ” \}}	||ks³J ||	k sŗJ ||	 ksĀJ t td-td$}
|
 	d	”|
 	d.” 	d	”ksŚJ t td	 d dd/d0}t td	 d dd/d0}| 	d
”td1d
t
 ks’J | 	d
”td2d
t
 ksJ tt d
td  d3td   dtd	   d$ d 	d”d4ks/J td5td&  d6td
   d7td	   d d}| d	”sNJ tttd3 d8td9   d:td   d;td   d<td"   d=td&   d>td
   d?td	   d@ d 	d	”dAksJ tttd
 dtd	   d d 	d	”dBk s¤J dCd tdD }
|
d  ”  |
D ]-}| ” }| 	d	” || ” ksÉJ | ”  || ” ksÖJ ||j|j ksįJ qµd S )DNr%   r   é   ©Śnz-1.2134116627622296341r#   z0.60670583138111481707z1.45061224918844152650r$   r*   T©Śpolysc                 S   ó   g | ]	}t | d ”qS ©é   ©Śstrre   ©rK   r!   r-   r-   r.   rP   Ń   r7   z&test_CRootOf_evalf.<locals>.<listcomp>©z-0.86113631159405258z-0.33998104358485626z0.33998104358485626z0.86113631159405258é   é   z-1.84208596619025438271z-0.351854240827371999559z-1.709561043370328882010z+1.709561043370328882010z+1.272897223922499190910z-0.719798681483861386681z+0.719798681483861386681l       @ z147.iń é   iĢŻ: é
   iµŃ é	   izgńé   i`jHé   i lé   i čźi@äB i <¶ i ü i - i   é@   éd   Fr'   g      šæg      š?é   z-0.976i`b iĄ  éT   é    é   iü  i@  iV  i  i\ ić ie z-3.4*IgŁ?c                 S   s"   g | ]}t td  t d  |qS )r%   )r   r   ©rK   rL   r-   r-   r.   rP     ó   " )r   r   ŚevalfŚ
epsilon_eqr   Zas_real_imagr   Ś
real_rootsrl   re   r   r   Z_eval_evalfr   ŚabsrV   Ś_resetŚ_get_intervalŚfuncŚargs)ŚrealŚreZimŚpŚrootsrO   r   r   ŚcŚdr!   Śr0rX   ŚrirL   r-   r-   r.   Śtest_CRootOf_evalfĄ   sŖ   &&"****:.
’
’
’
’
ž
žžž B..
’
’
’
’žžž
ž2
śr   c                  C   sN   t d  d } t| d}|j ” t d d ksJ | ”  |jtjv s%J d S )Nr$   r   )r   r   ŚpolyZas_exprre   ŚrootoftoolsŚ_reals_cache©rJ   r!   r-   r-   r.   Śtest_issue_24978  s
   
r   c                  C   sd   t td dt  d d} |  ”  |  ” }t td dt  d d} |  ”  |  ” }||ks0J d S )Nro   rp   r#   )r   r   re   r   )r!   r   r   r-   r-   r.   Śtest_CRootOf_evalf_caching_bug(  s   r   c                  C   s  t td t d  ” ttd td  d dgksJ t td t d jddttd td  d dgks:J t dtd	  d
td   dtd   dt  d tdd} t | ”tdtdtdtdd gksnJ t td tdtd   d tdd ” ttd dtd	   dtd   d dgksJ t td tdtd   d tdd ” ttd
 dtd   dtd   d dgksČJ ttd td  d d}t td |t  d tdd ” ttd dtd   td  d
td   dtd   d
td
   dtd   dtd   td  d dgksJ t td ttd d  tdd ” tdtdtdgks@J d S )Nro   r#   r%   r$   r   Fr'   r(   r*   rr   rp   rv   ZZZ)Śdomainr"   T©Ś	extensioné   rc   rj   é   ru   )r   r   r   r   r   r   r   r   )r   r!   r-   r-   r.   Śtest_CRootOf_real_roots2  sB   8’:.((
’((
’ 4
’
’
’’’’’
’$’’r   c                	   C   s  t td t d  ” ttd td  d dtddtdt d  tddtdt d  ttd td  d dttd td  d dgksLJ t td t d jddttd td  d dttd t d dddttd t d dddttd td  d dttd td  d dgksJ t td tdtd   d td	d
 ” ttd dtd   dtd   d dttd dtd   dtd   d dttd dtd   dtd   d dgksļJ t td ttd d  tt  tt  td	d
 ” tdtdtdt tgksJ t td td  td	d
 ” tdd td  td d td  gksBJ d S )Nro   r#   r%   r$   r   r"   Fr'   Tr   rv   r*   )r   r   Ś	all_rootsr   r   r   r   r   r-   r-   r-   r.   Śtest_CRootOf_all_rootsO  s:   
ū
ū(	(((ż’4’
’ž’r   c                  C   sZ   t dtdd} dd |  ” D }|D ]	}t|tsJ qdd |D }|g d¢ks+J d S )Nr*   Trf   c                 S   ó   g | ]}|j d dqS )é   rd   ©Zeval_rationalrm   r-   r-   r.   rP   w  ó    z.test_CRootOf_eval_rational.<locals>.<listcomp>c                 S   rh   ri   rk   )rK   Śrootr-   r-   r.   rP   z  r7   rn   )r   r   r   r=   r   )r   r   r¢   r-   r-   r.   Śtest_CRootOf_eval_rationalu  s   r£   c                  C   sP  t td dt  d } t ”  t| d}|jtjvsJ |jtjvs%J | ”  |jtjv s1J |jtjvs9J t ”  t| d}|jtjvsJJ |jtjvsRJ | ”  |jtjv s^J |jtjv sfJ t td d td d  } t ”  t| d}|jtjv sJ |jtjvsJ t ”  t| d}|jtjv sJ |jtjv s¦J d S )Nr%   r$   r   r#   )	r   r   r   Śclear_cacher   r   r   Z_complexes_cacher   r   r-   r-   r.   Śtest_CRootOf_lazy  s0   



r„   c                  C   s¾  t d t  d } ttttt  }t| |}t|tdu sJ t| d |dt| | ks/J tt d | d  |tdt  dt| |  ksIJ ttt d | d  |ttdt  dt| |  ksgJ ttdd  tt	dd  t| t
t| tt t
t ksJ t| tt| tt tt ksJ tt| dd	tdu s¤J t| d
ks¬J t| tt t d
ksøJ t| tt t d dksĘJ t| tt ddksŅJ t| tt ddksŽJ t| dd	jdu séJ t| tt dt t d   tddksžJ t| tt tt t d   tddt ksJ tt d d tt dt d  t dks,J tt d t tt dt d  t dt ksDJ tt d d tt tt d  t dt ks\J tt d t tt tt d  t dt t ksvJ tt d d tt t
t ddt
dt
d ksJ tt d tt   td  tt tt d t  d tt ttt  ks¶J ttd t d  tt   d tt tt d t  d tt tt t ksŻJ d S )Nr%   Tr$   ru   c                   S   s   t td t t S ©Nr%   )r   r   r   r-   r-   r-   r.   r/   ½  ó    z&test_RootSum___new__.<locals>.<lambda>c                   S   s   t td d dd S )Nr$   r%   c                 S   s   | S ©Nr-   )r   r-   r-   r.   r/   ¾  s    z8test_RootSum___new__.<locals>.<lambda>.<locals>.<lambda>)r   r   r-   r-   r-   r.   r/   ¾  r8   F)Śautor   r&   r#   rv   rq   )Z	quadraticr"   )r   r   r!   r   r   r=   Śhashr   r   r@   r   rA   r   r   r    r   r   )rJ   ŚgrY   r-   r-   r.   Śtest_RootSum___new__Æ  sF   
 4<""*0,004’
’"
’""’r¬   c                   C   s   t td t d ttttjt ksJ t td t d ttttt jthks.J t td t t ttttt tjtthksHJ d S r¦   )	r   r   r   r!   r   rE   rF   r   r   r-   r-   r-   r.   Śtest_RootSum_free_symbolsą  s   ,0 ’’r­   c                  C   sā   t ttt} ttd t d | ttd t d | kdu s!J ttd t d | ttd t d | kdu s;J ttd t d | ttd t d | kdu sUJ ttd t d | ttd t d | kdu soJ d S )Nr%   r#   Tr$   F)r   r   r   r   r   ©rJ   r-   r-   r.   Śtest_RootSum___eq__ē  s
   4448rÆ   c                  C   s   t td d t} t| t du sJ |  ” tt tt ks!J t td t tt} t| t du s4J |  ” ttt  ttt  ksIJ d S )Nr$   r#   T)r   r   r   r=   Zdoitr   r   r   ©Śrsr-   r-   r.   Śtest_RootSum_doitń  s   .r²   c                  C   sr   t td d t} | jddd td”sJ | jddd td”s%J t td t tt} |  ” | ks7J d S )	Nr$   r#   rc   T)re   Zchopz1.0806046117362794348r   z1.08060461173628)r   r   r   r   r   r   r   r°   r-   r-   r.   Śtest_RootSum_evalfż  s
   r³   c                  C   sZ   t d t  d } ttttt  }tttttt   }t| | t ”t| |ks+J d S r¦   )r   r   r!   r   r   ra   )rJ   r«   Śhr-   r-   r.   Śtest_RootSum_diff  s   "rµ   c                  C   s   t d t  d } ttttt  }td t d }ttttt }t| | td”t| |ks2J t| | t t”t||ksBJ d S )Nr%   r#   )r   r   r!   r   r   r   r_   )rJ   r«   ŚFŚGr-   r-   r.   Śtest_RootSum_subs  s    $rø   c               	   C   s"  t td t d ttttt  dt d td t d  ks"J dtd  dtd   dt  d } ttttd	td  d d
td  d  dtd  d  ttdd  d tt  }t | | t”dtdt  dtt  d tt tdt tdt  d   d ksJ d S )Nro   r#   r*   é”   r%   és   r$   é   iĖņ’’i5  iq  é}   rv   ru   )r   r    r   r   r   r   r   ra   )rJ   r«   r-   r-   r.   Śtest_RootSum_rational  s   ’’$H’B’’r½   c                  C   s   t d t d t d t d  } tt dtt  d }tt tt }tt d t |t }tt d t |t }t| |t  ” d| d| dgksIJ d S )	Nr%   r$   r*   ro   ru   rr   r   é~   )r   r   r   r   r   r   Zas_ordered_terms)rJ   r«   r“   r   rX   r-   r-   r.   Śtest_RootSum_independent(  s    *ræ   c                  C   sD   t td t d t ” } dd tdD }t| t|ks J d S )Nrv   r#   c                 S   s"   g | ]}t td  t d |qS )rv   r#   r:   r}   r-   r-   r.   rP   6  r~   z#test_issue_7876.<locals>.<listcomp>)r   r   r   rV   Ś	frozenset)Śl1Śl2r-   r-   r.   Śtest_issue_78764  s   rĆ   c                  C   sT   t dtd  d } t|  ” dksJ t dtd  d } t|  ” dks(J d S )Nru   rt   rs   rr   )r   r   Ślenr   r®   r-   r-   r.   Śtest_issue_8316:  s   rÅ   c                     sü  ddl m   fdd} | ttd dtd   d dks J | ttd dks,J | tdgd	 d
g tdks=J | ttd	 d dksKJ | ttd d dksYJ | ttd d dksgJ | ttd d dksuJ | ttd d dksJ | tg d¢tdksJ | ttd	 t d dks J | ttd t d dks°J dd }| |d
dddksĄJ | |d
dddksĢJ | |ddddksŲJ | |ddddksäJ | |d
dddksšJ | |d
dddksüJ d S )Nr   ©Ś_imag_count_of_factorc                    s   t  fdd|  ” d D S )Nc                 3   s     | ]\}} || V  qd S rØ   r-   )rK   rJ   ŚmrĘ   r-   r.   Ś	<genexpr>D  s    z7test__imag_count.<locals>.imag_count.<locals>.<genexpr>r#   )ŚsumZfactor_list©r   rĘ   r-   r.   Ś
imag_countC  s   
’z$test__imag_count.<locals>.imag_countrv   rr   r$   r#   r%   r"   r*   )r#   r$   r%   c                 S   s"   t t|  t|   tt| ”tS rØ   )r   r   r_   )rX   Śr2r   r-   r-   r.   ŚqQ  s   "ztest__imag_count.<locals>.qr&   )Śsympy.polys.rootoftoolsrĒ   r   r   )rĢ   rĪ   r-   rĘ   r.   Śtest__imag_countA  s(   ("  rŠ   c                  C   sD   t td dtd   d d} |  ” }| jr|j|j dks J d S )Nr*   r$   r#   r   )r   r   r   Zis_imaginaryŚaxŚbx)r!   rL   r-   r-   r.   Śtest_RootOf_is_imaginary[  s   rÓ   c                  C   sP   t d dt   d } t| d ” }t| d ” }| |”sJ | |”s&J d S )Nr%   ro   r#   r   )r   r   r   Zis_disjoint)rO   ZirŚiir-   r-   r.   Śtest_is_disjointa  s
   rÕ   c                      s   t  tv du sJ dv du sJ dt< tv sJ tv s#J t dks+J ttfdd fdd tt fdd d S )NFr#   c                      s    d S ©Nr#   r-   r-   rĖ   r-   r.   r/   q  ó    z$test_pure_key_dict.<locals>.<lambda>c                    s   d | < d S )Nr$   r-   )ŚkrĖ   r-   r.   Śdontr  s   z test_pure_key_dict.<locals>.dontc                      s    dS rÖ   r-   r-   )rŁ   r-   r.   r/   t  r×   )ŚDr   r   r   ŚKeyErrorr@   r-   r-   )rŁ   r   r.   Śtest_pure_key_dicti  s   rÜ   c                      sĀ  t  ”  dd tdD dd D tddtddtd	 d  tddtd	 d  gks0J d
  ”  dd D tddtddtd d  tddtd d  gksYJ td
  ” jdk sfJ td  ” jdk ssJ td  ” j	dk sJ td  ” jdk sJ td  ” j	dk sJ d
  ”  dd D tddtddtd d  tddtd d  gksĆJ td
  ” jdk sŠJ td  ” jdk sŻJ td  ” j	dk sźJ td  ” jdk s÷J td  ” j	dk sJ d
  ”  dd D tddtddtd d  tddtd d  gks/J t
td
  ” jd
  dk sCJ t
td  ” jd   ” dk sYJ t
td  ” j	d   ” dk soJ t
td  ” jd   ” dk sJ t
td  ” j	d   ” dk sJ d
  ”  dd D tddtd d!td" d!  td d!td" d!  gksÅJ t
td
  ” jd
  d#k sŁJ t
td  ” jd   ” d#k sļJ t
td  ” j	d   ” d#k sJ t
td  ” jd   ” d#k sJ t
td  ” j	d   ” d#k s1J d
  ”  d$d D  d%d  D g d&¢ksLJ t fd'd(tt D s_J d S ))Nc                 S   s&   g | ]}t td  dt  d |qS )r%   rr   r#   )r   r   r}   r-   r-   r.   rP   z  rQ   z-test_eval_approx_relative.<locals>.<listcomp>r%   c                 S   ó   g | ]}|  d ”qS )ē¹?r    r}   r-   r-   r.   rP   {  r8   iė’’’éÜ   r   é   i%  r   c                 S   s   g | ]}|  d d”qS )rŽ   ē-Cėā6?r    r}   r-   r-   r.   rP     r”   iĖ  i   iµS i   rŽ   r#   rį   r$   c                 S   s   g | ]}|  d d ”qS )rį   r    r}   r-   r-   r.   rP     r”   i/ų’’i4N  i  c                 S   r   )r$   rd   r    r}   r-   r-   r.   rP     r”   i'źü’iVā i3 i    i;e ē{®Gįz?c                 S   r   )r%   rd   r    r}   r-   r-   r.   rP     r”   i i   i'±Sgü©ńŅMbP?c                 S   rŻ   )r$   )Zeval_approxr}   r-   r-   r.   rP   ¦  r8   c                 S   s   g | ]}t |qS r-   )rl   r}   r-   r-   r.   rP   §  r§   )z-0.10z0.05 - 3.2*Iz0.05 + 3.2*Ic                 3   s4    | ]}t  | |  |   ” d k V  qdS )rā   N)r   re   r}   ©r   Śtr-   r.   rÉ   ©  s   2 z,test_eval_approx_relative.<locals>.<genexpr>)r   r¤   rV   r   r   r   r   r   ZdxZdyr   re   ŚallrÄ   r-   r-   rć   r.   Śtest_eval_approx_relativew  sd   
ž
ž
žž(,,,,ž(,,,,*rę   c                  C   s:   t td t d d} tttdtf}tt| |sJ d S )Nro   r#   r   )r   r   r   r   r   r   )r!   r   r-   r-   r.   Śtest_issue_15920¬  s   rē   c                  C   st   t d t  d } tt|  ” dksJ tt|  t tt ” ” dks&J tt|  t tt” ” dks8J d S )Nr%   r#   z[CRootOf(x**3 - x + 1, 0)])r   rl   r   r   r_   r   r   )rO   r-   r-   r.   Śtest_issue_19113²  s   ’’rč   )VŚ__doc__Zsympy.polys.polytoolsr   rĻ   rg   r   r   r   r   r   r   rŚ   Zsympy.polys.polyerrorsr   r	   r
   Zsympy.core.functionr   r   Zsympy.core.numbersr   r   r   Zsympy.core.relationalr   Zsympy.core.singletonr   Z&sympy.functions.elementary.exponentialr   r   Z(sympy.functions.elementary.miscellaneousr   Z(sympy.functions.elementary.trigonometricr   Zsympy.integrals.integralsr   Zsympy.polys.orthopolysr   Zsympy.solvers.solversr   Zsympy.testing.pytestr   r   Zsympy.core.exprr   Z	sympy.abcr   r   r   r   r    r!   rC   rG   rI   rZ   r[   r]   r^   r`   rb   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.   Ś<module>   sl     T
[
&,1
	
4