o
    ÏeÏ  ã                
   @   sr  d dl mZ d dlmZ d dlmZmZ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m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%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z,m-Z-m.Z.m/Z/m0Z0 d dl1m2Z2m3Z3 d dl4m5Z5m6Z6 d dl7m8Z8m9Z9m:Z:m;Z;m<Z<m=Z=m>Z>m?Z?m@Z@mAZA d dlBmCZC d dlDmEZEmFZFmGZGmHZHmIZImJZJmKZKmLZL d dlMmNZN d dlOmPZPmQZQ d dlRmSZS d dlTmUZUmVZVmWZWmXZXmYZY d dlZm[Z[m\Z\ edƒ\
Z]Z^Z_Z`ZaZbZcZdZeZfedƒZgdedefdd„Zhdd„ Zidd„ Zjd d!„ Zkd"d#„ Zld$d%„ Zme\d&d'„ ƒZne\d(d)„ ƒZod*d+„ Zpd,d-„ Zqd.d/„ Zrd0d1„ Zsd2d3„ Ztd4d5„ Zud6d7„ Zve\d8d9„ ƒZwd:d;„ Zxd<d=„ Zyd>d?„ Zzd@dA„ Z{e\dBdC„ ƒZ|dDdE„ Z}dFdG„ Z~e\dHdI„ ƒZe\dJdK„ ƒZ€dLdM„ ZdNdO„ Z‚dPdQ„ Zƒe\dRdS„ ƒZ„dTdU„ Z…e\dVdW„ ƒZ†dXdY„ Z‡dZd[„ Zˆe\d\d]„ ƒZ‰d^d_„ ZŠd`da„ Z‹dbdc„ ZŒddde„ Zdfdg„ ZŽdhdi„ Zdjdk„ Zdldm„ Z‘dnS )oé    )ÚExpr)ÚMul)Ú
DerivativeÚFunctionÚdiffÚexpand)ÚIÚRationalÚpi)ÚNe)ÚS)ÚDummyÚSymbolÚsymbols)ÚexpÚlog)ÚasinhÚcschÚcoshÚcothÚsechÚsinhÚtanh)Úsqrt)Ú	Piecewise)ÚacosÚacotÚacscÚasecÚasinÚatanÚcosÚcotÚcscÚsecÚsinÚtan)Ú	HeavisideÚ
DiracDelta)Ú
elliptic_eÚ
elliptic_f)
ÚChiÚCiÚEiÚShiÚSiÚerfÚerfiÚfresnelcÚfresnelsÚli)Ú
uppergamma)Úassoc_laguerreÚ
chebyshevtÚ
chebyshevuÚ
gegenbauerÚhermiteÚjacobiÚlaguerreÚlegendre)Úpolylog)ÚIntegralÚ	integrate)ÚAnd)ÚmanualintegrateÚfind_substitutionsÚ_parts_ruleÚintegral_stepsÚmanual_subs)ÚraisesÚslowzx y z u n a b c d eÚfÚFc                 C   s*   t | tƒ|ks	J ‚| t¡ | ¡sJ ‚d S ©N)rB   Úxr   Úequals©rI   rJ   © rO   úQD:\Projects\ConvertPro\env\Lib\site-packages\sympy/integrals/tests/test_manual.pyÚassert_is_integral_of   s   rQ   c                   C   s  t ttƒd d d ttƒd  ttƒd  ttƒttƒdtd  dtd   td  fgks1J ‚t ttƒd ttƒttƒ  ttƒttƒ  ttƒttƒttƒ ddt fgks[J ‚td  tddƒttƒft tttd  ƒ ttƒv swJ ‚t t	t
tƒtƒd ttƒr†J ‚d S )Né   é   é   é   éÿÿÿÿ)rC   r"   rL   r#   Úur$   r&   r	   r   r   rI   rO   rO   rO   rP   Útest_find_substitutions"   s   2(ÿ,ÿÿ8"rX   c                   C   s0  t ttƒtt ksJ ‚t tdƒtƒttdƒ ksJ ‚t td tƒtd d ks)J ‚t dtd  dtd   tƒtd td  ksBJ ‚t td d tƒtd d d ksUJ ‚t dt d d tƒdt d d d kslJ ‚t td d tƒtd d d ksJ ‚t dt d d tƒdt d d d ks–J ‚d S )NrR   é   rU   é	   )rB   ÚyrL   r   rW   rO   rO   rO   rP   Ú test_manualintegrate_polynomials+   s   2&.&2r\   c                	   C   s6  t tdt ƒtƒtdt ƒd ksJ ‚t dt tƒdt tdƒ ks$J ‚tdtdtdt ƒ ƒ ttdtdt ƒ ƒd ƒd ttdtdt ƒ ƒd ƒd  ƒ t dt tƒttƒks^J ‚t ddt d  tƒtdt d ƒd ksuJ ‚t ttƒd t tƒttƒd d ksŠJ ‚ttt ttƒd  tt ƒ d S )NrR   rS   rY   )rB   r   rL   r   rQ   r   rO   rO   rO   rP   Ú!test_manualintegrate_exponentials8   s   &">ÿ.*"r]   c                  C   sÈ  t ttƒttƒ tƒttƒttƒ d ttƒttƒ d  ks!J ‚t dt ttƒ tƒdt ttƒ dttƒ  ks<J ‚t tttƒ tƒtd ttƒ d td d  ksWJ ‚t ttƒtƒtttƒ t kshJ ‚t dtd  d ttƒ tƒdtd  ttƒ dt ttƒ  dttƒ  ks‘J ‚t ttƒtƒtttƒ ttd d ƒd  ksªJ ‚tttƒtƒd ksµJ ‚tttƒtƒd ksÀJ ‚ttd tƒd ksËJ ‚tttƒtƒ} | d ttƒkrà| d dksâJ ‚d S )	NrR   rU   rY   é   rT   é   rS   r   )rB   r   rL   r%   r!   r   r    rD   )ÚresultrO   rO   rP   Útest_manualintegrate_partsE   s   &ÿ66".ÿ2$ra   c                  C   s\  t ttƒtƒttƒ ksJ ‚t ttƒtƒtttƒƒ ksJ ‚t ttƒtƒtttƒttƒ ƒks1J ‚t ttƒtƒtttƒttƒ ƒ ksEJ ‚t ttƒttƒ tƒttƒd d ttƒd  d fv scJ ‚t ttƒ ttƒ tƒttƒ ksvJ ‚t ttƒttƒ tƒttƒ ksˆJ ‚t ttƒd tƒttƒks—J ‚t ttƒd tƒttƒ ks§J ‚t tttd ƒ tƒtttd ƒttd ƒ ƒd ksÄJ ‚t ttƒtttƒƒ tƒttttƒƒtttƒƒ ƒ ksâJ ‚t tdt ƒttƒ tƒt tdt ƒ ksúJ ‚t tdt ƒttƒ tƒdtttƒƒ dtttƒd ƒ  dttƒd   ks$J ‚t	t
dt ƒtdt ƒd ƒ t	tttd ƒ t
td ƒd ƒ t	ttƒtttƒƒƒ t	ttƒtt
tƒƒƒ ttƒdtttd ƒƒ } }t | tƒ|kssJ ‚| t¡|   t¡ ¡ dks„J ‚ttƒtttd ƒƒ} }t | tƒ|ks›J ‚| t¡|   t¡ ¡ dks¬J ‚d S )NrR   rY   éýÿÿÿr   )rB   r%   rL   r!   r&   r   r$   r#   r"   rQ   r   r   r   r   r   r    r   Zrewriter   Úsimplifyr   rN   rO   rO   rP   Ú!test_manualintegrate_trigonometryX   s2    &(<&$ :<02
ÿ""&rd   c                   C   sæ  t ttƒd ttƒ tƒttƒd d ksJ ‚t ttƒd ttƒd  tƒtd tdt ƒd  ks4J ‚t ttƒttƒd  tƒttƒd  d ksLJ ‚t ttƒd ttƒd  tƒttƒd d ttƒd d  ksmJ ‚t ttƒd ttƒ tƒttƒd d ttƒ ksˆJ ‚t ttƒttƒd  tƒttƒd d ksŸJ ‚t ttƒd ttƒ tƒttƒd  d dttƒd  d  ttƒ ksÅJ ‚t ttƒd ttƒd  tƒttƒd  d dttƒd  d  ttƒd d  ksñJ ‚d S )	NrR   rY   é   rU   é    r^   rT   é   )rB   r%   rL   r!   r&   r$   r"   r#   rO   rO   rO   rP   Útest_manualintegrate_trigpowersw   s    .ÿ0ÿ6.,ÿ4ÿrh   c                  C   s  t ttƒdtdt ƒ  tƒtttƒƒksJ ‚t dddtd    tƒtdt d ƒd ks0J ‚t dddtd    tƒttƒd ksEJ ‚t ddtd   tƒttd ƒd ksZJ ‚t dddtd    tƒtdt ƒd ksqJ ‚tdd	d
} tdd	d
}t d| |td    tƒtttt| | ƒ ƒ|t| | ƒ  | | dkfttt|  | ƒ ƒttt|  | ƒ ƒ dt|ƒ t|  ƒ  d	fƒksÈJ ‚t dd|td    tƒtttdtd| ƒ  ƒd| td| ƒ  d| dkft ttdtd| ƒ  ƒttdtd| ƒ  ƒ  dt|ƒ  d	fƒksJ ‚t d| dtd    tƒttdt t| ƒ ƒdt| ƒ  | dkfttt|  ƒd  ƒttt|  ƒd  ƒ dt|  ƒ  d	fƒks\J ‚t dddtd    tƒttƒd ksrJ ‚t dt	t
td    tƒtttt	t
 ƒ ƒt
tt	t
 ƒ  ks”J ‚t dtdtd  ƒ tƒttƒks¨J ‚t dtddtd   ƒ tƒttƒd ksÀJ ‚t dtddtd   ƒ tƒtdt ƒksØJ ‚t dtddtd   ƒ tƒtttddƒ ƒd ksõJ ‚t dttd d ƒ tƒttƒks	J ‚t dttd d ƒ tƒttd ƒksJ ‚t dtdtd  d ƒ tƒttƒd ks7J ‚t dtdtd  d ƒ tƒtdt ƒd ksQJ ‚t dt| td  d ƒ tƒtttt|  ƒ ƒt|  ƒ | dk ftt| ƒt ƒt| ƒ | dkftd	fƒks‰J ‚t dt| td  ƒ tƒttttd|  ƒ ƒ| dkftdt dt| td  ƒ  ƒd	fƒksºJ ‚t dttd d ƒ tƒtdt dttd d ƒ  ƒksÚJ ‚t dttd d ƒ tƒtdt dttd d ƒ  ƒksúJ ‚t dtdtd  d ƒ tƒtdt dtdtd  d ƒ  ƒd ks J ‚t dtdtd  d ƒ tƒtdt dtdtd  d ƒ  ƒd ksFJ ‚t dt| td  d ƒ tƒttdt| ƒ t| td  d ƒ d|  t  ƒt| ƒ t| dƒft t d d	fƒksƒJ ‚t dt|  dtd   ƒ tƒttdt td|  ƒ ƒd | dk ftdt dt|  dtd   ƒ  ƒd d	fƒksÀJ ‚t ttƒtƒtttƒ tdtd  ƒ ksØJ ‚t tt	t ƒtƒtt	t tt	t ƒ tt	d  td  d ƒ t	 tt	dƒfdƒksJ ‚t ttt	t ƒ tƒt	 tt tt	d  td  d ƒ dt	d   tdt	d  t dtt	d  ƒ tt	d  td  d ƒ  ƒdt	d  tt	d  ƒ   tt	d dƒftd d d	fƒ d td tt	t ƒ d  kswJ ‚t ttƒtƒtttƒ tdtd  ƒ ksJ ‚t tt	t ƒtƒtt	t tt	t ƒ tt	d  td  d ƒ t	 tt	dƒftt d d	fƒksÂJ ‚t ttt	t ƒ tƒt	tt tt	d  td  d ƒ dt	d   tdt	d  t dtt	d  ƒ tt	d  td  d ƒ  ƒdt	d  tt	d  ƒ   tt	d dƒftd d d	fƒ d td tt	t ƒ d  ks3J ‚t ttƒtƒtttƒ ttd d ƒd  ksMJ ‚t tt	t ƒtƒtt	t tt	t ƒ tt	d td  d ƒd  t	 tt	dƒfdƒks{J ‚t ttt	t ƒ tƒt	 tt	d  tttt	d ƒ ƒt	d tt	d ƒ    d td tt	t ƒ d  ks´J ‚t ttƒtƒtttƒ tdttddtd   ƒ  tƒ ksÕJ ‚t tt	t ƒtƒttt	t ƒ tdttddt	d td    ƒ  tƒt	  ks J ‚t ttt	t ƒ tƒtd tt	t ƒ d tdtddt	d td    ƒ tƒdt	   ks1J ‚t ttƒtƒtttƒ tdttddtd   ƒ  tƒ ksRJ ‚t tt	t ƒtƒttt	t ƒ tdttddt	d td    ƒ  tƒt	  ks}J ‚t ttt	t ƒ tƒtd tt	t ƒ d tdtddt	d td    ƒ tƒdt	   ks®J ‚t ttƒtƒtttƒ ttd d ƒd  ksÈJ ‚t tt	t ƒtƒtt	t tt	t ƒ tt	d td  d ƒd  t	 tt	dƒftt d d	fƒksüJ ‚t ttt	t ƒ tƒt	tt	d  tttt	d ƒ ƒt	d tt	d ƒ    d td tt	t ƒ d  ks4J ‚t dt| |td   ƒ tƒtttt||  ƒ ƒt|ƒ t| dk | dkƒfttt| |  ƒ ƒt| ƒ t| dk| dkƒftd| t dt| ƒ t| |td   ƒ  ƒt| ƒ t|dƒftt| ƒ d	fƒks¢J ‚t dt| |td   ƒ tƒtttt| |  ƒ ƒt| ƒ t| dk|dk ƒfttt||  ƒ ƒt|ƒ t| dk|dkƒftdt|ƒ t| |td   ƒ d| t  ƒt|ƒ t|dƒftt| ƒ d	fƒksJ ‚d S )NrS   rR   rU   rZ   rY   rT   é   ÚaT©ÚrealÚbr   rV   re   é   )r   Téþÿÿÿ)rB   r   rL   r    r   r   r   r   r   rj   rm   r   r	   r   r   r   r
   r   r?   r   r   rA   )ÚraÚrbrO   rO   rP   Ú test_manualintegrate_inversetrig‰   sà   .2**.0Dÿÿ8Dÿ
ÿ(<ÿ
ÿ,D(00:
ÿ

ÿ

ÿ
ÿJ
ÿ@
ÿ@@LLT
ÿR
ÿ0Z0Xÿÿþþþ
ÿ0f.Xÿÿþþþ
ÿ4\rBVbBVb4hp02Dý
ÿ2,@ýÿrr   c                	   C   s”  t tdtd  d ƒt tƒttdtd  d ƒdtddt  ƒ  tttddƒk ttddƒkƒfƒks6J ‚t dtd tdtd  ƒ  tƒtttd  d d ƒ d	t  td  d d dtj  d
td    ttdk tdkƒfƒksxJ ‚t td dtd  d dtj   tƒdtd  d dtj  d dtd  d dtj  d  dtdtd  d ƒ d  ddtdtd  d ƒ   ksÈJ ‚d S )Nri   rR   rZ   rY   rU   rb   rS   é   é}   é   r^   éûÿÿÿrg   é1   iÅÑ·iÁöW )	rB   r   rL   r   r   rA   r	   r   ÚHalfrO   rO   rO   rP   Ú&test_manualintegrate_trig_substitutionë   s*   (ÿÿ  &ÿÿÿ&ÿþþÿry   c                  C   sˆ   t ttƒtt ƒ t tƒtt ƒ ttƒ ksJ ‚tdƒ} t | tƒ| t ƒ t tƒt| t ƒt tƒ t| tƒt tƒ ksBJ ‚d S )NrI   )rB   r   rL   r-   r   r?   ©rI   rO   rO   rP   Ú)test_manualintegrate_trivial_substitution÷   s
   4&ÿr{   c                   C   sz   t ddtd   tƒttd ƒ d ttd ƒd  ksJ ‚t ddtd   tƒttd ƒd ttd ƒd  ks;J ‚d S )NrS   rU   rR   rV   )rB   rL   r   rO   rO   rO   rP   Útest_manualintegrate_rationalþ   s   <>r|   c                  C   s,  dt td  d ƒ dtdƒ ttƒ ttdƒt d ƒ } }t| |ƒ dt dtd  ƒ dttƒ tdt ƒ d } }t| |ƒ ttddƒ t t d ƒ dttddƒtd ƒ } }t| |ƒ t dt ƒt t	dt ƒ} }t| |ƒ t ddt  td  ƒttƒt dƒ ttd ƒ d } }t| |ƒ t
td dt  d ƒ} tdƒttƒ t
dƒ ttdƒdt d  dttƒ  ƒ tdƒttdƒdt d  dttƒ  ƒ   d }t| |ƒ tdtd  ƒtdƒttƒ tdtdƒ t ttƒ ƒ d } }t| |ƒ t
dt d ƒt t
dƒtdt ƒ tdƒtdt ƒ  } }t| |ƒ tdt d ƒt tdƒ tdt ƒ tdƒtdt ƒ  } }t| |ƒ dtdt d ƒ t dtdƒ tdt ƒ dt
dƒ tdt ƒ  } }t| |ƒ ttd ƒt ttd ƒ} }t| |ƒ ttd ƒt ttd ƒd } }t| |ƒ dtdt d ƒ tdt d ƒd } }t| |ƒ tddt ƒt tddt ƒ} }t| |ƒ dtddt
tƒd   ƒ dtdƒ tttddƒƒ d } }t| |ƒ tddt
tƒd   ƒdtttd	dƒƒ } }t| |ƒ d S )
NrU   rR   rY   rS   re   iðÿÿÿr^   rZ   i÷ÿÿÿ)r   rL   r   r
   r0   rQ   r1   r	   r5   r-   r%   r2   r!   r3   r,   r/   r   r+   r   r.   r   r4   r>   r*   r)   rN   rO   rO   rP   Útest_manualintegrate_special  sJ   @
2
6

:
:*ÿÿ
B
>
@
J

"
*
"
>
.r}   c                   C   s´   t tttd dt  d ƒ tƒttd dt  d  ksJ ‚t ttd dt  d tƒtƒtttd dt  d tƒƒks@J ‚t tttƒttttƒtƒtttƒtttƒksXJ ‚d S )NrR   rY   )rB   r
   r   rL   r[   r?   r%   rO   rO   rO   rP   Útest_manualintegrate_derivative(  s    ÿÿÿr~   c                  C   sì  t tdt d ƒtdt d ƒd ƒ t tdt dƒtdt ƒd ƒ ttttt  dƒtƒttttt  ƒt ttdƒftttdƒ dfƒksJJ ‚t ttd d dƒdttd d dƒ ƒ tttƒtƒtttƒ ksnJ ‚tttdƒ tƒtd d ksJ ‚tttdƒ tƒdksŒJ ‚ttttƒ tƒtd ttƒ d ks¡J ‚tttt ƒ tƒtd tt ƒ d ks¸J ‚ttdt d ƒtƒtd tdt d ƒ ksÑJ ‚ttttƒ tƒtd ttƒ d ksæJ ‚tttd ƒtdt ƒ td  tƒtd d t	ddƒ ttd ƒ t	ddƒ tt d ƒ ksJ ‚t
dƒ} ttd	t ƒtdt d	 ƒ tƒttd	 ƒ tt	d
dƒƒ tdt td	ƒ ƒ ksIJ ‚tt| t ƒtdt |  ƒ tƒt| t	ddƒ ƒtt|  ƒ tdt |  ƒ kstJ ‚d S )NrY   rR   r   rS   Tro   rU   r[   rg   é   )rQ   r(   rL   r'   rB   rj   rm   r   r   r	   r   r%   r!   r   )r[   rO   rO   rP   Útest_manualintegrate_Heaviside1  s.   & 0ÿ*"*.2*$8
ÿ .
ÿ ,ÿr€   c                  C   sn  t dƒ} dtddƒ}}t| ||tƒt| |tƒt| tƒt| tƒt| tƒt| tƒt	| tƒt
| |tƒg}|D ]€}t|tƒ}dD ]%}z| | |¡}W n	 tyP   Y q=w | | |¡ t¡|  ¡ dksbJ ‚q=t| tdt d ¡ }t|tƒ}d	D ]}| | |¡ t¡| | |¡  ¡ dksJ ‚qvt d
ƒ}	tt|jƒd ƒD ]}
t|jƒ}|	||
< tt|j|Ž |	ƒtƒs³J ‚q›q4d S )NÚnrg   r^   rY   )ro   rV   r   rS   rY   r^   re   r   rR   rS   )rR   rU   rg   Út)r   r	   r;   rL   r9   r7   r8   r=   r:   r<   r6   rB   ÚsubsÚ
ValueErrorr   r   ÚrangeÚlenÚargsÚlistÚ
isinstanceÚfuncr?   )r   rj   rm   ZpolysÚpZintegralÚdegZp_subbedÚqr‚   ÚiÚnew_argsrO   rO   rP   Ú$test_manualintegrate_orthogonal_polyI  s4    
þ
ÿ$
,
ýîr   c                  C   sê   t td ¡ ƒ\} }}tdddd}t|||  ƒt|| ƒ }|t tf}t||ƒ|| d td| | ƒd  t|| ƒ t|| ƒt|| ƒd  d  | ksTJ ‚| t||ƒ ¡  t | t|| ƒ ksiJ ‚t||ƒ 	t
¡rsJ ‚d S )Nzr x phir   T)ÚintegerÚpositiverR   rU   )Úmapr   Úsplitr!   r
   rB   r%   r@   ZtrigsimpÚhasr   )ÚrrL   Úphir   Ú	integrandZlimitsrO   rO   rP   Útest_issue_6799g  s   Nÿ*r™   c                   C   sB   t tt tƒtttd  td  ttdƒfttƒdfƒksJ ‚d S )NrS   rV   T)rB   rL   r[   r   r   r   rO   rO   rO   rP   Útest_issue_12251t  s   &ÿrš   c                   C   sr   t ttttd  ƒƒtƒtttd  ƒksJ ‚ttttd ƒ tddt ttƒ tttd  ƒ d ks7J ‚d S )NrR   rU   F)Zrisch)	rB   r   r   rL   r@   r   r   r
   r0   rO   rO   rO   rP   Útest_issue_3796y  s   .Dr›   c                   C   sŠ   t ttƒttƒ tddttƒttƒ d ttƒttƒ d  ks#J ‚t ttƒttƒ tddttƒd d ttƒd  d fv sCJ ‚d S )NT©ZmanualrR   )r@   r   rL   r%   r!   rO   rO   rO   rP   Útest_manual_true~  s   &ÿ ÿr   c               
   C   s  t dƒ} t dƒ}t| t tƒt| t t| ƒ tt| ƒdƒftdfƒks%J ‚t| |t  tƒtt| |t  t| ƒ tt| ƒdƒf|t dfƒ| t|dƒftdfƒksTJ ‚tt|t ƒtƒtt|t ƒ| t|dƒftdfƒksqJ ‚t ddd} t| d t tƒ| d t t| d ƒ ksŽJ ‚t ddd} t| d t tƒtks¡J ‚t dƒ} t ddd}t| |t  tƒt| |t  t| ƒ tt| ƒdƒf|t dfƒ| ksÐJ ‚t ddd} t| d |t  tƒ| d |t  |t| d ƒ  ksóJ ‚t d	dd
}t dƒ}td||td    tƒttt|| ƒ ƒ|t|| ƒ  ksJ ‚t ddd
}td||td    tƒttt| ƒtd| ƒ  ƒ|t| ƒ td| ƒ  ksQJ ‚tdt| | |  d t|td  d ƒ  tƒ| |  t	t|  | |  t|td  d ƒ t|  t|td  d ƒ  dt|   | |   t|td  d ƒ   tƒ ks®J ‚tdtd d tdtd  d ƒ  tƒt	dtd d tdtd  d ƒ  tƒksÛJ ‚tdt|t  t|d    tƒt	d|t  |d t  t  tƒksJ ‚d S )Nr[   r   r   T)r’   rS   )Úzero)Znonzerorj   )Únegativerm   rR   rV   rU   )
r   rB   rL   r   r   r   r   r    r   r?   )r[   r   rj   rm   rO   rO   rP   Útest_issue_6746…  sp   "
ÿ 
þýý
û
ÿ.*ÿ
ÿÿD6
ÿ0.ÿ*ÿÿ
ÿ((
ÿ "ÿr    c                   C   s~  t ttƒttƒ tƒt ttƒ ttd  d ƒ tttƒ ttd  d ƒ ttƒ  tttd  d ƒt tƒ ks>J ‚t ttƒttƒ tƒt ttƒ ttd  d ƒ tttƒ ttd  d ƒ ttƒ  tttd  d ƒt tƒ ks|J ‚t ttƒttƒ tƒt ttƒ tttƒ ttd d ƒd  ttƒ  ttd d ƒd  tttd d ƒt tƒd  ks½J ‚d S )NrR   rS   )rB   r   rL   r   r   r?   r   r    rO   rO   rO   rP   Útest_issue_2850­  s&   2$ÿ
ÿ2$ÿ
ÿ*ÿÿÿÿr¡   c                	   C   s  t tdt ƒttƒ tƒttƒtdt ƒ d dttƒ tdt ƒ d  ks)J ‚ttdt ƒttƒ tƒ ¡ r:J ‚t td td dt  d d  tƒtttd dtd   dtd   dt  d  tƒdtdtd dtd   dtd   dt  d  tƒ  ks‡J ‚d S )NrR   r^   rY   rU   re   rS   )rB   r%   rL   r   r!   rE   Zcontains_dont_knowr?   rO   rO   rO   rP   Útest_issue_9462·  s   R"$48ÿÿr¢   c                  C   s  t tƒttd ƒ } dttd ƒ ttƒ d dttd ƒ t tƒ d  }t| tƒ|kr4| t¡| ks6J ‚tt tƒ ttd ƒ } tdttd ƒ ttƒ d dttd ƒ t tƒ d   dttd ƒ ttƒ d  dttd ƒ t tƒ d  }t| tƒ|krŠ| t¡| ksŒJ ‚d S )NrU   ri   é   é€   é!  éð   )r!   rL   r   r%   rB   r   rN   rO   rO   rP   Útest_cyclic_parts¿  s   8 :ÿÿ$r§   c                   C   s¾   t dtd  dtd   dtd   dt  d td dtd   dtd   dtd   dtd   dt  d	  tƒdt td d	  dttƒ  d	td d	   dtd	   ks]J ‚d S )
NrU   rY   ri   rR   é   re   rT   r^   rS   )rB   rL   r    rO   rO   rO   rP   Útest_issue_10847_slowÉ  s   0Bÿÿ:þr©   c                  C   s
  t td td t  tƒttttt ƒ ƒ tt ƒ t ks!J ‚tddd} t td td |   tƒ| tttt|  ƒ ƒt|  ƒ | dk ftt| ƒ t ƒtt| ƒt ƒ dt| ƒ  dfƒ t ksfJ ‚t ttt ƒtt	t ƒ tƒdtt
ddƒ  tttt ƒttƒ ƒ d dt ttt ƒ d  dtt t
ddƒ  tt	t ƒ d  dtt t
ddƒ  d  ksºJ ‚td	dd}td
dd}t tt| ƒt|t ƒ tƒd|d  tttt| ƒt|ƒ ƒt|ƒ |dkftt| ƒ tt| ƒ ƒtt| ƒtt| ƒ ƒ dt| ƒ  dfƒ d d| tt| ƒ d  dt| t
ddƒ  t|t ƒ d  dt| t
ddƒ  d  ksEJ ‚t ttƒttƒ tƒdtt
ddƒ  ttƒ d dtt
ddƒ  d  ksmJ ‚t ttt t ƒt tƒtdt tttt t ƒtt ƒ ƒ tt ƒ dttt t ƒ  ttdƒfttƒttƒ dfƒks¯J ‚tddd}tddd}t t|t | ƒt tƒtd| ttt|t | ƒt| ƒ ƒ t| ƒ |dk ft tt|ƒ t|t | ƒ ƒtt|ƒt|t | ƒ ƒ  dt| ƒ  dfƒ dt|t | ƒ  t|dƒft|ƒttƒ dfƒks,J ‚tt t|t | ƒt|   tƒƒtd| |  ttt|t | ƒt||  | ƒ ƒt||  | ƒ ||  | dkftt| |  | ƒ t|t | ƒ ƒdt| |  | ƒ  tt| |  | ƒt|t | ƒ ƒdt| |  | ƒ   dfƒ d| ttt|t | ƒt||  | ƒ ƒt||  | ƒ ||  | dkftt| |  | ƒ t|t | ƒ ƒdt| |  | ƒ  tt| |  | ƒt|t | ƒ ƒdt| |  | ƒ   dfƒ  dt|t | ƒ  t|dƒft|ƒt| t ƒ dfƒks*J ‚t tdt d ƒtd  tƒdtdt d ƒ ttdt d ƒd ƒ ttdt d ƒd ƒ ks^J ‚t tdt d ƒd t tƒdt d t
ddƒ d dt d t
ddƒ d  ksŠJ ‚t tt
ddƒ ttƒ tƒdtt
ddƒ  ttƒ d dtt
ddƒ  d  ksµJ ‚t td ttƒ tƒttƒ dtd   ddtd    ksÖJ ‚t ttƒtd ddt    tƒttƒtddt  ƒ ttddt  ƒt tƒ ksJ ‚d S )NrR   ÚcTrk   r   rU   rY   rZ   r[   Úzrj   rm   ro   rS   r^   é   rs   rb   rV   )rB   rL   rª   r    r   r   r   r   r[   r«   r	   rj   rm   r   r   r   r?   )ÚrcZryZrzrp   rq   rO   rO   rP   Útest_issue_10847Ð  s    B&0ÿÿÿD$ÿÿÿ2Fÿÿþ$þý
ÿPb
ÿ0Pþýýû
ÿ P<:ÿÿÿJ<:ÿÿÿýúúú
ÿh	XVB 0ÿr®   c                   C   sd   t tttƒ t¡tƒtttttƒtƒtƒksJ ‚t tttƒ t¡ t¡tƒttttƒtƒks0J ‚d S rK   )rB   rI   rL   r[   r   r?   r   rO   rO   rO   rP   Útest_issue_12899  s   04r¯   c                   C   s2   t tttddfƒtƒttttddfƒ ksJ ‚d S )NrS   rR   )rB   r?   r[   rL   rO   rO   rO   rP   Ú#test_constant_independent_of_symbol  s   ÿr°   c                   C   s´   t tdt ƒtƒtdt ƒ d ksJ ‚t ttƒtdt ƒ tƒdttƒd  d ks-J ‚t tdt ƒttƒ dttƒ  tƒdtttƒd ƒ ttƒd  dttƒ  ksXJ ‚d S )NrR   ro   rY   rS   )rB   r%   rL   r!   r   rO   rO   rO   rP   Útest_issue_12641  s
   (2$*ÿr±   c                   C   s4   t ttƒttƒd  tƒttƒd  d ksJ ‚d S )Nr^   rT   )rB   r%   rL   r!   rO   rO   rO   rP   Útest_issue_13297  s   4r²   c                   C   sB   t dtttd ƒ  tttd ƒd ƒtttd ƒd ƒ ƒ d S )NrS   )rQ   rL   r   r   rO   rO   rO   rP   Útest_issue_14470  s   Br³   c                  C   sÐ  t ttƒtttƒƒ tƒtttƒƒksJ ‚t tdt ƒtttƒƒ tƒttƒtttƒƒ tttƒƒ ks6J ‚t tdt ƒtttƒƒ tƒ} |  t¡rLJ ‚|  t¡tdt ƒtttƒƒ ks_J ‚t tdd„ t	ddƒD ƒƒtƒttdt ƒ d ttdt ƒ d  ttd	t ƒ d	  ttd
t ƒ d
  ttdt ƒ d  ttdt ƒ d  tttƒ  tdt ƒd  tdt ƒd  td	t ƒd  td
t ƒd  tdt ƒd  tdt ƒd
  ttƒ ksæJ ‚d S )NrR   é
   c                 S   s   g | ]
}t t|t  ƒ ‘qS rO   )rL   r   )Ú.0ÚkrO   rO   rP   Ú
<listcomp>&  s    z#test_issue_9858.<locals>.<listcomp>rS   re   rg   rT   r^   rU   rY   rw   é$   rs   ri   rZ   )
rB   r   rL   r!   r%   r•   r?   r   Úsumr…   )ÚresrO   rO   rP   Útest_issue_9858  s<   *ÿ&Nÿÿ
ÿÿÿþþþþþÿr»   c                  C   s”   t ttd d  tƒttd ƒd ksJ ‚t td td d  tƒttd d ƒd ks.J ‚td	td  d d  } t | tƒ t¡ ¡ | ksHJ ‚d S )
NrU   rS   rR   rT   rs   rY   r^   ru   rZ   )rB   rL   r    r   Úfactorrz   rO   rO   rP   Útest_issue_8520,  s   *2 r½   c                      sŽ   t dƒ\‰‰tˆƒtˆƒ ‰ tˆ tˆƒˆƒˆttˆƒƒ ks J ‚tˆ tˆƒˆƒtˆƒˆ ks0J ‚tt‡ ‡fdd„ƒ tt‡ ‡‡fdd„ƒ d S )Nzx yc                      s
   t ˆ ˆƒS rK   )rF   rO   )ÚexprrL   rO   rP   Ú<lambda>;  s   
 z"test_manual_subs.<locals>.<lambda>c                      s   t ˆ tˆƒˆˆƒS rK   )rF   r   rO   ©r¾   rL   r[   rO   rP   r¿   <  s    )r   r   r   rF   rG   r„   rO   rO   rÀ   rP   Útest_manual_subs3  s   $ rÁ   c                  C   sÀ   t tƒtt tƒƒ ttddƒ  } dttddƒ  tt tƒƒ d dttddƒ  tt tƒƒ d  dttddƒ  tt tƒƒ d dttddƒ  tt tƒƒ d  t tƒ  }t| |ƒ d S )	NrY   rU   i€ÿÿÿrS   r¥   r¦   ri   r£   )r   rL   r!   r	   r%   rQ   rN   rO   rO   rP   Útest_issue_15471?  s   "rÂ   c               	   C   sÞ   dt  d dt d  dt   d  } t| t ƒdtdt d  dt   d ƒ d dtdƒ tdtdƒ t tddƒ  d ƒ d	  ksDJ ‚ddt d  dt   d  }t|t ƒdtd
t  d ƒ dtd
t  d
 ƒ  ksmJ ‚d S )Nr^   rR   rY   re   rT   r_   é   rS   éE   rU   )rL   rB   r   r   r    r	   )rI   ÚgrO   rO   rP   Útest_quadratic_denomF  s   $d:rÆ   c                   C   s"   t ttƒtƒtttƒ ksJ ‚d S rK   )rB   r%   rL   r[   rO   rO   rO   rP   Útest_issue_22757L  s   "rÇ   c                  C   s0   t ttƒtƒ} | jj}|j|j|j ksJ ‚d S rK   )rE   r&   rL   Zsubstepr˜   ZconstantÚother)ZstepsZconstant_times_steprO   rO   rP   Útest_issue_23348P  s   rÉ   c                  C   sf   t dttd d ƒ tddfƒjdd} | tddtdƒ  ƒ tdƒ ks'J ‚t|  ¡ ƒd	ks1J ‚d S )
NrS   rR   ro   rV   Trœ   rU   rY   z1.31695789692482)r?   r   rL   Zdoitr   Ústrr   )rŽ   rO   rO   rP   Útest_issue_23566V  s   (&rË   c                  C   s²  t ttd ƒtttd ƒ d ƒ t tttdƒd  ƒdt tttdƒd  ƒ d ƒ t dttd ƒ tttƒ ttd ƒ ƒ t tttd ƒ td ttd ƒ ttƒ ƒ tttt  t  t	 } tttt  t  t	 tt t  tt	 d  }tttt  t  t	 tt t  ttt t ƒ }t
| tƒtt|ttt	 dƒf|d	fƒttd
ƒfttt t t	  d	fƒks½J ‚| t¡ | ¡sÇJ ‚| t¡ tt	 d¡ | ¡s×J ‚d S )NrR   r^   rY   rT   r_   rS   éüÿÿÿrV   Tr   )rQ   r   rL   r   r   rª   rj   rm   ÚdÚerB   r   r   r   rM   rƒ   )rI   ZF1ZF2rO   rO   rP   Útest_nested_pow\  s   "6*.04>ÿ$rÏ   c                
   C   sŠ  t dtd  d tddt  ƒ ddt d tdƒd   d ddt d tdƒd   d  d	dt d tdƒd   d
  dtdt d ƒ d
  ƒ tttttt  ƒd  tƒttdtd ttttt  ƒ tttt  ƒ ƒt	tdƒftd dttdƒd    dfƒksŒJ ‚t tdt d ƒd dt d dtdƒ  d  dtdƒ dt d tdƒd   d dtdƒ dt d tdƒd   d  dtdƒ dt d tj
d   d  ddt d tdƒd   d  ddt d tj
d   d  tdƒtdt d ƒ d  dtdt d tj
d  d ƒ d  dtdƒ tdt d tj
d  ƒ d  ƒ t ttttƒ ƒdtttƒt ƒ ttƒd td  tdƒd   tdttƒ dtttƒt ƒ  d ƒd  ƒ t tdt d tdt d ƒ ƒd tdt tdt d ƒ d ƒdt d ddt d tdƒd   d	  tdt d ƒd	  dt d d d  tdƒd   d ƒ d S )Nr^   rY   rU   rR   r´   rg   i7  é   é(   éQ   éˆ   ro   r   TrS   rT   é   r¨   re   rZ   r_   )rQ   rL   r   r   rB   rj   rm   r   r   r   ZOner   r    rO   rO   rO   rP   Ú test_manualintegrate_sqrt_linearj  sF    >ÿÿÿZÿ0N$ÿÿÿþ$þ(ýÿ^ÿ$^ÿÿÿrÕ   c                   C   s¸	  t dttt d d ƒ tdt dttd dt t  d ƒ  dt  ƒƒ t dtdtd  dt  d ƒ tdƒtdtdƒ ttdƒd   d ƒ d ƒ t dtdtd  dt  d ƒ tdƒtdtdƒ ttdƒd   d ƒ d ƒ t dtdtd  dt  d ƒ tdƒtd	t dtdƒ tdtd  dt  d ƒ  d ƒ d ƒ t dtdtd  dt  d ƒ ttj tttj ƒ dtttj d ƒ  ƒ t	dtt
tt  ttd   ƒ tƒtttdttƒ tt
tt  ttd   ƒ  dt t  ƒttƒ ttd
ƒtt
td dt   d
ƒ@ ftdt  t ttdt  t ƒ tttdt  t d  ƒ ttd
ƒfdtt
tt  ƒ t ttd
ƒfttt
ƒ dfƒks[J ‚t dt d	 tdtd  dt  d ƒ dtdtd  dt  d ƒ d dtdƒ tdtdƒ ttdƒd   d ƒ d  ƒ t dt d	 tdtd  dt  d ƒ dtdtd  dt  d ƒ d dtdƒ tdtdƒ ttdƒd   d ƒ d  ƒ t dt d	 tdtd  dt  d ƒ dtdtd  dt  d ƒ d dtdƒ td	t dtdƒ tdtd  dt  d ƒ  d ƒ d  ƒ t	ttt  tt
tt  ttd   ƒ tƒtt t dt  t tttdttƒ tt
tt  ttd   ƒ  dt t  ƒttƒ tt
td dt   d
ƒftdt  t ttdt  t ƒ tttdt  t d  ƒ dfƒ ttt
tt  ttd   ƒ t  ttd
ƒfdt tt
tt  ƒ dt t
 tt
tt  ƒ t
tt  tdƒd  d   t  t ttd
ƒftt ttd  d  tt
ƒ dfƒksúJ ‚t	dtd  td  dt  d ttd dt  d ƒ tƒttd dt  d ƒtd dt d  tdƒd   dtdt dttd dt  d ƒ  d ƒ d  ksRJ ‚t tdtd  dt  d ƒtd tdƒd  tdtd  dt  d ƒ dtdƒ tdt d tdƒd  ƒ d  ƒ t	tt
ttd   ƒtƒtt
ttdttƒ tt
ttd   ƒ dt t  ƒttƒ tt
d
ƒftttƒ tttd  ƒ dfƒ d ttt
ttd   ƒ d  ttd
ƒftt
ƒt dfƒksñJ ‚t	tt
tt  ttd   ƒtƒtt
d td dt   tttdttƒ tt
tt  ttd   ƒ  dt t  ƒttƒ tt
td dt   d
ƒftdt  t ttdt  t ƒ tttdt  t d  ƒ dfƒ tdt  td  tt
tt  ttd   ƒ  ttd
ƒfdt
tt  tdƒd   dt  ttd
ƒftt
ƒt dfƒksŸJ ‚t tttd dt  d ƒ td d td	  tdƒd	  ttd dt  d ƒ dttdƒtd  d ƒ d  ƒ d S )NrS   rR   rY   rU   r^   r_   rb   é   rT   r   Trg   rZ   iùÿÿÿrf   é   ée   re   é‡   ri   iéÏ  i¬ iåY  i+A  i‰‡¦iQ  iC)  ir+  iÁ  i:§ŠC)rQ   r   rL   r   r   r   r   r   rx   rB   rj   rm   rª   r   r   rÍ   rÎ   rO   rO   rO   rP   Ú#test_manualintegrate_sqrt_quadratic|  s   NRRfP$hH.þ
ÿ(Vÿ(Vÿ(jÿ,^Bÿÿ"ýýb"û
ÿ<j
ÿ.*ÿÿFÿÿÿÿþ
ÿ ^Bÿÿ.ýý,û
ÿVÿrÚ   c                   C   sÚ   t tttƒ ttƒ tttƒ tttƒttƒ ƒ ƒ t tttƒd  tttƒ tttƒƒ ƒ t td tttƒtdfƒ td tttƒtdfƒ dtd  tttƒtdfƒ  dt tttƒtƒ  dttƒ  ƒ d S )NrR   rY   rU   rT   )rQ   rL   r$   r&   r   r!   r   rI   rO   rO   rO   rP   Útest_mul_pow_derivative«  s   6*6ÿ
ÿÿrÛ   N)’Zsympy.core.exprr   Zsympy.core.mulr   Zsympy.core.functionr   r   r   r   Zsympy.core.numbersr   r	   r
   Zsympy.core.relationalr   Zsympy.core.singletonr   Zsympy.core.symbolr   r   r   Z&sympy.functions.elementary.exponentialr   r   Z%sympy.functions.elementary.hyperbolicr   r   r   r   r   r   r   Z(sympy.functions.elementary.miscellaneousr   Z$sympy.functions.elementary.piecewiser   Z(sympy.functions.elementary.trigonometricr   r   r   r   r   r    r!   r"   r#   r$   r%   r&   Z'sympy.functions.special.delta_functionsr'   r(   Z*sympy.functions.special.elliptic_integralsr)   r*   Z'sympy.functions.special.error_functionsr+   r,   r-   r.   r/   r0   r1   r2   r3   r4   Z'sympy.functions.special.gamma_functionsr5   Z#sympy.functions.special.polynomialsr6   r7   r8   r9   r:   r;   r<   r=   Z&sympy.functions.special.zeta_functionsr>   Zsympy.integrals.integralsr?   r@   Zsympy.logic.boolalgrA   Zsympy.integrals.manualintegraterB   rC   rD   rE   rF   Zsympy.testing.pytestrG   rH   rL   r[   r«   rW   r   rj   rm   rª   rÍ   rÎ   rI   rQ   rX   r\   r]   ra   rd   rh   rr   ry   r{   r|   r}   r~   r€   r   r™   rš   r›   r   r    r¡   r¢   r§   r©   r®   r¯   r°   r±   r²   r³   r»   r½   rÁ   rÂ   rÆ   rÇ   rÉ   rË   rÏ   rÕ   rÚ   rÛ   rO   rO   rO   rP   Ú<module>   s–    $80(	

a%	
(
	


2


/