a
     ¬<bVH  ã                   @   s  d dl mZ d dlmZmZ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mZmZ d dlmZ d d	lmZmZ d d
lmZmZ d dlmZmZ d dlmZ d dl m!Z! d dl"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,m-Z-m.Z.m/Z/ d dl0m1Z1 d dl2m3Z3m4Z4m5Z5m6Z6m7Z7m8Z8m9Z9 dd„ Z:dd„ Z;dd„ Z<dd„ Z=dd„ Z>dd„ Z?d d!„ Z@d"d#„ ZAd$d%„ ZBd&d'„ ZCd(d)„ ZDd*d+„ ZEd,d-„ ZFd.d/„ ZGd0d1„ ZHd2d3„ ZId4d5„ ZJd6d7„ ZKd8d9„ ZLd:d;„ ZMd<d=„ ZNd>d?„ ZOd@dA„ ZPdBdC„ ZQdDdE„ ZRdFdG„ ZSdHS )Ié    )ÚAdd)Ú
DerivativeÚFunctionÚdiff)ÚMul)ÚIÚRational)ÚPow)ÚS)ÚSymbolÚWildÚsymbols)ÚAbs)ÚexpÚlog)ÚrootÚsqrt)ÚcosÚsin)Úfactor)ÚO)ÚcollectÚcollect_constÚfractionÚradsimpÚrcollect)Ú	unchanged)Ú_unevaluated_Mul)Ú_unevaluated_AddÚcollect_sqrtÚfraction_expandÚcollect_abs)Úraises)ÚxÚyÚzÚaÚbÚcÚdc            
      C   s6  t dƒ} t dƒ}t dƒ}t dƒ}ttd|  ƒƒt dƒdfks@J ‚tdd|   ƒdt dƒ ks`J ‚td| |  ƒt dƒ t dƒ ks†J ‚ttdd|  |  ƒƒt dƒ t dƒ d dfks¼J ‚ttd| | |  ƒƒt d	ƒ dt dƒ  dt dƒ  d
fksþJ ‚ttdd|  | |  ƒƒdt dƒ dt dƒ  dt dƒ  dt dƒ  dt d	ƒ  d dt dƒ  dt dƒ  dfks|J ‚t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!fksJ ‚tdd| d  |d  | |  ƒ}td"| jƒd#ks>J ‚td| ƒd| ksXJ ‚td| d$d% ¡ d| d  |d  | | ksŽJ ‚td| d  ƒt dƒd ks°J ‚td| t | | |  ƒd&t dƒ td  d&t dƒ td   d&t dƒ td   d&t dƒ td   d't dƒ td   d&t d	ƒ td   d&t dƒ td   d&t dƒ td   d(t dƒ td   d)t dƒ td   d*t dƒ td   d+t dƒ td   d,t dƒ td   d-t dƒ td   d&t d	ƒ td   d.t dƒ td   d/t dƒ td   d0t dƒ td   d1t dƒ td   d2t dƒ td   d3t dƒ t  dt d	ƒ t  d4t dƒ t  d5t dƒ t  d6t dƒ  d7t dƒ  d8t dƒ  d9t dƒ  d#td&  d:td   d;td   d<td   d=  ksJ ‚td| t | t  | |  ƒt dƒt tt d  dt dƒ t  t dƒt  t dƒt tt d   dt dƒ t  t dƒt  t dƒtt d   t dƒtt d   dt dƒ  dt dƒ  dtd  d&td  t  d
td  td   d$td   d&t td   d-t t  dtd   d$td   d&  ksHJ ‚td| t | t  | t  | t	   ƒt dƒdt dt  dt  dt	   ksžJ ‚tdd| t  | t  | t  | t	   ƒt dƒt t dƒt  t dƒt  t dƒt	  d dtd  dt t  dt t  dt t	  dtd   dt t  dt t	  dtd   dt t	  dt	d   d  ks€J ‚tt
d t t
t tƒ  ƒt tƒt
 ks®J ‚tt
d t  t
t tƒ  ƒt tƒt
  ksàJ ‚tddt tt   ƒt t d t td dt  d  ks$J ‚tdt t
 tt t
ƒ   ƒt t t
ƒ tt
 td t
   ksjJ ‚ddt dƒ  t dt dt t
ƒ   }t|ƒtddt dƒ   dt dt t
ƒ   ksÈJ ‚td| ƒd>t d?t dƒ t  d?t t
ƒ  d?t dƒ t t
ƒ  d?t d?td  d?t
    k	s.J ‚tdddt dƒ   ƒttjdt dƒ d@dAd k	shJ ‚tdBd@dC}ttd t dƒtd   t dƒt |  ƒtd t dƒtd   t dƒt |  k	sÎJ ‚tdt ddt dƒ  ƒ ƒt dƒ t dƒ k
sJ ‚tdt ddt dƒ  ƒd  ƒt dƒ t dƒ d  k
s@J ‚ttdt tƒ ƒƒt tƒtfk
sfJ ‚ttdt dt d ƒ ƒƒt dt d ƒdt d fk
s¤J ‚ttdt dtd  ƒ ƒƒt dt d ƒdt d fk
sâJ ‚tdDƒ}t|ƒ ¡ dEdtddƒ  ddtddƒ   d dt dƒ  ks0J ‚tdt dƒ d tj t dƒ d tj d   ƒdksnJ ‚dFt dƒ t t dƒd ƒ t d&t dƒ d- ƒ dGt dƒ t dHt dƒ d- ƒ t t dƒ d ƒ  d2t dƒ t dHt dƒ d- ƒ t t dƒ d ƒ  d2t dƒ t t dƒ d ƒ t d&t dƒ d- ƒ  d2t dƒ t dHt dƒ d- ƒ t t dƒd ƒ  d2t dƒ t t dƒ d ƒ t d&t dƒ d- ƒ  d2t dƒ t dHt dƒ d- ƒ t t dƒd ƒ  dIdJt dƒ  d
t dƒ t t dƒd ƒ d(t dƒ t t dƒ d ƒ  d   }t|ƒtju s(J ‚dt t dƒd dt dƒ  dt dƒ  dt dƒ  ƒ d }t|ƒt t dƒdt dƒ  dKt dƒ  dLt dƒ  ƒ dMt dLƒ dNt dOƒ  dPt dƒ  dQt dƒ  dRt dƒ  dS dTt dƒ  dUt dKƒ   dV d ksJ ‚t dƒt dƒ }td|d  ƒt dƒt dƒ d ks>J ‚td| d  ƒt dƒt dƒ d  kslJ ‚td| t  ƒ| t  ksJ ‚td|t  ƒt dƒt dƒ t ksºJ ‚ttddt dƒ  t ƒƒddt  dt dƒ dt   ksüJ ‚tddt dƒ  ƒ}t|ƒtt dƒ d ƒks0J ‚t|d ƒtt dƒ d ƒd ksXJ ‚td| ƒdtt dƒ d ƒ ks€J ‚td| ƒdtt dƒ d ƒ ks¨J ‚tt|t tƒ ƒƒt tƒtt dƒ d ƒ tfksàJ ‚dt dƒ }	tt|	 d@dWt t dƒ d  ksJ ‚ttt
|	  d@dWtt
d t dƒ  ksDJ ‚ttt
|	  |	 d@dWt t dƒ d  t
d t dƒ  ks†J ‚t tƒt t
ƒ }t|ƒtt tƒt t
ƒdt
 ƒks¼J ‚t|d@dW|ksÒJ ‚tt tƒt t
ƒd  ƒtt tƒt t
d ƒdt
d  ƒksJ ‚t tƒt
d  }t|ƒ|ks2J ‚d S )XNé   é   é   é   é   éÿÿÿÿé   é   é   é   iÞÿÿÿé
   é   é   é7   é=   é   é]   é.   é5   éG   iÎÿÿÿé*   é…   é"   éF   é‘   é   éi   é¹   é>   é‡   é×   l   NÝ”>ˆAé   é   )Z	max_termsé   é´   é   éT   éd   ét   éH   é(   i  iÎ  i.  éþ   éx   i  éR   éb   év   é;   i'  i  ià  i8  iØ  i™  i÷ÿÿÿé	   F©ÚevaluateÚA©ZcommutativezE-(2 + 2*sqrt(2) + 4*2**(1/4))/(1 + 2**(3/4) + 3*2**(1/4) + 3*sqrt(2))éþÿÿÿiÿÿÿih  iøÿÿÿi`sÿÿi   é   é#   i)NÿiÜ éÒ   iæ i´ iôò iÅW ivs iW„~ iâ‚M)Zsymbolic)r   r   r   ÚlenÚargsÚexpandr&   r'   r(   r)   r$   r#   r   r   r
   ÚHalfr   r   ÚNaNr   r   Úumul)
Zr2Zr3Zr5Zr7r%   Úer\   ÚeqÚbaseÚr© rl   úq/Users/vegardjervell/Documents/master/model/venv/lib/python3.9/site-packages/sympy/simplify/tests/test_radsimp.pyÚtest_radsimp   s"    
ÿÿÿ$ÿ:ÿ
ÿ
ÿÿÿ
:
ÿ
ÿ
ÿÿÿ
$6
ÿ
Nÿÿÿÿþþþýýýüüüûûûúúúú
ù
ù
ù
ù

ÿ
ÿ
ÿÿùÿ

>ÿÿÿ
ÿÿÿÿÿ
þ
þ.
ÿÿ
ÿ
ÿ
ÿÿþÿ
&&ÿ
*H
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿÿÿ

ÿ
ÿ
$ÿ
 ÿ
(6
Fÿÿ
ÿ
*&ÿ
4>&>>F>.0ÿ0þ0ý.ü0û.ú
ÿÿÿÿúÿ
< 
ÿ"
ÿ
ÿÿ
ÿ
þÿýýÿ
*.$*B (((8*."ÿ
&>rn   c                  C   sŠ   t ddd\} }t| d |d  ƒ}| t|  | | t|  |  }t|ƒt | t|  t| d |d  ƒ d  d|  |  ks†J ‚d S )Nzc pT©Zpositiver*   )r   r   r   r   )r(   ÚpÚsr'   rl   rl   rm   Útest_radsimp_issue_3214£   s     rr   c                  C   s  t dƒ\} }}}td| ƒdks"J ‚t| ||   | ƒ| d|  ksDJ ‚t| | d  | ƒ| | d  ksfJ ‚t| d || d   | ƒ| d d|  ks”J ‚t| d ||   | ƒ| | | d  ks¾J ‚td| d  || d   d|  |  | gƒ| d d|  d|  |  ksJ ‚td| d  || d   d|  |  |gƒd| d  || d d|     ks^J ‚td| |  d  ¡ | ƒd| d  ¡ | dd| d   ¡   | d dd| d   ¡   | d dd|   ¡   | d  ksâJ ‚| | }t||jƒ|ks J ‚dS )z Collect with respect to a Symbolúx,y,z,nr.   r*   r+   r1   r0   N)r   r   rd   Zfree_symbols)r#   r$   r%   ÚnÚexprrl   rl   rm   Útest_collect_1ª   s&    "".*NR&ÿÿþþrv   c                  C   sh   t dƒ\} }}t| t|ƒt|ƒ  |t|ƒt|ƒ   t|ƒt|ƒ ƒ| | t|ƒt|ƒ  ksdJ ‚dS )zCollect with respect to a sumza,b,xN)r   r   r   r   )r&   r'   r#   rl   rl   rm   Útest_collect_2½   s    (ÿÿrw   c                  C   s$  t dƒ\} }}tdƒ}t dƒ\}}}}t| d ||  | ƒ||tddƒ  ksVJ ‚td||d   || ƒd||d   ks„J ‚t|| | | |  || ƒ|| d|   ks¶J ‚td||  | | |  || ƒd|| d|    ksðJ ‚t| | ||ƒ ||||ƒ   |||ƒ ƒ|| |  ||ƒ ks8J ‚t| | t|ƒ ||t|ƒ   |t|ƒ ƒ|| |  t|ƒ ks€J ‚t| |d  t|ƒd  ||t|ƒ d   |t|ƒ ƒ|d t|ƒd  | |  ksÜJ ‚t|| | | | | |  || | ƒd|  | | | ks J ‚dS )z!Collect with respect to a productza,b,cÚfrs   rK   r.   r*   N)r   r   r   r   r   )r&   r'   r(   rx   r#   r$   r%   rt   rl   rl   rm   Útest_collect_3Ä   s    0.2:HH8ÿ
ry   c                  C   sŒ   t dƒ\} }}}t| ||  |||   || ƒ|| | |  ksFJ ‚t| |d|   ||d|    || ƒ|d|  | |  ksˆJ ‚dS )zCollect with respect to a powerza,b,c,xr*   N©r   r   )r&   r'   r(   r#   rl   rl   rm   Útest_collect_4Ù   s    6r{   c                  C   sþ   t dƒ\} }}}}t|d |d  |||d  d   | | |  ||d  |gƒ|d|  |d |d    |d |d   |d|   |d |d  d|   fv s¨J ‚td||  || d   ¡ ||gƒd| |dd|    |d  |d  ksúJ ‚dS )zCollect with respect to a tuplez	a,x,y,z,nr*   r1   r.   N)r   r   rd   )r&   r#   r$   r%   rt   rl   rl   rm   Útest_collect_5â   s    @*"þ
ÿ&ÿr|   c                  C   sF   t dƒ} t| d | d d  | d dd| d  | d d ksBJ ‚dS )z-Unevaluated collect with respect to a productr&   r*   r.   FrZ   Nrz   )r&   rl   rl   rm   Útest_collect_pr19431ì   s    r}   c                  C   sÌ  t } tdƒ}tdƒ\}}}| ||ƒ|ƒ}| ||ƒ||ƒ}t|| ||  |ƒ|| | ks^J ‚t|| ||ƒ || ||ƒ  |ƒ|| | ||ƒ ks–J ‚t|| ||  |ƒ|| | ||ƒ ksÂJ ‚td||ƒ d|  |ƒd||ƒ d|  ksôJ ‚t||ƒ||ƒt||ƒ|ƒ  |t||ƒ|ƒ ||ƒ  ||ƒ |¡ƒ|||ƒ ||ƒ | ||ƒ|ƒ ||ƒ kslJ ‚t||ƒ||ƒt||ƒ|ƒ  |t||ƒ|ƒ ||ƒ  ||ƒ |¡dd|||ƒ ||ƒ | ||ƒ|ƒ ||ƒ ksèJ ‚td||ƒ d||ƒ t||ƒ|ƒ  |t||ƒ|ƒ ||ƒ  ||ƒ |¡ddd||ƒ |||ƒ  | ||ƒ|ƒ d||ƒ  kstJ ‚d||  | ||ƒ }t| ¡ |ƒ||||ƒ d||ƒ   d||ƒ  ksÈJ ‚d S )Nrx   úx,a,br,   r+   T©Úexactr.   )r   r   r   r   r   rd   )ÚDrx   r#   r&   r'   ÚfxÚfxxrh   rl   rl   rm   Útest_collect_Dò   s(    &8,2F(ÿ
J(ÿ
R0ÿ
r„   c               
   C   sŠ  t t d d  ¡ } t| t ƒtd dtd   dt  t d  t d dt d   t dtd  dt  d   d kszJ ‚t| t tƒt d dt d  td   dt  td d   td d  ksÆJ ‚t| t ddtjtd dtd   dt  d t dtd  dt  d t d dt d t d diks0J ‚t| t tddtjtd d t dtd d  t d ttdƒtd ƒt d diks†J ‚d S )Nr.   r+   r*   r0   FrZ   )r#   r&   rd   r   r   r
   ÚOnerg   )rx   rl   rl   rm   Útest_collect_func  s$    >ÿÿ
8
ÿ
"(ýþr†   c                  C   s  t dƒ\} }}}t|||  ||d   t|d ƒ |ƒ|d| |d  t|d ƒ  ks^J ‚t|||  |d  t|d ƒ |ƒ|d| t|d ƒ  |d  t|d ƒ ks´J ‚| | ||  t|d   t|d   t|d ƒ }|| |  |d tt   t|d ƒ }t||ƒ|ks$J ‚t||dd|ks<J ‚t| | ƒ |dd¡}t|t| ƒt| ƒgƒt| ƒt|ƒ |dd¡ t| ƒt|ƒ |dd¡  ks¢J ‚t|t| ƒt| ƒgddt| ƒt|ƒ |dd¡ ¡  t| ƒt|ƒ |dd¡ ¡   t|d ƒ ks
J ‚d S )	Nza,b,x,tr*   r+   r.   F)Zdistribute_order_termr   r4   )	r   r   r   r(   r)   r   Zseriesr   ZremoveO)r&   r'   r#   Útrx   Úgrl   rl   rm   Útest_collect_order  s(    N$*ÿ4(2ÿ
ÿ
ÿÿr‰   c                   C   sˆ   t td t tt  t t tt  tƒttdt td    tt  ksNJ ‚t ttd td   ƒtƒttd td   ƒks„J ‚d S )Nr*   r.   )r   r#   r$   r   r%   rl   rl   rl   rm   Útest_rcollect1  s    (ÿrŠ   c                  C   sT   t } tdƒ}tdƒ\}}}| ||ƒ||ƒ}t|| ||  |ƒ|| | ksPJ ‚d S )Nrx   r~   )r   r   r   r   )r   rx   r#   r&   r'   rƒ   rl   rl   rm   Útest_collect_D_07  s
    r‹   c                  C   s`  t dƒ\} }}}tdƒ}tdƒ}tdƒ}t||ƒ| ||ƒ  ||ƒƒd|  ||ƒ ksZJ ‚t|||ƒ| |||ƒ  ||ƒƒ|||ƒ| |||ƒ  ks˜J ‚t|||ƒ| |||ƒ  |||ƒƒd|  |||ƒ ksÒJ ‚t|||ƒ| |||ƒ  |||ƒƒ|||ƒ| |||ƒ  ksJ ‚t|||ƒ| |||ƒ  |||ƒƒd|  |||ƒ ksPJ ‚t| |d |  |d |  || ƒd|  |d |  ksJ ‚t| |d |  |d |  || ƒ| |d |  |d |  ksØJ ‚t| |d |  |d |  |d | ƒd|  |d |  ksJ ‚t| |d |  |d |  || ƒd|  |d |  ks\J ‚dS )z4Collect with respect to functions with Wild argumentza b x yrx   z.1z.2r.   N)r   r   r   r   )r&   r'   r#   r$   rx   Zw1Zw2rl   rl   rm   Útest_collect_Wild@  s"    2>:B<@$ÿ
(ÿ
rŒ   c                  C   s„  t dtdƒ dt tdƒ  ƒddtdƒ t tdƒ  ks@J ‚t dtdƒ dt tdƒ  tdƒƒdtdƒ dt tdƒ  ks†J ‚t tdƒdtdƒ  tdƒ ttdƒ  ƒtdƒtd tdƒ  tdƒ ksÖJ ‚t dt dt  d dƒt dt dt  d ƒ  kr2ttjtdtt ddddks8n J ‚t t t	 ƒtdtt	 ddks^J ‚t dt dt  dt	  dƒtdtt t	 ddks˜J ‚t dt dt  dt	  d	ƒt
dt td	tt	 ddƒksØJ ‚td
dtdƒ  ƒt tdtdƒ ƒt  d } t| d ƒdttdƒd ƒ tdƒt t  d ksBJ ‚t tt td  td  ƒtt ttjtt dd ks€J ‚d S )Nr*   r+   r1   r,   r.   FrZ   r/   r^   r6   )r   r   r&   r#   r$   r   r
   r…   r   r%   r   r   r'   re   ©ri   rl   rl   rm   Útest_collect_constS  s4    ÿ$ÿ*ÿÿ
þ&ÿ
ÿ
0
&ÿ
rŽ   c                  C   sH  t dƒ} | tƒ t¡}| tƒ| | tƒ|  }t|tdƒƒ| tƒ|d  | ksTJ ‚| tƒ| tƒ|  t| | tƒ  }t||ƒt| tƒ | tƒ | | tƒ ks¦J ‚t|| tƒƒt| | d | tƒ ksÐJ ‚| tƒ| | tƒ|  }t|| tƒ|gƒ| tƒd|  | ksJ ‚t||| tƒgƒ|d| tƒ  | tƒ ksDJ ‚d S )Nrx   Úwr.   )r   r#   r   r   r   )rx   r‚   rh   rl   rl   rm   Útest_issue_13143o  s    &$.*,r   c                   C   sˆ   t ttdt   ttdt    tt ƒtt tt d  ksBJ ‚t tddt   tddt    dt ƒtt dt d  ks„J ‚d S )Ng       @r*   )r   r&   r$   r#   r'   rl   rl   rl   rm   Útest_issue_6097}  s    Br‘   c                  C   sf   t t t t  } | jddt| ƒ  kr@t t td  t  ksFn J ‚|  ¡ ttd t   ksbJ ‚d S )NT)Úfracr*   )r#   r$   rd   r    r   rl   rl   rm   Útest_fraction_expand‚  s    6r“   c               
   C   sN  t tdƒ\} }}tddd}ttjƒdks.J ‚t| ƒ| dfksBJ ‚td|  ƒd| fksZJ ‚t| | ƒ| |fksrJ ‚t| d ƒ| dfksŠJ ‚t| | | ƒ| | |fksªJ ‚t| ||  ƒ| || fksÊJ ‚td|d  ƒd|d fksêJ ‚t| |d  ƒ| |d fksJ ‚t| d d | ƒ| d d |fks6J ‚t| |d  |d  ƒ| |d  |d fkshJ ‚tt|  ƒd	d
t|  ƒdfksŽJ ‚td| |  d d	d
dtd| | ddfksÂJ ‚t| | | ƒ| | |fksäJ ‚t| |d  | ƒ| |d  |fksJ ‚tdd	d}tt|ƒƒdt| ƒfks:J ‚tt| ƒƒt| ƒdfks\J ‚tdd	d}tt| ƒt|ƒ d	d
t| ƒt|ƒ dfksžJ ‚tddtjdd}t|ƒdksÂJ ‚t|d	d
tdddddfksæJ ‚tddtjtjt	dddddd}t|ƒdksJ ‚t|d	d
tddddtdddddfksJJ ‚d S )NZxyzr\   Fr]   )r.   r*   r.   r*   r-   Tr   rZ   r/   rt   )Únegativerp   ro   )r.   r1   )
Úmapr   r   r
   re   r   r   r   r   r	   )r#   r$   r%   r\   rt   rp   Úmrl   rl   rm   Útest_fractionˆ  s<       "*2&4"* "6$"
ÿr—   c                  C   sT   t dƒ\} }}}}|d | || d   |  ¡ }t|| d | |gƒ|ksPJ ‚d S )NzaA Re a b Dr+   )r   rd   r   )ZaAZRer&   r'   r   rh   rl   rl   rm   Útest_issue_5615³  s     r˜   c                  C   sf   ddl m} m} ddlm} | |dddƒjŽ jj}t||ƒ 	¡ ƒdksJJ ‚t|t
|ƒƒƒdksbJ ‚d S )Nr   )ÚPolygonÚRegularPolygon)Údenom)r   r   r.   r,   gê-™—q=)Zsympy.geometry.polygonr™   rš   Úsympy.simplify.radsimpr›   ZverticesZcentroidr#   Úabsrt   r   )r™   rš   r›   r#   rl   rl   rm   Útest_issue_5933¹  s
    rž   c                     s´   t ddd\‰ ‰t dƒ\} }tt‡ ‡fdd„ƒ t| | || d   ˆ ƒ| | || d   ksbJ ‚t| | || d   ˆ ˆ  ˆˆ   |ƒ|d|  d  ˆ ˆ  ˆˆ   ks°J ‚d S )	Nza bFr]   zx yc                      s   t ˆ ˆ ˆˆ   ˆ ƒS )N)r   rl   ©r&   r'   rl   rm   Ú<lambda>Ä  ó    z"test_issue_14608.<locals>.<lambda>r.   r*   )r   r"   ÚAttributeErrorr   )r#   r$   rl   rŸ   rm   Útest_issue_14608Á  s
    2r£   c                  C   sÈ   t tƒt tƒ } t| ƒ| ks J ‚ttt tƒt tƒƒs8J ‚ttt ƒ}t|tƒsRJ ‚tt tƒt tƒ ƒ|ksnJ ‚tdtt tƒt tƒ ƒ ƒdt|ƒ ksšJ ‚t	ddd}t|t d| ƒ ƒj
du sÄJ ‚d S )Nr.   rp   Tro   )r   r#   r$   r!   r   r   r   Ú
isinstancer   r   Zis_commutative)rq   Zansrp   rl   rl   rm   Útest_collect_absÉ  s    ,r¥   c                  C   s*   t dt d ƒ} t| t tƒƒ| ks&J ‚d S )Nr+   r1   )r   r#   r   r   rl   rl   rm   Útest_issue_19149×  s    r¦   c                  C   sr   t dƒ\} }| d |d  dd|  |   }t|| d d|  fdd}|| d |d d|  dd|  iksnJ ‚d S )Nza, br*   r.   r-   FrZ   rz   )r&   r'   ru   Ú	collectedrl   rl   rm   Útest_issue_19719Û  s     r¨   c                   C   sd   t dtttd ƒ  ƒdtttd ƒ  ks0J ‚t dtttd ƒ  ƒdtttd ƒ  ks`J ‚d S )Nr.   r*   )r   r#   r   rl   rl   rl   rm   Útest_issue_21355ã  s    0r©   N)TZsympy.core.addr   Zsympy.core.functionr   r   r   Zsympy.core.mulr   Zsympy.core.numbersr   r   Zsympy.core.powerr	   Zsympy.core.singletonr
   Zsympy.core.symbolr   r   r   Z$sympy.functions.elementary.complexesr   Z&sympy.functions.elementary.exponentialr   r   Z(sympy.functions.elementary.miscellaneousr   r   Z(sympy.functions.elementary.trigonometricr   r   Zsympy.polys.polytoolsr   Zsympy.series.orderr   rœ   r   r   r   r   r   Zsympy.core.exprr   r   rg   r   r   r    r!   Zsympy.testing.pytestr"   Z	sympy.abcr#   r$   r%   r&   r'   r(   r)   rn   rr   rv   rw   ry   r{   r|   r}   r„   r†   r‰   rŠ   r‹   rŒ   rŽ   r   r‘   r“   r—   r˜   rž   r£   r¥   r¦   r¨   r©   rl   rl   rl   rm   Ú<module>   sZ   $ 	
	+