o
    *ήciu                     @   s  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 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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.m/Z/ d dl0m1Z1 d dl2m3Z3 d dl4m5Z5 d dl6m7Z7 d dl8m9Z9 d dlm:Z: d dl;m<Z< d dl=m>Z>m?Z?m@Z@mAZAmBZB dd ZCdd ZDdd ZEdd ZFd d! ZGd"d# ZHd$d% ZId&d' ZJd(d) ZKd*d+ ZLd,d- ZMd.d/ ZNd0d1 ZOd2d3 ZPd4d5 ZQd6d7 ZRd8d9 ZSd:d; ZTd<d= ZUd>d? ZVd@dA ZWdBdC ZXdDdE ZYdFdG ZZdHdI Z[dJdK Z\dLdM Z]dNdO Z^dPdQ Z_dRdS Z`dTdU ZadVdW ZbdXdY ZcdZd[ Zdd\d] Zed^d_ Zfd`da Zgdbdc Zhddde Zidfdg Zjdhdi Zkdjdk Zldldm Zmdndo Zndpdq Zodrds Zpdtdu Zqe<dvdw Zrdxdy Zsdzd{ Ztd|d} Zud~d Zvdd Zwdd Zxdd Zydd Zzdd Z{dd Z|dd Z}dd Z~dd Zdd Zdd Zdd Zdd Zdd Zdd Zdd ZdS )    )AccumBounds)Add)Basic)DictTuple)
DerivativeFunctionLambdaSubs)Mul)FloatIIntegerRationaloopizoo)Eq)S)SymbolWildsymbols)explog)sqrt)	Piecewise)atan2coscotsintan)Matrixzeros)
ZeroMatrix)factor)RootOf)cse)	nsimplify)_aresame)XFAIL)axyztc                  C   s`   t d} t}|t| }|t dksJ dt }|dt ks J |t| }|t dks.J d S )N         )r   r+   subs)n3e r5   A/tmp/pip-target-vg8gfxp4/lib/python/sympy/core/tests/test_subs.py	test_subs   s   r7   c                  C   s  t d} tdd}tt t| tdi| |fv sJ tt t| tdidks)J tt jt| tdidd| |fv s<J tt jt| t| idd| |fv sOJ tt t| t| i| |fv s`J ttdggttdtdggksuJ ttdggttdttdggdksJ d S )Nr0   r   Tsimultaneousr/          @g      @)r"   r#   r+   r,   r2   r   r!   r   )r-   z1r5   r5   r6   test_subs_Matrix&   s   
"&&"*4r<   c                  C   s   t } | t tdd} | tddksJ dt  } | t tdd} | tddks*J t t d  } | t tdd} | tddksBJ d S )N   r/   r0   r1   )r+   r2   r   r4   r5   r5   r6   test_subs_AccumBounds5   s   r@   c                  C   s  t d} ttd t}|dtt tt ksJ |t| }|dt|  t|  ks/J ttd t}|dtt tt ksFJ |tttt}|dttd  ks\J ttttdkshJ tttttdksvJ tddd}t	j
}ttttd |u sJ tttt|u sJ t|t tt|u sJ t|t ttd t|t d ksJ t|t ttd |d|u sJ tddd	}t|t ttd t|t d ksJ d S )
Nr/   r0   r   r=   iT)integero)odd)r   r   r+   diffr   r2   r   r   r   r   ComplexInfinityr    r   )r3   r4   rA   r   rC   r5   r5   r6   test_trigonometricC   s(   ,(0rG   c                  C   sZ  t dt t tdtksJ t dtd  d tddt t d ks(J ttdd tddks7J ttdd tdddtdd  ksMJ t tdd tdddtdd  ksdJ td	d
d} t|  tdtju swJ tdtj	dtju sJ tdt
  tdt
  | | d ksJ dtd  dddtd  ksJ d S )Nr=      r0   r/      ir>   nT)negativer   g      @r:   )r   r+   r2   r   r   r   r   rF   r   Exp1r,   )rK   r5   r5   r6   test_powers]   s    0,.((rN   c                  C   s|   t ddd} t d}dd|   dd|    d|  d|    }|d|  ||ks*J |t| ttd ||ks<J d S )Nr+   Trealwr/   r=   r0   )r   r2   r   r   r   )r+   rQ   r4   r5   r5   r6   test_logexppowj   s
   ((rR   c                  C   s<   t d} t d}| | }|| tdtd| ksJ d S )Nx1x2      @)r   r2   r   )rS   rT   r,   r5   r5   r6   test_bugr   s   $rV   c                   C   s$   t t  t d t t  t d d S )Nr=         ?)r+   r2   r5   r5   r5   r6   test_subbug1y   s   rX   c                   C   s"   t dtttdsJ d S )Ng@g)r   
epsilon_eqabsr+   r2   r5   r5   r5   r6   test_subbug2   s   "r[   c                  C   sx  t td\} }}dtdt  }|| t|t  }|| d|diks%J | | t|t  }||||  ||  t|| t  ksFJ ||dtdt  d ksWJ t| }||||  ||  t|| t  kstJ ||dtdt  d ksJ ||||  ||  t|| t  ksJ ||dtdt  d ksJ tt	tdfdksJ d S )Nabcr/   rH   r=   )
mapr   r   r+   matchr   r2   setitemsr   )r*   bcfrr4   sr5   r5   r6   test_dict_set   s   ."."."rf   c                  C   s  t tt  } ttt }t ttt ti}ttttti}| |td ks'J ||td ks2J | t ttt tttt ksFJ | tt tt ttd ksXJ dt t  }|t ttdidkskJ tt d t ttd dt dittd ksJ d S )Nr0   r=      )r+   r   r-   r,   r2   )rc   gdfdgr4   r5   r5   r6   test_dict_ambigous   s   ($:rk   c                  C   sb   t d} t| ttt}|ttd t| tttksJ |ttd t| ttks/J d S )Nrc   r0   )r   r   r+   r2   r,   )rc   patr5   r5   r6   test_deriv_sub_bug3   s   $&rm   c                  C   sD   t d} t| td t}ttdt}|| td|ks J d S )Nrc   r0      rH   )r   r   r+   r   r2   )rc   eqresr5   r5   r6   test_equality_subs1   s   rq   c                  C   sV   t d} t| td d}t|| tddu sJ t|| tddu s)J d S )Nrc   r0   rn   r/   FrH   T)r   r   r+   boolr2   )rc   ro   r5   r5   r6   test_equality_subs2   s    rs   c                  C   s0   t ttt } | t tdttksJ d S )Nr=   )r   r+   r   r,   r2   r?   r5   r5   r6   test_issue_3742   s    rt   c            	   
   C   s  dt t  t tdtt  ksJ dt t  t ttdiddt  ks'J td\} }}}}}}}| d | | |d |d  | |  |d |d  | |  |d | |  |  |d | |  |  }||d d|d  | d d|d  |d d|d  i|| d|d   || |d  d|d    | | | d|d    || |d  |d   | | | |d   ksJ d S )Nr=   r0   zc2 c3 q1p q2p c1 s1 s2 s3r/   )r+   r,   r2   r   r   )	c2c3q1pq2pc1s1s2s3testr5   r5   r6   test_subs_dict1   s"   $*>8.r~   c            	      C   s  t d\} }}}}}t ddd\}}}| | | ||  ||d ks%J ||  d|  |dks3J | | | d| |||  | ksGJ | | | | | ||| ksYJ | | | || |||  kskJ | | | | | d| || ksJ | | | | d| |||  ksJ d|  | d|  | ||tdd ksJ | | | | | ||| ksJ | d || tdd   | || d   dd	|| d   ksJ | t| d  | t|  ddt|  ksJ | d|  d | | dd
ksJ | | | | | ||| ksJ | | d|   d| |   | | ddd|   ks8J d||  | | || | | | sOJ | | | | | ||| ksbJ | d | | d | |||  kswJ | d | | | d | ||| ksJ | d | | | d | ||| ksJ ||d  |d |d   |d	 |d  |d  |d	  |||d  |d |d   ksJ d|  d|  |d| ksJ |t| tdd  |t|  ddt| d  ksJ |t| tdd  |t|  ddt| d  ks#J |d | |d  | |d  || | |||d  | ksFJ | |d  | | |||d  ks[J | d |d  | | ||d | ksrJ | |d  | | |||d  ksJ | | | | t| | |  | | ||d | t||  ksJ | d | | | t| | |  | | ||d t|d  ksJ | d | t| | |  | t| | |  | | || | t|d  | t|d  ksJ | | | | | | | | | ||d | | ks#J t | | || ddt ks7J dt | d| dd	t ksJJ t | | dtksYJ d	| d  d|  ||d kslJ d| d  d|  |d|d  ksJ | d  d |  d ||d  |  ksJ | d  d | d ||d  |  ksJ d| d  d | d |d|  |d  ksJ d| d  d |  d |d|  |d  ksJ d| d  d d|  ||| d  d ksJ d| d  d d|  || | d  d ksJ dd|  d d d  d|  d |dtddd  |d  ks:J d	|  d|  |d	|  ksKJ d S )Nzx y z a b czA B Cr   commutativer0   r=   rg   r/   rH   @   r1   i   	      )r   r2   r   r   r   )	r+   r,   r-   r*   ra   rb   ABCr5   r5   r6   test_mul   sd   $($$((.$B0&&:.&*..>
"<<F*.*JJ:"
>(&&*0.2424H&r   c                  C   s,  t ddd} t ddd}d|  ddd|  ksJ d|  ddd|  ks(J d|  | dd	ks4J tdddtdksBJ tdddtdksPJ t| | dtdks^J d| ddd| kslJ d| ddd| kszJ d| |dd	ksJ t||dtdksJ d S )
Nr*   Tr   r+   Fr0   r=   r/   r1   )r   r2   r   )r*   r+   r5   r5   r6   test_subs_simple  s    r   c                  C   s4  t ddd\} }t ddd\}}| | d|  d| | ks J d|  | | dd| ks0J d|  | d|  d|ks@J d|  | d	|  dd|  | ksTJ || d| d|| ksdJ d| | |dd| kstJ d| | d| d|ksJ d| | d	| dd| | ksJ d S )
Nza bTr   x yFr0   r=   g      ?rH   r   r2   )r*   ra   r+   r,   r5   r5   r6   test_subs_constants  s      (   ,r   c                  C   s  t ddd\} }}}}| | | | ||ksJ | | |  | | | ||d ks-J | |  | | | | ||d ksAJ | | | | | | | ||| ksWJ | ||  | ||||  ksiJ | ||  ||| ||  ks{J | ||  ||| ||  ksJ | | | | |  | | |||d  ksJ | d |d  |  | | || d |d  ksJ d S )N	a b c d KTr   r0   r/   r   )r*   ra   rb   dKr5   r5   r6   test_subs_commutative,  s   ((,$$$08r   c            	      C   s  t ddd\} }}}}t ddd}t dddd}|| || ||ks&J | | | || || | | ks:J | | | | || || | | ksPJ || | | || ||d ksdJ || | || ||| ksvJ || | | || ||| | ksJ | | | || | || | | ksJ |||  |||||  ksJ |||  |||||  ksJ |||  |||||  ksJ | | | | | | || | || | | | ksJ | | | | |  | | | | | | | | || || | | |  | |d  | | ks+J || | || ||| ks>J || | | | | | | || ||| | |d  ksaJ td	d
D ](}tdD ] }|||  || |||||   |||   ksJ qlqf|tdd |tj ||tdd ksJ |tj |tj ||ksJ |tdd |tj ||tdd ksJ |tdd |tdd ||ksJ |d|  || ||d ksJ |d| d  || ||d |d  ksJ |d| d  || ||d |d  ks*J |d|  |d|  ||||  ksAJ |d|  |d|  ||d ksVJ |d| d	  |d|  ||d | ksoJ |d|  |d|  ||||  ksJ |d| d	  |d|  ||||d	   ksJ |d|  || ||d|  ksJ |d| d  |d ||d| d  ksJ d| | || |d| | ksJ |d| |  || ||d| |  ksJ |d| |  || ||d| |  ksJ ||d d  || |||d d  ks/J d| d| ||d ks@J |d |d ||d ksQJ |d |d ||d ksbJ |d |d ||d kssJ |d |d ||d |d  ksJ |d |d ||d |d  ksJ |d |d ||d ksJ |d |d ||d ksJ |d |d ||ksJ |d |d |||d  ksJ |d |d |||d  ksJ |d	 |d ||ksJ |d |d ||d ksJ |d |d ||d ks%J |d |d ||d | ks8J |d
 |d ||d |d  ksMJ d S )N	w x y z LFr   alphaTsomeint)r   rB   r0   r=   rg   
   r/   r>   rH   r   rI   )r   r2   ranger   r   Half)	rQ   r+   r,   r-   Lr   r   pkr5   r5   r6   test_subs_noncommutative:  sn   (,($,,$$$<j&F>0"0*&22.*2.6*2*222""""**""&&""&.r   c            
      C   s  t ddd\} }}}}t ddd\}}}}}	|| || |	|	ks$J || || |	|	ks2J || ||	|	| ks@J || ||	|	| ksNJ || ||	||	 ks\J | | | ||| | | ksnJ t|| | || |	t|	| ksJ | t|| ||   |t|| ||    |d| t||  |t||   ksJ | | || | |   || | |  || | | ksJ |t| | |  | | d || |	|t| | |  |	 d ksJ d S )Nr   Tr   r   Fr   rH   )r   r2   r   )
r*   ra   rb   r   r   rQ   r+   r,   r-   r   r5   r5   r6   test_subs_basic_funcs  s   $,6<Pr   c                  C   s  t dtd\} }}}| | | | ||ksJ ||  | | ||ks&J | | | | ||ks4J | | | ||| ksBJ | | ||| | ksPJ | ||  | ||||  ksbJ | ||  ||| ||  kstJ | ||  ||| ||  ksJ d S )NR S T Ucls)r   r   r2   )Rr   TUr5   r5   r6   test_subs_wild  s   $$(r   c                  C   s  t ddd\} }}}}t ddd\}}}}}	t dtd\}
}}}| | | || |	| |	 ks2J | | | | | || |	| | |	 | ksLJ |
| | t||  || |	|
|	 t|	 kshJ | | | | | || | t| |   || |	| |	 | | |	| t| |   ksJ || | | ||
| | |    || |
 | |   }||| |	| | ||
| ||| |	 |||   |||   ksJ d S )Nr   Tr   r   Fr   r   )r   r   r2   r   )r*   ra   rb   r   r   rQ   r+   r,   r-   r   r   r   r   r   r4   r5   r5   r6   test_subs_mixed  s   $48`8&"r   c                  C   sR  t ddd\} }}t ddd\}}}d|  | |d| ks J d| d  | |d|d  ks2J d| d  | dtddksCJ d| d   | dtd	dksUJ d| ||d| kscJ d|d  ||d|d  ksuJ d|d  |dtddksJ d|d   |dtd	dksJ d| |d
dtj ksJ d S )Nza b cTr   zx y zr=   r0   r   rH   r>   r   )r   r2   r   r   Zero)r*   ra   rb   r+   r,   r-   r5   r5   r6   test_division  s   $"$$"$"r   c            	      C   s  t d\} }}}}}}| d | | | d | ||| | d | | fv s)J | d | | d | ||ks;J | d | | | d | ||| | d | | fv sYJ | d | | | d | ||| | d | | fv swJ | d | t|  | d t|  ||| ksJ | | t| |  | | ||t| ksJ || t||  || | | t|  ksJ | | | | || || | | ksJ | | | | | | || | | ksJ |d | |d ||| ksJ | d | |d || | ksJ |d | |d |||d  ks+J | d | |d ||| d  ksBJ | d | | }|t|jd d  |||jd  ksaJ || d | ||| ksrJ d|  dtddtdd|  ksJ | | d  ||d   }| | ||    }|| d ||ksJ t|t| |t	t	ksJ tt
ddt	g t	ksJ tt	t
ddg t	ksJ d S )Nza b c d x y tr0   r=   g?r   r>   )r   r2   r   r   r   argsr   expandr   r   r   )	r*   ra   rb   r   r+   r,   r.   r4   ansr5   r5   r6   test_add  s0   <$<<400,.&**.."*" r   c                   C   s(   t td ddt td ksJ d S )Nr*   r=   r0   )r   r   r2   r5   r5   r5   r6   test_subs_issue_4009  s   (r   c                  C   s6  t dtd\} }tttfttt }|tttt ||ttt tt ks,J | td | tttd ks>J | tt| ttttksNJ | tt| t| ttks^J ttt	tt t	| gt|gg| tt|t ks{J || tt t| |g|t
ggt
tttt  ksJ d S )Nf gr   r0   )r   r   r	   r+   r,   r   r   r2   r   r   r   )rc   rh   lr5   r5   r6   test_functions_subs  s   2$  "@r   c                  C   sV  t d} t d}t| tt| ttdksJ t| tt| ttt| tit| ttks6J tt| tt| t d d tsLJ tt| tttt| ttt d d tsgJ t|t|t}||| t| t| tksJ ||t| tt| t| tksJ ||tt	ttttttksJ d S )Nrc   rh   r   r=   )
r   r   r+   r2   r,   xreplacer&   hasr   r
   )rc   rh   ro   r5   r5   r6   test_derivative_subs  s(   "&,"**r   c                  C   s  t dtd\} }| ttt|ttt}}t|ttt|tt||ks'J t|ttt|tt||ks9J t|ttt|t|t|tksMJ t|ttt|t|t|tksaJ t|tttt|tt|t|tkswJ t|tttt|tt|t|tksJ t|tttt|ttt||ksJ t|tttt|tt|t|tttksJ t|ttttt|tttt|t|ttttksJ t|ttt| ttt|t|ttksJ d S )Nr   r   )r   r   r+   r,   r-   r   r2   )f_funcg_funcrc   rh   r5   r5   r6   test_derivative_subs2  s@   $$((4r   c                  C   sT   t ttt} t | t| tt| ksJ | tt| t ttttks(J d S N)r   r   r+   r2   )dexr5   r5   r6   test_derivative_subs3  s   (r   c                  C   sx   t ddd\} }t|  td |  |t|  ksJ | d | d || d ks*J | d | d ||d ks:J d S )NzA BFr   r0   r/   r1   )r   r+   r2   )r   r   r5   r5   r6   test_issue_5284%  s   $ $r   c                  C   sZ   t tt tggtksJ tt tgg} t | tksJ t tt tftks+J d S r   )r+   r2   reversedr,   iterr   )itr5   r5   r6   test_subs_iter,  s   r   c                  C   s  t d\} }}}}dt t t tddddt ksJ ttdftdfg}tt|ttt|  kr?dksBJ  J ttt|tdksQJ tdt ttdt t	dt  tt
tt   }ttdt |fttdt | ft	dt |ft
t|ft|fg}|||| | t||   ksJ tdfttd fg}tt |dtd  ksJ tt t|dksJ ttd fdt dftdfg}td dt  |ddt  ksJ ttd ftdfg}td |dksJ d S )	Nz	a b c d er0   r=   r+   r,   rH   r/      rg   )r   r+   r,   r-   r2   dictr   r   r   r   r   )r*   ra   rb   r   r4   r   exprrepsr5   r5   r6   test_subs_dict3  s2   *8
&&r   c                   C   s  t d t d ttksJ t d t d ttd ksJ t t d t d ttt ks0J t t d t d ttt d ksDJ t d t d ttksRJ t d t d tt d ksbJ t t d t d ttt kstJ t t d t d tt t d ksJ d S )Nr/   r0   r=   rU   r:   )r+   r2   r*   r,   r5   r5   r5   r6   test_no_arith_subs_on_floatsT  s    $( $,r   c                  C   s  t ddd\} }}}| ||  || || | ksJ | |d |d   || || ||d   ks6J dtt  tt dtjksGJ dtt  tt  tt ddks[J tt t tt ddt ksmJ dtt  tt  t tt ddt ksJ d S )Nza b c KTr   r0   r/   r=   )r   r2   r+   r,   r   r   r-   )r*   ra   rb   r   r5   r5   r6   test_issue_5651b  s   $4"($4r   c                   C   s$   t ddddt ddksJ d S )Nr=   Tr0   )r   r2   r5   r5   r5   r6   test_issue_6075l  s   $r   c                   C   s   t td ddtd sJ t td ddtd sJ t td td r)J t ttttdttttdr>J t ttsEJ t dtjrMJ t ttdddrXJ d S )	Nr:   r0   r/   r=   rW   r+   T)positive)r(   r+   r2   r   r   r   Oner   r5   r5   r5   r6   test_issue_6079p  s   *r   c                  C   s$   t d} | tdddksJ d S )NNr/   r   )r   r2   r   r   r5   r5   r6   test_issue_4680{  s   r   c                   C   sv   t d dtt t ksJ t d dtt t ksJ t t ttt t ks*J t t t tt t ks9J d S )Nr=   r>   )r+   r2   r,   r   r5   r5   r5   r6   test_issue_6158  s   "r   c                  C   s   t dtd\} }}}t|| tttdk f|ttdkf}|||t|| tttdk f|ttdkfks:J | t|t | |||i|t|t ksSJ d S )Nzf g h ir   r>   r=   )r   r   r   r+   r,   r2   )rc   rh   hrA   r   r5   r5   r6   test_Function_subs  s   (86r   c                  C   s   t dtdi} t t | tt  | ksJ t t j| ddtt  j| ddks*J |  } t t | tt  | ks>J t t j| ddtt  j| ddksRJ tt ttj| ddttdtttdksiJ d S )Nr   Tr8   )r+   r,   r2   r`   r   r-   r
   r   r5   r5   r6   test_simultaneous_subs  s     r   c                   C   s   ddt t   t t t ddt   ksJ dt dt t t  ks%J t t  tt  t t  ks5J dt td  dt td  t t  td  ksPJ d S )Nr=   r   r0   rI   rH   r/   )r+   r,   r2   r   r5   r5   r5   r6   test_issue_6419_6421  s   , :r   c                  C   s   dt  t t  ddt ksJ td\} }tdtd d  d tdtd d	 d  tdd	  }t|| tdfg| d	 td|  d d  td|  d	 d  gfks\J d S )
Nir=   r   zx0 x1r0         r   r/   )r+   r,   r2   r   r   r   r&   )x0rS   r4   r5   r5   r6   test_issue_6559  s   "><r   c                  C   sx   t ddd} t|  }t|t| ttt ksJ d| d|  ttt ks*J d| }|d|  t|ks:J d S )Nr+   TrO   r0   r   )r   r   r   r2   r,   )r+   r4   ro   r5   r5   r6   test_issue_5261  s     r   c                   C   s2   dt  td dt  ttd t ksJ d S )Nr   r0   )r+   r   r2   r,   r5   r5   r5   r6   test_issue_6923  s   2r   c                  C   sj   t ddd} tdtd dd}dt td  jtddd|ks!J dtd |   j| d	dd|ks3J d S )
Nr   Fr   r0   r=   )evaluateT)hack2r   )r   r   r,   r+   r2   )r   r   r5   r5   r6   test_2arg_hack  s   $(r   c                   C   s   dt d  js	J dS )zWhen this fails, remove things labelled "2-arg hack"
    1) remove special handling in the fallback of subs that
    was added in the same commit as this test
    2) remove the special handling in Mul.flatten
    r0   r=   N)r+   is_Mulr5   r5   r5   r6   	test_mul2  s   r   c                  C   sR   t ddd\} }| | |  j| | | f|| fgdd| | | d  | ks'J d S )Nzx,yFr   Tr8   r0   r   r   r5   r5   r6   test_noncommutative_subs  s   Br   c                  C   sf   t d} t|  | ditd ksJ dd }|ddd}t|dtd  d dt  d ks1J d S )	Nr:   r0   c                 S   s   t | td  |t  | S )Nr0   )r$   r+   )r*   ra   rb   r5   r5   r6   rd     s   ztest_issue_2877.<locals>.rg?r   rg   r1   )r   r+   r2   r'   )rc   rd   r4   r5   r5   r6   test_issue_2877  s
   ,r   c                  C   sh   t d} dd|   | dtu sJ | }| d }|| | dtu s$J | |  | dtu s2J d S )Nr.   r=   )r   r2   r   )r.   rK   r   r5   r5   r6   test_issue_5910  s    r   c                  C   s   t d} ddt t  }ddt t  }dt t d t t }dt t | i}||d|  ks3J ||d|  ks>J |dtd  td  ksLJ ||dtd  |  ks[J d S )Nre   r=   r0   rH   )r   r+   r,   r2   )re   r-   rQ   qsubr5   r5   r6   test_issue_5217  s   "r   c                   C   sD   dt  dt  ttd ksJ dt  dt  ttd ks J d S )NrH   r0   r   r/   r+   r2   r,   r5   r5   r5   r6   test_issue_10829  s    $r   c                  C   sJ   ddl m}  dttd  }|   |ttd t}|dt ks#J d S )Nr   )clear_cacher=   r0   )sympy.core.cacher   r   r+   r2   r,   )r   re   resultr5   r5   r6   test_pow_eval_subs_no_cache  s
   r   c                  C   sT   t ddd} | d d| d   d|   d }t|d	}| |k | |tju s(J d S )
Nr+   TrO   r/   r   r0   Q   v   r   )r   r%   r2   r   false)r+   ro   rd   r5   r5   r6   test_RootOf_issue_10092  s    
r   c                  C   sT   ddl m}  | dj}tt|tksJ ||t|ksJ |tdu s(J d S )Nr   )ReferenceFramer   F)sympy.physics.mechanicsr   r+   r2   __eq__)r   vr5   r5   r6   test_issue_8886
  s
   
r   c                  C   s   t  dft dfg} tt  k | tdk ksJ tt  k tt| tdk ks)J t  dft dfg} tt k | tdk ks?J tt k tt| tdk ksPJ d S )Nr=   r0   )r   r+   r2   listr   r   r5   r5   r6   test_issue_12657  s   $&r   c                  C   sv   t ttftdt dt  } td}|t|tt}| t| tt}||| |||   kr6|ks9J  J d S )Nr0   r/   rc   )r	   r+   r,   r   r   r2   replace)Frc   r   r   r5   r5   r6   test_recurse_Application_args  s
   0r   c                  C   s  t tt ttttt tt ttksJ t tt ttd ttt tt ttd ks0J t tt ttd ttt td ttd ksJJ t tt t tttftd tt tf} t tt t tttftd tt tf}| tt|kr|  tt| tt ksJ td}td}t d|tt |t |ttdtdt d|tt |t |tttfdksJ d S )Nr=   r0   rc   rh   )r=   r0   )r
   r+   r,   r2   r-   doitr   )r*   ra   rc   rh   r5   r5   r6   test_Subs_subs'  s"   ,((,"r   c                  C   s<   dt  } | tdddksJ | tdddksJ d S )Nr=   z1/2)r+   r0   z(1/2))r+   r2   r   ro   r5   r5   r6   test_issue_133337  s   r   c                     sH  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
dD |ksQJ 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
dD |ksJ d S )Nr   TrO   r1   rg   rH   r/   r0   c                       g | ]
} | | fqS r5   r5   .0rA   r   r5   r6   
<listcomp>A      z$test_issue_15234.<locals>.<listcomp>)r0   rH   )complexc                    r   r5   r5   r   r   r5   r6   r   E  r  r   )r   p_subbedr5   r   r6   test_issue_15234=  s   88"88&r  c                  C   s  t d\} }t| d t|  |  | d  t| ||d |d  |d  | ks,J | d | d  | d  |  t|  | d |t| | d  |  |d  | ksVJ | | d || ksbJ | | tdd ||d kssJ t ddd\} }| d | d  | d  |  t|  | d ||tdd |tdd  t| |d  | ksJ | | d ||tdd ksJ d S )Nr   r/   r0   rH   r=   T)nonnegative)r   r   r2   r   r   r5   r5   r6   test_issue_6976H  s   *."..&r  c                   C   s   dt  t d ddt  ksJ dt d  t d dt d ks"J dt d  t d ddks2J dt d  t d dt d ksDJ dtd  t d dtd ksVJ d S )Nr=   r0   r/   rI   rH   rg   r   r   r5   r5   r5   r6   test_issue_11746X  s
    $ $(r  c                  C   s   ddl m}  | d\}}|  d | | |   }|t| tt t |  ti}||tt t t|t	 ttd   ksHJ d S )Nr   )dynamicsymbolszq1, q2r0   )
r   r  rE   r*   r+   r,   r-   r2   r   r.   )r  q1q2r   r   r5   r5   r6   test_issue_17823`  s
   $$4r  c                  C   sF   dd t tdD \} }| | | d|  || id|  |  ks!J d S )Nc                 S   s   g | ]}|t qS r5   )r.   r   r5   r5   r6   r   i  s    z$test_issue_19326.<locals>.<listcomp>xyr=   )r]   r   r2   r   r5   r5   r6   test_issue_19326h  s   .r  c                  C   s   dt  tt  dtt d   tt d  dtt   d d  dt tt  dtt d    dtt d  dtt   d d   } | t ttt tksQJ tt tt  t ttddksdJ d S )Nr   r   r/   rH   r0   r=   r   )r+   r   r   r   r2   r   r   r?   r5   r5   r6   test_issue_19558m  s
   @B*r  c                  C   s0   t ddd} d|  }|| d t|ksJ d S )NxrTrO   r=   r0   )r   r2   r,   )r  r4   r5   r5   r6   test_issue_22033v  s   r  c                  C   s   t t } | t dfttfgdksJ | ttft dfgtju s#J | t dttitju s1J | jt dfttfgddtju sCJ d S )Nr=   Tr8   )r+   r,   r2   r   r   NaNr   r5   r5   r6   +test_guard_against_indeterminate_evaluation|  s
    (r  N)!sympy.calculus.accumulationboundsr   sympy.core.addr   sympy.core.basicr   sympy.core.containersr   r   sympy.core.functionr   r   r	   r
   sympy.core.mulr   sympy.core.numbersr   r   r   r   r   r   r   sympy.core.relationalr   sympy.core.singletonr   sympy.core.symbolr   r   r   &sympy.functions.elementary.exponentialr   r   (sympy.functions.elementary.miscellaneousr   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr   r   r   r   r    sympy.matrices.denser!   r"   "sympy.matrices.expressions.specialr#   sympy.polys.polytoolsr$   sympy.polys.rootoftoolsr%   sympy.simplify.cse_mainr&   sympy.simplify.simplifyr'   r(   sympy.testing.pytestr)   	sympy.abcr*   r+   r,   r-   r.   r7   r<   r@   rG   rN   rR   rV   rX   r[   rf   rk   rm   rq   rs   rt   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   r  r  r  r  r  r  r  r  r5   r5   r5   r6   <module>   s    $7J%!

	
	
	
	