U
    —9%eÏ  ã                
   @   sp  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ƒZgeedœ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©rI   ÚFc                 C   s*   t | tƒ|kst‚| t¡ | ¡s&t‚d S ©N)rB   ÚxÚAssertionErrorr   ÚequalsrJ   © rP   ú`/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/sympy/integrals/tests/test_manual.pyÚassert_is_integral_of   s    rR   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sbt‚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¶t‚td  tddƒt	tƒft tt	td  ƒ ttƒksît‚t t
ttƒtƒd ttƒrt‚d S )Né   é   é   é   éÿÿÿÿ)rC   r"   rM   r#   ÚurN   r$   r&   r	   r   r   rI   rP   rP   rP   rQ   Útest_find_substitutions"   s    2(ÿ, ÿÿ8rY   c                   C   s2  t ttƒtt kst‚t tdƒtƒttdƒ ks4t‚t td tƒtd d ksRt‚t dtd  dtd   tƒtd td  ks„t‚t td d tƒtd d d ksªt‚t dt d d tƒdt d d d ksØt‚t td d tƒtd d d ksþt‚t dt d d tƒdt d d d ks.t‚d S )NrS   é   rV   é	   )rB   ÚyrM   rN   r   rX   rP   rP   rP   rQ   Ú test_manualintegrate_polynomials+   s    2&.&r]   c                	   C   s8  t tdt ƒtƒtdt ƒd ks&t‚t dt tƒdt tdƒ ksHt‚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¼t‚t ddt d  tƒtdt d ƒd ksêt‚t ttƒd t tƒttƒd d kst‚ttt ttƒd  tt ƒ d S )NrS   rT   rZ   )rB   r   rM   rN   r   rR   r   rP   rP   rP   rQ   Ú!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sBt‚t dt ttƒ tƒdt ttƒ dttƒ  ksxt‚t tttƒ tƒtd ttƒ d td d  ks®t‚t ttƒtƒtttƒ t ksÐt‚t dtd  d ttƒ tƒdtd  ttƒ dt ttƒ  dttƒ  ks$t‚t ttƒtƒtttƒ ttd d ƒd  ksXt‚tttƒtƒd kspt‚tttƒtƒd ksˆt‚ttd tƒd ks t‚tttƒtƒ} | d ttƒkrÎ| d dksÒt‚d S )	NrS   rV   rZ   é   rU   é   rT   r   )	rB   r   rM   r%   r!   rN   r   r    rD   )ÚresultrP   rP   rQ   Útest_manualintegrate_partsE   s    &ÿ66".ÿ
4rb   c                  C   sh  t ttƒtƒttƒ kst‚t ttƒtƒtttƒƒ ks<t‚t ttƒtƒtttƒttƒ ƒksbt‚t ttƒtƒtttƒt	tƒ ƒ ksŠt‚t ttƒttƒ tƒttƒd d ttƒd  d fksÆt‚t ttƒ ttƒ tƒttƒ ksìt‚t ttƒt	tƒ tƒttƒ kst‚t ttƒd tƒttƒks2t‚t ttƒd tƒt	tƒ ksTt‚t tttd ƒ tƒtttd ƒttd ƒ ƒd kst‚t ttƒtttƒƒ tƒtt	ttƒƒtttƒƒ ƒ ksÎt‚t tdt ƒttƒ tƒt tdt ƒ ks t‚t tdt ƒttƒ tƒdtttƒƒ dtttƒd ƒ  dttƒd   ksTt‚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sòt‚| t¡|   t¡ ¡ dkst‚ttƒtttd ƒƒ } }t | tƒ|ksBt‚| t¡|   t¡ ¡ dksdt‚d S )NrS   rZ   éýÿÿÿr   )rB   r%   rM   r!   rN   r&   r   r$   r#   r"   rR   r   r   r   r   r   r    r   Zrewriter   Úsimplifyr   rJ   rP   rP   rQ   Ú!test_manualintegrate_trigonometryX   s2     &(<&& "<>22ÿ
""re   c                   C   sî  t ttƒd ttƒ tƒttƒd d ks.t‚t ttƒd ttƒd  tƒtd tdt ƒd  ksht‚t ttƒttƒd  tƒttƒd  d ks˜t‚t ttƒd ttƒd  tƒttƒd d ttƒd d  ksÚt‚t ttƒd ttƒ tƒttƒd d ttƒ kst‚t ttƒttƒd  tƒttƒd d ksBt‚t ttƒd ttƒ tƒttƒd  d dttƒd  d  ttƒ kst‚t ttƒd ttƒd  tƒttƒd  d dttƒd  d  ttƒd d  ksêt‚d S )	NrS   rZ   é   rV   é    r_   rU   é   )	rB   r%   rM   r!   rN   r&   r$   r"   r#   rP   rP   rP   rQ   Útest_manualintegrate_trigpowersw   s     .ÿ0ÿ80,ÿ
4ÿri   c                  C   s  t ttƒdtdt ƒ  tƒtttƒƒks.t‚t dddtd    tƒtdt d ƒd ks`t‚t dddtd    tƒttƒd ksŠt‚t ddtd   tƒttd ƒd ks´t‚t dddtd    tƒtdt ƒd ksât‚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’t‚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s2t‚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ºt‚t dddtd    tƒttƒd ksæt‚t dt
ttd    tƒtttt
t ƒ ƒttt
t ƒ  ks*t‚t dtdtd  ƒ tƒttƒksRt‚t dtddtd   ƒ tƒttƒd ks‚t‚t dtddtd   ƒ tƒtdt ƒks²t‚t dtddtd   ƒ tƒtttddƒ ƒd ksìt‚t dttd d ƒ tƒttƒkst‚t dttd d ƒ tƒttd ƒks@t‚t dtdtd  d ƒ tƒttƒd kspt‚t dtdtd  d ƒ tƒtdt ƒd ks¤t‚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t‚t dt| td  ƒ tƒttttd|  ƒ ƒ| dkftdt dt| td  ƒ  ƒd	fƒksvt‚t dttd d ƒ tƒtdt dttd d ƒ  ƒks¶t‚t dttd d ƒ tƒtdt dttd d ƒ  ƒksöt‚t dtdtd  d ƒ tƒtdt dtdtd  d ƒ  ƒd ksBt‚t dtdtd  d ƒ tƒtdt dtdtd  d ƒ  ƒd ksŽt‚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t‚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‚t‚t ttƒtƒtttƒ tdtd  ƒ ks²t‚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t‚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sðt‚t ttƒtƒtttƒ tdtd  ƒ k	s t‚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†t‚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
sht‚t ttƒtƒtttƒ ttd d ƒd  k
sœt‚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øt‚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sjt‚t ttƒtƒtttƒ tdttddtd   ƒ  tƒ ks¬t‚t tt
t ƒtƒttt
t ƒ tdttddt
d td    ƒ  tƒt
  kst‚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sdt‚t ttƒtƒtttƒ tdttddtd   ƒ  tƒ ks¦t‚t tt
t ƒtƒttt
t ƒ tdttddt
d td    ƒ  tƒt
  ksüt‚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^t‚t ttƒtƒtttƒ ttd d ƒd  ks’t‚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út‚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sjt‚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sFt‚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t‚d S )NrT   rS   rV   r[   rZ   rU   é   ÚaT©ÚrealÚbr   rW   rf   é   )r   Téþÿÿÿ)rB   r   rM   r    rN   r   r   r   r   r   rk   rn   r   r	   r   r   r   r
   r   r?   r   r   rA   )ÚraÚrbrP   rP   rQ   Ú 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,@ýÿrs   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slt‚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sðt‚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’t‚d S )Nrj   rS   r[   rZ   rV   rc   rT   é   é}   é   r_   éûÿÿÿrh   é1   iÅÑ·iÁöW )
rB   r   rM   r   r   rA   r	   rN   r   ÚHalfrP   rP   rP   rQ   Ú&test_manualintegrate_trig_substitutionë   s*    (ÿÿ  &ÿÿÿ&ÿþþÿrz   c                  C   sˆ   t ttƒtt ƒ t tƒtt ƒ ttƒ ks4t‚tdƒ} t | tƒ| t ƒ t tƒt| t ƒt tƒ t| tƒt tƒ ks„t‚d S )NrI   )rB   r   rM   r-   rN   r   r?   ©rI   rP   rP   rQ   Ú)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<t‚t ddtd   tƒttd ƒd ttd ƒd  ksvt‚d S )NrT   rV   rS   rW   )rB   rM   r   rN   rP   rP   rP   rQ   Ú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 )
NrV   rS   rZ   rT   rf   iðÿÿÿr_   r[   i÷ÿÿÿ)r   rM   r   r
   r0   rR   r1   r	   r5   r-   r%   r2   r!   r3   r,   r/   r   r+   r   r.   r   r4   r>   r*   r)   rJ   rP   rP   rQ   Ú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>t‚t ttd dt  d tƒtƒtttd dt  d tƒƒks€t‚t tttƒttttƒtƒtttƒtttƒks°t‚d S )NrS   rZ   )rB   r
   r   rM   rN   r\   r?   r%   rP   rP   rP   rQ   Ú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s”t	‚t ttd d dƒdttd d dƒ ƒ tttƒtƒtttƒ ksÜt	‚tttdƒ tƒtd d ksþt	‚tttdƒ tƒdkst	‚ttttƒ tƒtd ttƒ d ksFt	‚tttt ƒ tƒtd tt ƒ d ksvt	‚ttdt d ƒtƒtd tdt d ƒ ksªt	‚ttttƒ tƒtd ttƒ d ksÖt	‚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<t	‚tdƒ} ttd	t ƒtdt d	 ƒ tƒttd	 ƒ tt
d
dƒƒ tdt td	ƒ ƒ ksœt	‚tt| t ƒtdt |  ƒ tƒt| t
ddƒ ƒtt|  ƒ tdt |  ƒ ksòt	‚d S )NrZ   rS   r   rT   Trp   rV   r\   rh   é   )rR   r(   rM   r'   rB   rk   rn   r   r   rN   r	   r   r%   r!   r   )r\   rP   rP   rQ   Útest_manualintegrate_Heaviside1  s.    & 0ÿ*",04,$8ÿ
 .ÿ
 ,ÿr   c                  C   sz  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 ]P}z| | |¡}W n tk
r¨   Y q|Y nX | | |¡ t¡|  ¡ dks|t‚q|t| tdt d ¡ }t|tƒ}d	D ].}| | |¡ t¡| | |¡  ¡ dksôt‚qôt d
ƒ}	tt|jƒd ƒD ]4}
t|jƒ}|	||
< tt|j|Ž |	ƒtƒs>t‚q>qhd S )NÚnrh   r_   rZ   )rp   rW   r   rT   rZ   r_   rf   r   rS   rT   )rS   rV   rh   Út)r   r	   r;   rM   r9   r7   r8   r=   r:   r<   r6   rB   ÚsubsÚ
ValueErrorr   r   rN   ÚrangeÚlenÚargsÚlistÚ
isinstanceÚfuncr?   )r‚   rk   rn   ZpolysÚpZintegralÚdegZp_subbedÚqrƒ   ÚiÚnew_argsrP   rP   rQ   Ú$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s¨t‚| t||ƒ 	¡  t | t|| ƒ ksÒt‚t||ƒ 
t¡ræt‚d S )Nzr x phir‚   T)ÚintegerÚpositiverS   rV   )Úmapr   Úsplitr!   r
   rB   r%   rN   r@   ZtrigsimpÚhasr   )ÚrrM   Úphir‚   Ú	integrandZlimitsrP   rP   rQ   Ú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>t‚d S )NrT   rW   T)rB   rM   r\   r   r   r   rN   rP   rP   rP   rQ   Útest_issue_12251t  s     
ÿr›   c                   C   sr   t ttttd  ƒƒtƒtttd  ƒks.t‚ttttd ƒ tddt ttƒ t	ttd  ƒ d ksnt‚d S )NrS   rV   F)Zrisch)
rB   r   r   rM   rN   r@   r   r   r
   r0   rP   rP   rP   rQ   Útest_issue_3796y  s    .rœ   c                   C   sŠ   t ttƒttƒ tddttƒttƒ d ttƒttƒ d  ksFt‚t ttƒttƒ tddttƒd d ttƒd  d fks†t‚d S )NT©ZmanualrS   )r@   r   rM   r%   r!   rN   rP   rP   rP   rQ   Ú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sJt‚t| |t  tƒtt| |t  t| ƒ tt| ƒdƒf|t dfƒ| t|dƒftdfƒks¨t‚tt|t ƒtƒtt|t ƒ| t|dƒftdfƒksât‚t ddd} t| d t tƒ| d t t| d ƒ kst‚t ddd} t| d t tƒtksFt‚t dƒ} t ddd}t| |t  tƒt| |t  t| ƒ tt| ƒdƒf|t dfƒ| ks¦t‚t ddd} t| d |t  tƒ| d |t  |t| d ƒ  ksît‚t d	dd
}t dƒ}td||td    tƒttt	|| ƒ ƒ|t	|| ƒ  ksFt‚t ddd
}td||td    tƒttt	| ƒt	d| ƒ  ƒ|t	| ƒ t	d| ƒ  ksªt‚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sdt‚tdtd d t	dtd  d ƒ  tƒt
dtd d t	dtd  d ƒ  tƒks¾t‚tdt|t  t|d    tƒt
d|t  |d t  t  tƒks
t‚d S )Nr\   r‚   r   T)r“   rT   )Úzero)Znonzerork   )Únegativern   rS   rW   rV   )r   rB   rM   r   r   r   rN   r   r    r   r?   )r\   r‚   rk   rn   rP   rP   rQ   Útest_issue_6746…  sv     ÿ
 
þýýû
 ÿ
0  
ÿÿÿ
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|t‚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øt‚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|t‚d S )NrS   rT   )	rB   r   rM   r   r   r?   rN   r   r    rP   rP   rP   rQ   Ú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sRt‚ttdt ƒttƒ tƒ ¡ rtt‚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t‚d S )NrS   r_   rZ   rV   rf   rT   )	rB   r%   rM   r   r!   rN   rE   Zcontains_dont_knowr?   rP   rP   rP   rQ   Ú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rh| t¡| kslt‚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t‚d S )NrV   rj   é   é€   é!  éð   )r!   rM   r   r%   rB   r   rN   rJ   rP   rP   rQ   Ú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ºt‚d S )
NrV   rZ   rj   rS   é   rf   rU   r_   rT   )rB   rM   r    rN   rP   rP   rP   rQ   Ú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sBt‚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sÌt‚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svt‚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sŒt‚t ttƒttƒ tƒdttddƒ  ttƒ d dttddƒ  d  ksÜt‚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`t‚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sZt‚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sVt‚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¾t‚t tdt d ƒd t tƒdt d tddƒ d dt d tddƒ d  kst‚t ttddƒ ttƒ tƒdttddƒ  ttƒ d dttddƒ  d  kslt‚t td ttƒ tƒttƒ dtd   ddtd    ks®t‚t tt	ƒt	d ddt	    t	ƒtt	ƒtddt	  ƒ ttddt	  ƒt	 t	ƒ kst‚d S )NrS   ÚcTrl   r   rV   rZ   r[   r\   Úzrk   rn   rp   rT   r_   é   rt   rc   rW   )rB   rM   r«   r    r   rN   r   r   r   r\   r¬   r	   rk   rn   r   r   r   r?   )ÚrcZryZrzrq   rr   rP   rP   rQ   Ú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s0t‚t tttƒ t¡ t¡tƒttttƒtƒks`t‚d S rL   )rB   rI   rM   r\   r   r?   r   rN   rP   rP   rP   rQ   Útest_issue_12899  s    0r°   c                   C   s2   t tttddfƒtƒttttddfƒ ks.t‚d S )NrT   rS   )rB   r?   r\   rM   rN   rP   rP   rP   rQ   Ú#test_constant_independent_of_symbol  s    ÿr±   c                   C   s´   t tdt ƒtƒtdt ƒ d ks(t‚t ttƒtdt ƒ tƒdttƒd  d ksZt‚t tdt ƒttƒ dttƒ  tƒdtttƒd ƒ ttƒd  dttƒ  ks°t‚d S )NrS   rp   rZ   rT   )rB   r%   rM   r!   rN   r   rP   rP   rP   rQ   Útest_issue_12641  s
    (2$*ÿr²   c                   C   s4   t ttƒttƒd  tƒttƒd  d ks0t‚d S )Nr_   rU   )rB   r%   rM   r!   rN   rP   rP   rP   rQ   Útest_issue_13297  s    r³   c                   C   sB   t dtttd ƒ  tttd ƒd ƒtttd ƒd ƒ ƒ d S )NrT   )rR   rM   r   r   rP   rP   rP   rQ   Útest_issue_14470  s    r´   c                  C   sÒ  t ttƒtttƒƒ tƒtttƒƒks*t‚t tdt ƒtttƒƒ tƒttƒtttƒƒ tttƒƒ kslt‚t tdt ƒtttƒƒ tƒ} |  t¡r˜t‚|  t¡tdt ƒtttƒƒ ks¾t‚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Ît‚d S )NrS   é
   c                 S   s   g | ]}t t|t  ƒ ‘qS rP   )rM   r   )Ú.0ÚkrP   rP   rQ   Ú
<listcomp>&  s     z#test_issue_9858.<locals>.<listcomp>rT   rf   rh   rU   r_   rV   rZ   rx   é$   rt   rj   r[   )rB   r   rM   r!   r%   rN   r–   r?   r   Úsumr†   )ÚresrP   rP   rQ   Útest_issue_9858  s<    *ÿ&Nÿÿ
ÿÿÿþþþþþÿr¼   c                  C   s”   t ttd d  tƒttd ƒd ks*t‚t td td d  tƒttd d ƒd ks\t‚td	td  d d  } t | tƒ t¡ ¡ | kst‚d S )
NrV   rT   rS   rU   rt   rZ   r_   rv   r[   )rB   rM   r    rN   r   Úfactorr{   rP   rP   rQ   Útest_issue_8520,  s    *2r¾   c                      sŽ   t dƒ\‰‰tˆƒtˆƒ ‰ tˆ tˆƒˆƒˆttˆƒƒ ks@t‚tˆ tˆƒˆƒtˆƒˆ ks`t‚tt‡ ‡fdd„ƒ tt‡ ‡‡fdd„ƒ d S )Nzx yc                      s
   t ˆ ˆƒS rL   )rF   rP   )ÚexprrM   rP   rQ   Ú<lambda>;  ó    z"test_manual_subs.<locals>.<lambda>c                      s   t ˆ tˆƒˆˆƒS rL   )rF   r   rP   ©r¿   rM   r\   rP   rQ   rÀ   <  rÁ   )r   r   r   rF   rN   rG   r…   rP   rP   rÂ   rQ   Ú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 )	NrZ   rV   i€ÿÿÿrT   r¦   r§   rj   r¤   )r   rM   r!   r	   r%   rR   rJ   rP   rP   rQ   Ú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sˆt‚ddt d  dt   d  }t|t ƒdtd
t  d ƒ dtd
t  d
 ƒ  ksÚt‚d S )Nr_   rS   rZ   rf   rU   r`   é   rT   éE   rV   )rM   rB   r   r   r    r	   rN   )rI   ÚgrP   rP   rQ   Útest_quadratic_denomF  s    $drÈ   c                   C   s"   t ttƒtƒtttƒ kst‚d S rL   )rB   r%   rM   r\   rN   rP   rP   rP   rQ   Útest_issue_22757L  s    rÉ   c                  C   s0   t ttƒtƒ} | jj}|j|j|j ks,t‚d S rL   )rE   r&   rM   Zsubstepr™   ZconstantÚotherrN   )ZstepsZconstant_times_steprP   rP   rQ   Ú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sNt‚t|  ¡ ƒd	ksbt‚d S )
NrT   rS   rp   rW   Tr   rV   rZ   z1.31695789692482)r?   r   rM   Zdoitr   rN   Ústrr‚   )r   rP   rP   rQ   Ú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|t‚| t¡ | ¡s’t‚| t¡ tt	 d¡ | ¡s´t‚d S )NrS   r_   rZ   rU   r`   rT   éüÿÿÿrW   Tr   )rR   r   rM   r   r   r«   rk   rn   ÚdÚerB   r   r   rN   r   rO   r„   )rI   ZF1ZF2rP   rP   rQ   Ú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t
‚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_   rZ   rV   rS   rµ   rh   i7  é   é(   éQ   éˆ   rp   r   TrT   rU   é   r©   rf   r[   r`   )rR   rM   r   r   rB   rk   rn   r   r   r   rN   ZOner   r    rP   rP   rP   rQ   Ú 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¶t‚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ôt‚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s¤t‚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ât‚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>t‚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 )NrT   rS   rZ   rV   r_   r`   rc   é   rU   r   Trh   r[   iùÿÿÿrg   é   ée   rf   é‡   rj   iéÏ  i¬ iåY  i+A  i‰‡¦iQ  iC)  ir+  iÁ  i:§ŠC)rR   r   rM   r   r   r   r   r   ry   rB   rk   rn   r«   r   r   rN   rÏ   rÐ   rP   rP   rP   rQ   Ú#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 )NrS   rZ   rV   rU   )rR   rM   r$   r&   r   r!   r   rI   rP   rP   rP   rQ   Ú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   rM   r\   r¬   rX   r‚   rk   rn   r«   rÏ   rÐ   rI   rR   rY   r]   r^   rb   re   ri   rs   rz   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Ý   rP   rP   rP   rQ   Ú<module>   s”   $80(	

a%	
(
	


2


/