U
    ZÊ¹j°ô  ã                   @   s$  d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ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 d d
lmZmZmZmZ d dlmZ d dl m!Z!m"Z" d dl#m$Z$ d dl%m&Z&m'Z'm(Z(m)Z)m*Z*m+Z+m,Z, d dl-m.Z.m/Z/ d dl0m1Z1m2Z2m3Z3 d dl4m5Z5m6Z6m7Z7m8Z8m9Z9 d dl:m;Z;m<Z< d dl=m>Z>m?Z? d dl@mAZA d dlBmCZCmDZD d dlEmFZFmGZGmHZHmIZI d dlJmKZK d dlLmMZM d dlNmOZO d dlPmQZQ d dlRmSZS d dlTmUZUmVZV d dlWmXZX e"dƒ\ZYZZZ[Z\Z]Z^e"dd d!�Z_d"d#„ Z`d$d%„ Zad&d'„ Zbd(d)„ ZceVd*d+„ ƒZdeVd,d-„ ƒZed.d/„ Zfd0d1„ Zgd2d3„ ZheVd4d5„ ƒZid6d7„ Zjd8d9„ Zkd:d;„ Zld<d=„ Zmd>d?„ Znd@dA„ ZodBdC„ ZpdDdE„ ZqdFdG„ ZrdHdI„ ZsdJdK„ ZtdLdM„ ZudNdO„ ZvdPdQ„ ZwdRdS„ ZxdTdU„ ZydVdW„ ZzdXdY„ Z{dZd[„ Z|d\d]„ Z}d^d_„ Z~d`da„ Zdbdc„ Z€ddde„ Z�dfdg„ Z‚dhdi„ Zƒdjdk„ Z„dldm„ Z…dndo„ Z†dpdq„ Z‡drds„ Zˆdtdu„ Z‰dvdw„ ZŠdxdy„ Z‹dzd{„ ZŒd|d}„ Z�d~d„ ZŽd€d�„ Z�d‚dƒ„ Z�d„d…„ Z‘d†d‡„ Z’dˆd‰„ Z“dŠd‹„ Z”dŒd�„ Z•dŽd�„ Z–d�d‘„ Z—d’d“„ Z˜d”d•„ Z™eVd–d—„ ƒZšd˜d™„ Z›dšd›„ Zœdœd�„ Z�dždŸ„ Zžd d¡„ ZŸd¢d£„ Z d¤d¥„ Z¡d¦d§„ Z¢d¨S )©é    )ÚSum)ÚAdd)ÚBasic)ÚTuple)Ú	unchanged)ÚFunctionÚdiffÚexpand)ÚMul)ÚMod)ÚFloatÚIÚRationalÚooÚpiÚzoo)ÚEqÚGeÚGtÚNe)ÚS)ÚSymbolÚsymbols)Ú	factorial)ÚAbsÚadjointÚargÚ	conjugateÚimÚreÚ	transpose)ÚexpÚlog)ÚMaxÚMinÚsqrt)Ú	PiecewiseÚpiecewise_foldÚpiecewise_exclusiveÚ	UndefinedÚExprCondPair)ÚcosÚsin)Ú
DiracDeltaÚ	Heaviside)ÚKroneckerDelta)ÚIntegralÚ	integrate)ÚAndÚITEÚNotÚOr)ÚMatrixSymbol)Úsrepr)ÚContains)ÚInterval)Úsolve)ÚraisesÚslow)Úlambdifyz	a:d, x, yÚzT)Znonzeroc                  C   sˆ  t ttdk fƒ d¡st‚tt tttdk ƒtddƒƒs:t‚t ttdk fdƒt tttdk ƒtddƒƒksjt‚t ttdk fddƒt ttdk fdƒks”t‚t ttdk fdddd	kfƒt ttdk fƒksÄt‚t ttdk fdtdk fdƒt ttdk fdƒksöt‚t ttdk fdtd	k fdƒt ttdk fdƒk�s*t‚t ttdk fttd	k fdƒt tttdk td	k ƒfdƒk�sht‚t ttdk fttd	k ftdfƒtk�s’t‚t tdfƒtk�s¨t‚ttd
d„ ƒ t d	t tdk ftdfƒt d	t tdk ftdfdd�  k�rt d	t tdk fƒk�sn t‚t tdfƒt	k�s*t‚ttdd„ ƒ t tdfƒtk�sNt‚ttdd„ ƒ ttdd„ ƒ ttdd„ ƒ t dƒt
dd	ƒk�s�t‚t dtdk fdƒtk } t d| fƒt dttdk tdktd	kƒfƒk�sØt‚t dtdkfd	ttdktdkƒfƒt dtdkfd	tdkfƒk�st‚t dtdkfd	tdk tdk@ fƒt dtdkfƒk�sTt‚t dttdktdktttjƒƒfdƒ}| tt¡dk�s�t‚| td	¡dk�s¦t‚| td¡dk�s¼t‚t dtdk ftd	 tdk fttƒtdkfƒ}t dtd	 dk ftd td	 dk fttd	 ƒtd	 dkfƒ}| ttd	 ¡|k�s>t‚| td¡dk�sTt‚| td¡dk�sjt‚| td¡tdƒk�s„t‚t dttk fdtd	t k fdtd	t kfƒ}t dttdƒfdt dfƒ}t dttdƒfd	dt d	kfƒ}| td	¡dk�st‚| td¡dk�st‚| td¡dk�s.t‚| td¡dk�sDt‚| td¡dk�sZt‚tdtd�\}}}	t |tƒtdk f|tƒ|	tƒ d	 tdkfƒ}
t |tƒtdk f|tƒ|	tƒ d	 tdkfƒ}| ||¡|
k�sÞt‚t dttdƒfdƒ td¡dk�st‚t dttdƒfdƒ td¡dk�s*t‚t dtttƒfdƒ tt¡dk�sPt‚t dtttƒfdƒ tt¡dk�svt‚t dtttƒttƒƒfdƒ tt¡t dtttƒttƒƒfdƒk�s¼t‚t dtttƒt dƒfdƒ}| td¡t dtttƒdƒfdƒk�st‚t dtdk fdtdk fdttdƒfdƒ td¡t dtdk fdƒk�sJt‚t dttd	 dƒfd	tdk fƒ tt¡dk�s|t‚t ttdkfƒ}tddd�}| t|¡t	k�s®t‚| ¡ t dtdk ftd	 tdk fttƒdfƒk�sät‚|jtdid �dk�sþt‚|jtdid �dk�st‚|jtdid �tdƒk�s6t‚|jtdid �t	k�sPt‚t tttddfƒtdk fƒ}| ¡ t tjtdk fƒk�sŒt‚t}t| }t dtdk fd	t tdk fdt tdkfƒ}t| | }t|tƒ|k�sät‚t|| tƒ|k�süt‚t| |k�	st‚t| | |t|  k�	s,t‚|| || k�	sBt‚|| || k�	sXt‚|| ||  k�	spt‚t dtdk fdtd	  tdk fdtd	  tdkfƒ}|d	 |k�	s¶t‚tt d	 }ttd	  d! }t |tdk f|tdkfƒ}| td¡| td¡ | td¡ | td¡ }|  tdd¡dk�
s4t‚|  tdd¡|k�
sLt‚t |tdk f|dfƒ}|  tdd¡dk�
szt‚|  tdd¡| k�
s”t‚|  tdd¡| td¡| td¡ k�
sÀt‚|  tdd¡|k�
sØt‚|  td d¡| td¡k�
søt‚|  tdd ¡| td¡ k�st‚| !¡ t t tdk ftd! d! t"dd!ƒ tdk ftttƒ t t"dd!ƒ dfƒk�srt‚t ttdk ftd	 dtkftd!tk fƒ}t!|tdd	fƒt"d"dƒk�sºt‚t!|td	dfƒt"ddƒk�sÚt‚t dtdk fdtdk fdtd	k fdtd!k fdƒ}t!|tt# t#fƒd	k�s&t‚t ttd#k ftd	 tdkftdtk fƒ}t!|tdd	fƒt	k�sht‚t$|t ƒ�r€|j%dk�s„t‚d S )$Ng      ð?é   r   T©r   T©r?   T)r   Féÿÿÿÿé   c                   S   s   t ƒ S ©N©r&   © rF   rF   ún/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/functions/elementary/tests/test_piecewise.pyÚ<lambda>8   ó    z!test_piecewise1.<locals>.<lambda>F©Úevaluatec                   S   s   t tƒS rD   ©r&   ÚxrF   rF   rF   rG   rH   >   rI   c                   S   s   t tdfƒS ©NrC   rL   rF   rF   rF   rG   rH   @   rI   c                   S   s   t ttd fƒS rN   rL   rF   rF   rF   rG   rH   A   rI   c                   S   s   t dgdfƒS ©Nr?   TrE   rF   rF   rF   rG   rH   B   rI   ))r?   rC   T©rC   Té   é   é   éûÿÿÿé
   ç        zf,g,h)ÚclsÚn)Únegativeg      ð¿éþÿÿÿ)Úsubsé   é   éöÿÿÿ)&r&   rM   ÚhasÚAssertionErrorr   r*   r5   r;   Ú	TypeErrorr)   r   Úyr3   r2   r8   r   ZIntegersr[   r   r"   r   r   r   r>   r!   r+   r   Úevalfr0   ÚdoitÚHalfr   Z_eval_intervalr1   r   r   Ú
isinstanceZis_commutative)ÚcondZpwiseÚpZp_x2Úp2Úp3Úp4ÚfÚgÚhÚpfZpgÚp5Úp6rX   Zf_intÚfpZdpZfp_dxZdp2Úf1Úf2ZpevalZpeval_intervalZpeval2rF   rF   rG   Útest_piecewise1$   s     ÿ
ÿÿÿÿ
ÿ
*ÿ
þ
ÿ
"ÿ
 ÿ
þ,<, ..&&&&"ÿ
*( ÿÿ
26 ,4 ÿ
ÿ
ÿ
ÿ, "ý(  0(ru   c                  C   s.   t ttdk ftdfƒ} | jttthks*t‚d S )Nr   T)r&   rM   Úarb   Zfree_symbolsr`   ©rl   rF   rF   rG   Útest_piecewise_free_symbols¾   s    rx   c                  C   s¼  t ddd�\} }t| d d | dkfdƒ}t|| ddfƒtdd	ƒksHt‚t| d
 d
 | dkf|dfƒ}t|| ddfƒtdd	ƒks„t‚t|| dd
fƒtddƒks¢t‚|t| d
 d
 | dkf|| dk fƒksÌt‚t| d
 d
 d| kf|| dk fƒ}t|| ddfƒtdd	ƒk�st‚t|| dd
fƒtddƒk�s.t‚|t| d
 d
 d| kf|dfƒk�sVt‚t| d
 d
 d| kfd| dfƒ}t|| ddfƒtdd	ƒk�s˜t‚t|| dd
fƒtddƒk�s¸t‚d S )Núx yT©ÚrealrC   r   rA   rZ   é   r\   r]   rS   é+   rQ   iCýÿÿé   i_ýÿÿ)r   r&   r1   r   r`   )rM   rb   rl   rm   rF   rF   rG   Útest_piecewise_integrate1Ã   s    *"  (" r   c                  C   s>  t dtdkfdttdƒfdtdk fƒ} t| tddfƒdks>t‚t dtt dk fdƒ} t| tt dfƒtdtƒ ksvt‚|  td¡ tt df¡dks˜t‚t| tdt fƒtdtƒks¸t‚t| tdtfƒt	dtƒ t ksÜt‚t| tt dfƒtdtƒ d k�st‚t| tt tfƒt t k�s&t‚t dtdk fttdkfdƒ} |  ttdf¡}|  tdtf¡}dt
jd	fD ]J}|  t|df¡| t|¡k�s”t‚|  td|f¡| t|¡k�snt‚�qn|t tdt	dtƒƒd	  d	 t
j tdk ft d d
fƒk�süt‚|t tdt	dtƒƒd	 d	 t
j tdk ftd d
fƒk�s:t‚d S )Nr?   r   rB   r@   éýÿÿÿr\   é*   rA   rC   T)r&   rM   r   r1   r`   rb   r   r$   r[   r#   r   re   )rm   Úgy1Úg1yÚyyrF   rF   rG   Útest_piecewise_integrate1bÚ   s.    &"" $(""&&þ$
þr…   c                  C   s¦  t ddd�} tdt tddƒ t¡fdt tddƒ t¡fdƒ}| t| df¡}| td| f¡}| tddf¡| | d¡ks€t‚| tddf¡| | d¡ks t‚| tddf¡| | d¡ksÀt‚| tddf¡| | d¡ksàt‚| td	df¡| | d	¡k�st‚| tdd	f¡| | d	¡k�s$t‚t| 	t¡ƒ 
¡ td| dkf| d	  d	 |  tj | dkf| d	 d	 |  tj | dk fdƒk�sˆt‚t| 	t¡ƒ 
¡ td| dkf| d	 d	 |  tj | dkf| d	  d	 |  tj | dk fdƒk�sìt‚|ttdtd| ƒƒd	  d	 tdtd| ƒƒ tdtd| ƒƒd	  tj | dk fdƒk�sHt‚|ttdtd| ƒƒd	 d	 tdtd| ƒƒ tdtd| ƒƒd	  tj | dk fdƒk�s¢t‚d S )
Nrb   Trz   r?   r   rB   r@   rZ   rC   )r   r&   rM   r9   Úcontainsr1   r[   r`   r'   ÚrewriteÚsimplifyr   re   r$   r#   ©rb   rm   r‚   rƒ   rF   rF   rG   Útest_piecewise_integrate1caô   sd    ý    ""
üÿ

üÿ
(ÿÿþü&ÿÿþürŠ   c                  C   s¢  t ddd�} tdttdktdkƒfdt tdkfdt dfƒ}| t| df¡}| td| f¡}| tddf¡| | d¡ks~t‚| tddf¡| | d¡ksžt‚| tddf¡| | d¡ks¾t‚| tddf¡| | d¡ksÞt‚| tddf¡| | d¡ksþt‚| tddf¡| | d¡k�s t‚t| t¡ƒ 	¡ td| dkf| d  d |  t
j | dkf| d d |  t
j | dk fd	ƒk�s„t‚t| t¡ƒ 	¡ td| dkf| d d |  t
j | dkf| d  d |  t
j | dk fd	ƒk�sèt‚|ttdtd| ƒƒd  d tdtd| ƒƒ tdtd| ƒƒd  t
j | dk fd	ƒk�sDt‚|ttdtd| ƒƒd d tdtd| ƒƒ tdtd| ƒƒd  t
j | dk fd	ƒk�sžt‚d S )
Nrb   Trz   r   rB   r?   rZ   rC   r@   )r   r&   r5   rM   r1   r[   r`   r'   r‡   rˆ   r   re   r$   r#   r‰   rF   rF   rG   Útest_piecewise_integrate1cb  sd    
ý     "
üÿ

üÿ
	(ÿÿþü&ÿÿþür‹   c               
   C   s  ddl m}  ttttƒ}tdttk fdttkfdƒ}| 	|¡}|tt dt  dt
ttttƒƒ  t
tttttƒƒ ttk fdt t dt
ttttƒƒ  t
tttttƒƒ dfƒksºt‚| dƒD ]>}ttttttf|ƒƒ}| |¡ 	| |¡¡| |¡ksÂt‚qÂd S )	Nr   ©Úpermutationsr?   rC   ©r\   TrZ   T)r?   rC   r\   rS   )Ú	itertoolsr�   r   rM   ÚcÚdr&   rv   Úbr1   r$   r#   r`   ÚdictÚzipr[   )r�   Úlimrh   ÚqÚvÚrrF   rF   rG   Útest_piecewise_integrate2L  s    
:4þ
r™   c                   C   s*   t dtdk fdƒ ttdf¡dks&t‚d S )Nr?   rS   r@   r€   )r&   rM   r1   r   r`   rF   rF   rF   rG   Útest_meijer_bypassY  s    rš   c                  C   s  ddl m}  tddf}d}tdttkfdttkfdƒ}| |¡}| |dd�D ]<\}}ttttf||fƒƒ}| 	|¡| 	|¡ |¡ksLt
‚qL| 	td	¡ 	td¡d
ks¦t
‚tdttkfdttk fdƒ}| |¡}| |dd�D ]<\}}ttttf||fƒƒ}| 	|¡| 	|¡ |¡ksØt
‚qØd S )Nr   )Úcartesr]   )rZ   rB   r   r?   rC   r]   rQ   rR   r?   rC   r@   )ÚrepeatrS   rR   )Zsympy.utilities.iterablesr›   rM   r&   rv   r’   r1   r“   r”   r[   r`   )r›   r•   ÚNrh   ÚansÚiÚjÚrepsrF   rF   rG   Ú/test_piecewise_integrate3_inequality_conditions_  s    

 
r¢   c                  C   sp  t ddd�} t ddd�}t ddd�}t ddd�}tdt|| k ||kƒfdƒ}td|| k fd||kfdƒ}td||kfd|| k fdƒ}td|| k fd	||k fd
ƒ}td||kfd	|| kfd
ƒ}td	t| |k ||k ƒfd
ƒ}	t|t |ƒ}
||||||	fD ]Š}| |
¡}tdƒD ]r}| d	|d||i}| |¡| |¡ |
 |¡¡k�sFt	‚| d|d	||i}| |¡| |¡ |
 |¡¡k�st	‚�qqöt||tƒ}
||||||	fD ]Œ}| |
¡}tdƒD ]r}| d	|d||i}| |¡| |¡ |
 |¡¡k�sît	‚| d|d	||i}| |¡| |¡ |
 |¡¡k�s´t	‚�q´�qžtd|t
| |ƒkf|t
| |ƒ ||kf|t
| |ƒ dfƒ}||||fD ]}| |¡|k�srt	‚�qr| |¡td|| k f|  | |t| |ƒkf|  t| |ƒ dfƒk�sÖt	‚|	 |¡td|| kf|  | |t| |ƒkf|  t| |ƒ dfƒk�st	‚td|| k ftj||kfdƒ}ttj||kfd|| k fdƒ}td|| k fd	||k ftjdfƒ}ttj||kfd	|| kfd
ƒ}td	t| |k ||k ƒftj||kfd
ƒ}	t|t |ƒ}
|||||	fD ]Œ}| |
¡}tdƒD ]r}| d	|d||i}| |¡| |¡ |
 |¡¡k�s.t	‚| d|d	||i}| |¡| |¡ |
 |¡¡k�sôt	‚�qô�qÞd S )Nrv   Trz   r’   rM   rb   r   rA   r?   r@   r]   r\   )r   r&   r5   r2   r   r   r1   Úranger[   r`   r$   r#   r   re   )rv   r’   rM   rb   Úp0Úp1ri   rj   rk   rp   r•   rh   rž   rŸ   r¡   rF   rF   rG   Ú-test_piecewise_integrate4_symbolic_conditionsy  sp    
&,
&.ý

ý

ý"(
&r¦   c                  C   sP   t dttdƒftt dfƒ} t| tddfƒt dttdƒfdt dfƒksLt‚d S )Nr   Tr?   r\   rS   )r&   r   rb   rM   r1   r`   ©rh   rF   rF   rG   Ú0test_piecewise_integrate5_independent_conditionsº  s    r¨   c                  C   s  t dttt dkdt dt  dkB dttt dkdt d dk dt dt  dkƒƒft dttt dkddt dt  dkƒfdt dtt dkftdfƒ dfƒdfƒdt dttt dkdt dt  dkB dttt dkdt d dk dt dt  dkƒƒft dttt dkddt dt  dkƒfdt dtt dkftdfƒ dfƒdfƒ  } t| ƒt dtt tjktt dkB fdt d tt dkfdt dt  dfƒk�s°t‚t| dkƒ t¡ttt tjktt dkB dttt dkdt d dkdt dt  dkƒƒk�st‚d S )Nr   r?   rC   FrB   TrS   )	r&   r3   rM   rb   r'   r   re   r`   r‡   r§   rF   rF   rG   Útest_issue_22917¿  s4    &.ÿ( ÿÿþ(.ÿ( ÿÿþü$þ,.ÿr©   c            
      C   sˆ  t td d td  ttdt  td  dƒfdt d dfƒ} |  ¡ t tttdƒfdtd  dfƒkslt‚t ttttdƒttt dƒƒfdƒ ¡ t dtttdƒttdƒƒfdƒks¸t‚t dt t	tƒ t	t
ƒt	t
 t ƒ  tt
dƒtt
 t dƒ@ fdt	tƒ t	t
ƒt	t
 t ƒ  tt
dƒtt
 t dƒ@ fdƒ ¡ t dt tttdƒtt
dƒƒfdtttdƒtt
dƒƒfdƒk�s~t‚dtttdƒtt
dƒƒftdff}t |Ž  ¡ t |Ž k�sºt‚dttdƒfttƒt dff}t |Ž  ¡ t |Ž k�sòt‚t dt
 tttdƒtt
dƒƒftdfƒ ¡ tk�s(t‚tdttdƒfttƒd t dfƒ}tttƒ d }tdƒ}t |Ž  ¡ |k�szt‚t | t|tƒ¡Ž  ¡ | t|tƒ¡k�s¨t‚td	dd
�}tddd
�}tddd�}t | d|  td| dƒf|dd|   |d| d   | d|   dfƒ}| ¡ | d|  k�s8t‚t d|dk |dk @ |dk @ f|d d |d  |d  |dk |dk @ ftj|d  d|  |d  |dk |dk @ |dk @ f|d | |d d  tj|d  d|    |dk |dk @ |dk @ |dk @ f|d tj|d  d|  |d d |d    |dk |dk @ f|d | |d d  tj|d  d|    |dk |dk @ |dk @ fd|dk |dk @ f|d d |d  |d  |dk f|d | |d d  tj|d  |d    |dk |dk |dk B @ ftj|d  d|  |d  |dk |dk |dk B @ fdƒt d|dk |dk @ |dk @ fd| |d tj  |d  |dk |dk @ fd| d|d   d|  |dk |dk @ |dk @ fd| d| |d tj  d|d  d|    |dk |dk @ |dk @ |dk @ fd| d|d  d|  |d tj |d    |dk |dk @ fd| d| |d tj  d|d  d|    |dk |dk @ |dk @ fd|dk |dk @ fd| |d tj  |d  |dk fd| |d|d   d| |d tj    |dk |dk |dk B @ fd| d|d   d|  |dk |dk |dk B @ fdƒ } |  ¡ t d|dk f|d |d d  d |dk fd|d  d d|d  d  d |dk fd|d  d d|d  d  d |dk fd| |d d  d |dk fdƒk�sît‚t}t dtdkfdtdk fdtdkfƒ ¡ t dtdkfdtdk fdƒk�s<t‚t dtdk fdtdk fdƒ ¡ t dtdk fdƒk�stt‚t dtdkfƒ ¡ t dtdkf|dfƒk�s¤t‚t dtdkttk @ fƒ ¡ t dtdkttk @ f|dfƒk�sät‚t dtdk fdtdktdk @ fdƒ ¡ t dtdk fdtdk fdƒk�	s.t‚t dtdk fdtdktdk@ fdƒ ¡ t dtdk fdtdkfdƒk�	sxt‚t dtdk fdtdktdk @ fdƒ ¡ t dtdk fdtdktdk @ fdƒk�	sÊt‚t dtdk fdtdktdk@ fdƒ ¡ t dtdk fdtdkfdƒk�
st‚t dtdk fdtdktdk@ fdƒ ¡ t dtdk fdtdktdk@ fdƒk�
sft‚t ttƒtdktdk@ ftdfƒ ¡ t ttƒtdktdk@ ftdfƒk�
s´t‚t dtdktdk @ fdtdktdk @ fƒ ¡ t dtdktdk @ fdtdktdk @ f|dfƒk�st‚t dtdktdk@ fdtdktdk @ fƒ ¡ t dtdktdk@ fdtdktdk @ f|dfƒk�s|t‚tddd�}	t |tdkfdtdk|	tk@ |	t dk@ ft|	d  |	tk|	t dk@ f|	d t tdk|	tk@ fd|	tkf|dfƒ} |  ¡ t |tdkf|	d t |	tkf|dfƒk�s4t‚|  |	t
¡ ¡ t |tdkft t
d  ttdt
ƒk fdtt
k f|dfƒk�s„t‚d S )NrC   r?   r   rB   TrA   r@   rl   r‘   ©ÚintegerrX   Út©ZpositiverS   rZ   r€   r\   r]   rŽ   ÚL)Znonnegative)r&   rM   r   rˆ   r   r`   rv   r2   r’   r   rb   r   r,   r   r   r[   r   r   re   r)   r   r"   r#   )
rh   Úargsrž   rl   r‘   rX   r¬   ÚexprÚnanr®   rF   rF   rG   Útest_piecewise_simplifyÏ  sî   .ÿÿ ÿ ÿþ&ÿÿÿþýý
"*ÿ
$.P(ÿÿÿÿÿÿÿÿ(ÿÿÿ4ÿÿ ÿÿÿ$ÿÿÿÿ÷	ÿÿ"ÿÿ&ÿÿÿÿÿÿÿ(ÿÿÿÿ ÿÿÿ ÿÿÿÿö÷
  ÿÿÿ* ÿ
ÿÿÿý&ÿ
ÿ
ÿÿ
&ÿ
&ÿ
&ÿÿ
&ÿ
&ÿÿ
$ ÿ
, ÿÿÿ
, ÿÿÿ
*
 ý
  ÿ
  
 ÿr²   c                     sj  t t tdkfttdkfƒ} |  ttd ¡‰ tˆ tƒdgks@t‚tˆ d tƒddgksZt‚t td d tdkfdƒ‰ tˆ tƒdgksˆt‚t td d tdkfˆ dfƒ}t|tƒddgks¼t‚t td d tdkfˆ tdk fƒ}t|tƒddgksôt‚t td d tdkfˆ tdk fƒ}t|tƒdgk�s,t‚t td d tdkfˆ dfƒ}t|tƒdgk�s`t‚t td d tdkfˆ dfd	ƒ}t|tƒdgk�s–t‚t td d tdkft d td dkftd td dkfƒ}t|tƒdgk�sêt‚tt td tdkfdt dfƒd ƒd
dgk�st‚t td d tdkfdƒ‰ tt‡ fdd„ƒ dd„ }t td d ttk ftd dfƒ}t|tƒ}|dd„ |D ƒƒdgk�sœt‚|dd„ |D ƒƒddgk�s¼t‚|dd„ |D ƒƒddgk�sÜt‚|t dtdkftj	dfƒt dtdkftj	dfƒt dtdkftj	dfƒgk�s,t‚t td dtd kfdt dtd kfƒ}t|t tƒt t d t dk ftj	dfƒt td tdkftj	dfƒgk�s¦t‚t
ddd�}t|| tƒ| d |d gk�sØt‚tdƒ‰ ttˆ tƒ t dtdkfdƒƒˆ tƒƒt d
tdkfdƒgk�s"t‚t dtd  tdtk tdk ƒfdƒ‰ tˆ d ƒdtdƒ gk�sft‚d S )Nr   rC   r?   r\   rA   r]   rS   T)rU   FrB   r@   c                      s
   t ˆ tƒS rD   )r:   rM   rF   rw   rF   rG   rH   [  rI   z&test_piecewise_solve.<locals>.<lambda>c                 S   s   t tdd„ | ƒƒS )Nc                 S   s
   | t jk	S rD   )r   ÚNaN©rM   rF   rF   rG   rH   ^  rI   z4test_piecewise_solve.<locals>.nona.<locals>.<lambda>)ÚlistÚfilter)rž   rF   rF   rG   Únona]  s    z"test_piecewise_solve.<locals>.nonac                 S   s   g | ]}|  td ¡‘qS )rZ   ©r[   rb   ©Ú.0rŸ   rF   rF   rG   Ú
<listcomp>a  s     z(test_piecewise_solve.<locals>.<listcomp>c                 S   s   g | ]}|  td ¡‘qS )rC   r¸   r¹   rF   rF   rG   r»   b  s     rZ   c                 S   s   g | ]}|  td ¡‘qS )r\   r¸   r¹   rF   rF   rG   r»   c  s     rh   r­   rl   rP   )r&   rM   r[   r:   r`   r;   ÚNotImplementedErrorrb   r   r³   r   r   r   r2   r%   )Úabs2rm   r·   rh   rž   Zabsxm3rF   rw   rG   Útest_piecewise_solve;  sf    ""  ÿ4"
  ýþþ&&ÿ
$r¾   c                  C   s>  t ttdk fddtkfƒ} tt|  ƒt td tdk ftdtkfƒksHt‚t| |  ƒt dt tdk fddtkfƒksvt‚tt dtdk fdƒt dtdk fdƒ ƒt dtdk fdƒks´t‚t dtdk fttdkfd	ƒ}t dtdk fdt tdkfd	ƒ}d
| d|  } tt| ƒtt tfƒtdt d tddfƒk�s4t‚tt dtdkft dtdkfƒ dfƒƒt dtdkfdtdkfƒk�s|t‚tt tttdktdk tdkƒfƒƒt ttdktdk B tdktdkB @ fƒk�sÎt‚t dttdƒfd	ƒt ttt t dƒfdtt t dƒfd	ƒ }}tt	||dd�ƒtt	||dd�ƒk�s:t‚d S )Nr?   rC   r   rP   rU   )r^   Té   )iøÿÿÿTr@   rS   TrZ   FrJ   )
r&   rM   r'   r`   r1   r   rb   r3   r   r
   )rh   r¥   ri   rv   r’   rF   rF   rG   Útest_piecewise_fold~  s>    ..ÿþ  
ÿÿ
"ÿþ
"&ÿ
*ÿÿrÀ   c            	      C   s€  t ttƒtdk fdƒ} t dt| dƒf| t| ƒ dfƒ}| tt d ¡dksPt‚| td¡dksdt‚| tt d ¡dks~t‚t dt| dƒfdƒ}t|ƒ}t	ddƒD ] }| t|¡| t|¡ks¤t‚q¤dt dtdk fd	ƒk }t|ƒ}t	dƒD ] }| t|¡| t|¡ksìt‚qìt dtdk fd	ƒ}t dtdk fd	ƒ}t d||k fdƒ}t|ƒ}t	ddƒD ]$}| t|¡| t|¡k�sVt‚�qVd S )
Nr   r@   TrC   r?   rS   rA   rB   rŽ   )
r&   r+   rM   r   r   r[   r   r`   r'   r£   )	r¥   ri   rk   rž   rŸ   Úr1rp   rq   Úp7rF   rF   rG   Ú%test_piecewise_fold_piecewise_in_cond›  s&     rÃ   c                  C   s|   t ttƒtdk fdƒ} t dt| dƒfd|  dfƒ}t dtdktttƒdƒB fdttƒ tdk ftdfƒ}t|ƒ|ksxt‚d S )Nr   r@   r?   T)r&   r+   rM   r   r   r'   r`   )r¥   ri   rj   rF   rF   rG   Ú'test_piecewise_fold_piecewise_in_cond_2³  s    ýrÄ   c                  C   sê   t dtddddƒ t¡fdƒ} ttdt |  ƒƒ}tdktdk @ }ttdt |  ƒdd�t dt |ft |fd|fddd�ks‚t‚ttdt |  ƒd d�t dt |fdƒks°t‚|t dt |fdƒksÊt‚|ttdt |  ƒƒksæt‚d S )Nr?   r   FTr@   rJ   )r&   r9   r†   rM   r'   r	   r`   )r¥   ri   rg   rF   rF   rG   Útest_piecewise_fold_expand½  s    "ÿÿrÅ   c                  C   s>   t ttdk ftd tdkftdtk fƒ} | t | jŽ ks:t‚d S )Nr^   rC   rB   r?   )r&   rM   r¯   r`   r§   rF   rF   rG   Útest_piecewise_duplicateÊ  s    (rÆ   c                  C   s¤   t ttdk ftd dtkftdtk fƒ} t ttdk ftdt ƒdtkftdtk fƒ}| ¡ | ksdt‚|jdd�|ksxt‚ttt tdtfƒ ¡ } |  ¡ | ks t‚d S )Nr?   rC   rB   r\   F©Údeep)r&   rM   r0   rd   r`   r   rb   r   )r¥   ri   rF   rF   rG   Ú	test_doitÏ  s    (,rÉ   c                  C   s¦   t ttddƒ t¡fdƒ} |  td¡dks.t‚|  td¡dksBt‚|  t¡t dtddƒ t¡fdƒksjt‚t| tƒt dtdkftd d tdkftj	dfƒks¢t‚d S )Nr   r?   r@   g      à¿ç      à?rC   T)
r&   rM   r9   r†   r[   r`   r   r1   r   re   )r¥   rF   rF   rG   Útest_piecewise_intervalÙ  s    (

ýrË   c                  C   s(  t dtdk ftjtdkfdƒ} t| ƒt dtdk ftjttdƒfdtdkfdd�ksVt‚t| d ƒt dtdk ftjttdƒfdtdkfdd�d ks–t‚tt dtdkft dtdkfƒ dfƒƒt dtdkft dtdkftjtdk fdd� tdkfdd�ksþt‚tt dttkfƒƒt dttkftjttkfdd�k�s8t‚tt dttkfƒdd�t dttkfƒk�sft‚t	d	dd
�\}}t d|dk fddd�}t d|dk fd|dkfdd�}t ||dk fddd�}t ||dk fd|dkfdd�}t ||dk fd|dkfdd�}t|ƒ|k�st‚t|dd�|k�s$t‚d S )Nr   rA   r?   FrJ   rC   T)Zskip_nanzxr, yrrz   rP   rŽ   r\   rÇ   )
r&   rM   r   re   r(   r   r`   rb   r³   r   )rh   ZxrÚyrr¥   Zp1xri   Zp2xZp2xxrF   rF   rG   Útest_piecewise_exclusiveä  sR     
 ÿ$
 ÿÿ
ÿ ÿÿþþþÿÿ
rÍ   c               	   C   sl  t tdfƒtkst‚tdk } t t| ftd | fƒt t| fƒksBt‚t t| ftd | jfƒt t| fƒksjt‚tdk }dd„ }d| ft d| fd|fƒ|ffd| ft d| fd|jfƒ|ffd| ft d| fd|fƒ|fdfd| ft d| fd|fdƒ|ffd| ft d| fd|fdƒ|fd	ffD ]F}d
D ]:}|t |ddiŽ t|¡ƒ|t |Ž  t|¡ƒk�st‚�q�qtdƒ\}}}}t|k } t|k }t|k }	t|k }
t d| ft d| fd|fd|	fƒ|fd|	fƒt d| fd|fd|	fƒk�sÖt‚t d| ft d| fd|fd|	fdƒ|	fd|
fƒt d| ft d|fd|	fƒ|	fd|
fƒk�s0t‚t dt| |
ƒft d|
fd|fd|	fƒ|fd|	fƒt dt| |
ƒft d|
fd|fƒ|fd|	fƒk�s”t‚t d|	fd|	 fdtjfƒt d|	fdtjfƒk�sÊt‚t d|	fdt	|	 |ƒfdƒt d|	fd|fdƒk�s t‚t d|	fdt|	 |ƒfdƒ t
t||||tfdƒƒ¡dk�s@t‚t d|	fd|	 fƒt d|	fdƒk�sht‚d S )NTr?   r]   c                 S   s   t | tƒrt| jŽ S | S rD   )rf   r&   r¯   )rŸ   rF   rF   rG   Ú	canonical  s    

z*test_piecewise_collapse.<locals>.canonicalrC   r\   ©rS   T©r]   T)r   rC   rU   rK   Fzr1:5rS   )rQ   TrŽ   )r?   rC   r\   rS   g      @rP   )r&   rM   r`   Úreversedr[   r   r5   r   Útruer2   r“   r”   )rv   r’   rÎ   r¯   rŸ   rÁ   Úr2Zr3Zr4r�   r‘   rF   rF   rG   Útest_piecewise_collapse  s¦    &( ûÿþ
  ÿÿÿþ

   ÿÿÿ
 ÿÿÿþ
  ÿÿÿ ÿÿÿþ
ÿ
ÿ
ÿÿ
rÔ   c                  C   sˆ   t td tdk fttddddƒ t¡fdt tdkfdƒ} tt| ƒ}|dƒdksTt‚|d	ƒd	ksdt‚|d
ƒd
kstt‚|dƒd	ks„t‚d S )NrC   r   r?   FTr@   g       Àg      @rV   rÊ   g       @)r&   rM   r9   r†   r=   r`   )rh   rl   rF   rF   rG   Útest_piecewise_lambdify/  s    ü
rÕ   c                  C   sz   ddl m}  tttƒtdk fttƒtdkfƒ}tt| td ƒ tdk fd| td ƒ tdkfƒ}|jtdd�|ksvt‚d S )Nr   )ÚOrC   r?   )rX   )Zsympy.series.orderrÖ   r&   r,   rM   r+   Znseriesr`   )rÖ   r¥   ri   rF   rF   rG   Útest_piecewise_series>  s    "2r×   c                  C   sn  t dt tdkfdƒ} t ttdkfdƒ}t dt tdkftdfƒ}t ttdkfdt dfƒ}t dt tdkftdfƒ}t dt tdk ftdfƒ}t ttdk fdt dfƒ}t ttdkfdt dfƒ}|  t¡dksÖt‚| t¡dksèt‚| t¡tksút‚| t¡dt k�st‚| t¡tk�s&t‚| t¡dt k�s>t‚| t¡tk�sRt‚| t¡dt k�sjt‚d S )Nr?   r@   Tr   )r&   rM   Zas_leading_termr`   )r¥   ri   rj   rk   rp   rq   rÂ   Úp8rF   rF   rG   Útest_piecewise_as_leading_termE  s     rÙ   c                  C   s<  t dtdk fddtkfƒ} t dt tdk ftdtkfƒ}t tt tdkfdt dfƒ}t t ttƒ tdkfdt dfƒ}t| ƒ| ksŠt‚t|ƒt| ƒks t‚t|ƒ|ks°t‚| jdks¾t‚| jdksÌt‚|jdksÚt‚|jdksèt‚|jd ksöt‚|jd k�st‚|  ¡ | dfk�st‚| ¡ dt | fk�s8t‚d S )NrC   r   r?   TF)	r&   rM   r   r   r`   r'   Zis_imaginaryZis_realZas_real_imag)r¥   ri   rj   rk   rF   rF   rG   Útest_piecewise_complexX  s    $rÚ   c                  C   sè   t ddd�\} }t| |d  tdkf| d | dfƒ}| ¡ tt| |d  ƒtdkft| d | ƒdfƒkspt‚| ¡ tt| |d  ƒtdkft| d | ƒdfƒksªt‚| ¡ tt| |d  ƒtdkft| d | ƒdfƒksät‚d S )NúA BF)ZcommutativerC   r   T)r   r&   rM   r   r`   r   r    )ÚAÚBrh   rF   rF   rG   Útest_conjugate_transposem  s    &,ÿ,ÿ,ÿrÞ   c                  C   s    t tdfƒtkst‚t tdfdd�tks,t‚t dtdtƒfƒjdttdƒffksTt‚t dtdtƒfdd�jdtdtƒffks€t‚t tdfdd�} | tksœt‚d S )NTrJ   r?   F)r&   rM   r`   r   r¯   r§   rF   rF   rG   Útest_piecewise_evaluatex  s    (ÿ
rß   c                   C   s˜   t ttdkft tdkfƒ ¡ ttdtddƒft tt dƒfgksHt‚t td d tdkfdƒ ¡ td d tdtƒfdtt dddƒfgks”t‚d S )Nr   TrC   r@   )r&   rM   Úas_expr_set_pairsr9   r   r`   rF   rF   rF   rG   Útest_as_expr_set_pairs„  s    "ÿ(ÿrá   c                  C   s0   t dttdƒfdƒ} tt| ƒƒ}| |ks,t‚d S )NrU   r   )é   T)r&   r   rM   r   r7   r`   )rh   r–   rF   rF   rG   Útest_S_srepr_is_identityŒ  s    rã   c                  C   s¦   t dtdkfdttdktdk@ ƒfdƒ} |  tddf¡d	ks@t‚t dtdkfdttk fdƒ} td
df}|  |¡}tddƒD ]&}| t|¡|  t|¡ |¡kszt‚qzd S )Nr?   rS   rC   r\   rB   rŽ   rT   r]   é   r€   )r&   rM   r4   r1   r`   rb   r£   r[   )rh   r•   rž   rŸ   rF   rF   rG   Útest_issue_12587’  s    (

rå   c                  C   sÊ  t dtttd d ƒ  tddfƒtd ks0t‚tdtttdk tdkƒtdk ƒfdƒ  tddf¡dksjt‚tdtdkfdttd kfdƒ  tddf¡dksžt‚tdtdkfdtdtƒfdƒ  tddf¡d	ksÐt‚tdtdt td ktdk ƒfdƒ  tddf¡dk�s
t‚tdtdt td ktdk ƒfdƒ  tddf¡dk�sDt‚tdtdkfdttd kfdƒ  tddf¡dk�szt‚tdtdt tdt d  ƒfdƒ  tddf¡d	k�s´t‚tdttdk tdkƒfdtdkfdƒ  tddf¡d	k�sðt‚tdt	tdƒfd
ƒ  tddf¡dk�st‚tttdktdk @ fdtdk fƒ  tddf¡dk�sRt‚tttdktdk @ fdtdk fƒ} t
}|   tdtf¡}|ttd tdk ftdtƒd d tdtƒ tdtƒ tj ttdtƒkf|dfƒk�sät‚|   tddf¡| td¡k�st‚|   tddf¡dk�s t‚|   tddf¡|k�s:t‚tdtdkfdtttdktdk ƒƒfdƒ} |   tddf¡dk�s~t‚tdtdtktdkƒfdttdk tdkƒfdtdk fƒ} |   tddf¡dk�sÐt‚tdtdk fdtttdƒtdkƒfƒ  tddf¡tjk�st‚tdtdk fdtttdƒtdkƒfdƒ  tddf¡dk�sLt‚tdtdk fdtttdƒtdk ƒfdƒ  tddf¡dk�sŠt‚tdtdk fdttdƒttk @ fdƒ  tddf¡dk�sÆt‚d S )Nr?   rC   r\   r@   r   rŽ   r]   rS   rQ   rP   rB   TrR   é   rU   é   )r1   rM   r%   r   r`   r&   r2   r5   r   r   r)   rb   r$   r   re   r[   r4   r³   )rh   r±   rŸ   rF   rF   rG   Útest_issue_11045�  s¸    0&ÿÿ ÿÿÿÿ$ÿÿ
$ÿÿ
 ÿÿ
$ÿÿ
&ÿÿ
ÿÿ
"ÿÿ
"*ÿü"*
ý&ÿÿ
(ÿÿ
(ÿÿ
&ÿÿrè   c                  C   sŒ  t } tdtdk fƒ t¡tttdk f| dfƒks4t‚tdttdktdk ƒfƒ t¡t| tdk fttdk f| dfƒksxt‚tdttdktdk ƒfƒ tddf¡| ks¦t‚tdttdktdk ƒfƒ tddf¡dksÔt‚tdƒ\}}tddd	�\}}t|ttdk |dk ƒf|ttdk |dkƒfƒ t¡t|t |dkft|t tdk f|t tdk f| dfƒ|dk ft|t tdk f| dfƒdfƒk�sˆt‚d S )
Nr?   rC   Tr   r\   rS   rÛ   za brz   )r)   r&   rM   r1   r`   r2   r   r5   )r±   rÜ   rÝ   rv   r’   rF   rF   rG   Ú
test_holesç  s.    
 ÿ
 
 
 ÿ
...ÿ.ýÿré   c                     sÀ   dd„ ‰ ‡ fdd„} | dƒdks$t ‚tdƒ}‡ fdd„}||ƒ}| |d	¡dksTt ‚tdd
d�}||ƒ}| |d	¡dks|t ‚tdtdk fdtdkfƒ ¡ tdtdk fdt d d
fƒks¼t ‚d S )Nc                 S   s$   t d| dk fd| d  | dk fdƒS )Nr   rB   r?   rC   r@   rE   r´   rF   rF   rG   rl   ü  s    ztest_issue_11922.<locals>.fc                    s    ˆ t ƒˆ t |  ƒ  t ddf¡S )NrB   r?   ©rM   r1   ©Úkrw   rF   rG   rH   þ  s    z"test_issue_11922.<locals>.<lambda>gffffffþ?r   rì   c                    s$   dt d  ˆ t |  ƒ  t ddf¡S )Nr?   rC   rB   rê   rë   rw   rF   rG   rH     s    r\   Tr­   r?   rU   )r`   r   r[   r&   rM   r1   )Zautocorrrì   Zgood_autocorrrv   rF   rw   rG   Útest_issue_11922û  s    ÿrí   c               	   C   sä   dt dtdk fdt d tdk ft dtdkfd	ƒt d
tdkfdƒ tdkfdt d tdk fdƒ } t| tt tfƒ}|t| tt tfƒ ¡ ks”t‚t|ƒdks¤t‚t dtt dk fdƒ t¡t dttkft t dfƒksàt‚d S )Ngý©§J™¢j?r   gf'vb'6TÀgŠÈlAw�¿g¶3Ø†Põ?rC   g333333Ó?é{   )gffffffæ?Tgš™™™™™Ù?)g333333ã?Tgð%Ñ”½€¿g%JMã× @gš$I’$Éw@r@   z1.00195081676351r?   T)	r&   rM   r1   r   r0   rd   r`   Ústrrb   )rl   rŸ   rF   rF   rG   Útest_issue_5227  s,    ÿÿÿÿûÿÿrð   c            
      C   st  t ddd�} t ddd�}t ddd�}t ddd�}tdt|| k ||kƒfdƒ}tdt| |k||k ƒfdƒ}t|||tfƒt|||tfƒksŒt‚td	td|k || k ƒfd
ƒ}td	t| |k|dkƒfd
ƒ}t||ƒ}|td|dkf||td| ƒkftd| ƒdfƒk�st‚t||ƒ}	|	|k�st‚| |ddf¡tdtd| ƒƒd k�sFt‚| |ddf¡tdtd| ƒƒd k�spt‚d S )Nrv   Trz   r’   rM   rb   r   rA   r?   r@   rC   rS   )	r   r&   r5   r1   r   r`   r2   r#   r$   )
rv   r’   rM   rb   r¤   r¥   rj   rk   Zip3Zip4rF   rF   rG   Útest_issue_10137  s&    $

ý
*rñ   c                     sž   dd„ ‰ ‡ fdd„} | t ƒ}| t d¡| t d¡ks8t‚| t d¡dksLt‚tˆ t t ƒˆ tƒ ƒtdtd	ktdk@ t t d	k@ t t dk@ fd
ƒksšt‚d S )Nc                 S   s   t d| dk| dk@ fdƒS )Nr?   rB   r@   rE   r´   rF   rF   rG   rH   1  rI   z-test_stackoverflow_43852159.<locals>.<lambda>c                    s$   t ˆ | t ƒˆ tƒ tt t
 fƒS rD   )r1   rb   r   r´   rw   rF   rG   rH   2  rI   g      ø¿g      ø?r\   r   r?   rB   r@   )rM   r[   r`   r'   rb   r&   )ZConvZcxrF   rw   rG   Útest_stackoverflow_438521590  s    *þrò   c                  C   s®   t ddd�} t dddd�}dd„ }t|| ƒ| t tfƒtd ksDt‚t||  ƒt| d ƒ }t|| t tfƒtdd	|  |d  d|d   t|d
ƒftd dfƒksªt‚dS )aD  
    # 3200 seconds to compute the fourier part of issue
    import sympy as sym
    x,y,z,t = sym.symbols('x y z t')
    k = sym.symbols("k", integer=True)
    fourier = sym.fourier_series(sym.cos(k*x)*sym.sqrt(x**2),
                                 (x, -sym.pi, sym.pi))
    assert fourier == FourierSeries(
    sqrt(x**2)*cos(k*x), (x, -pi, pi), (Piecewise((pi**2,
    Eq(k, 0)), (2*(-1)**k/k**2 - 2/k**2, True))/(2*pi),
    SeqFormula(Piecewise((pi**2, (Eq(_n, 0) & Eq(k, 0)) | (Eq(_n, 0) &
    Eq(_n, k) & Eq(k, 0)) | (Eq(_n, 0) & Eq(k, 0) & Eq(_n, -k)) | (Eq(_n,
    0) & Eq(_n, k) & Eq(k, 0) & Eq(_n, -k))), (pi**2/2, Eq(_n, k) | Eq(_n,
    -k) | (Eq(_n, 0) & Eq(_n, k)) | (Eq(_n, k) & Eq(k, 0)) | (Eq(_n, 0) &
    Eq(_n, -k)) | (Eq(_n, k) & Eq(_n, -k)) | (Eq(k, 0) & Eq(_n, -k)) |
    (Eq(_n, 0) & Eq(_n, k) & Eq(_n, -k)) | (Eq(_n, k) & Eq(k, 0) & Eq(_n,
    -k))), ((-1)**k*pi**2*_n**3*sin(pi*_n)/(pi*_n**4 - 2*pi*_n**2*k**2 +
    pi*k**4) - (-1)**k*pi**2*_n**3*sin(pi*_n)/(-pi*_n**4 + 2*pi*_n**2*k**2
    - pi*k**4) + (-1)**k*pi*_n**2*cos(pi*_n)/(pi*_n**4 - 2*pi*_n**2*k**2 +
    pi*k**4) - (-1)**k*pi*_n**2*cos(pi*_n)/(-pi*_n**4 + 2*pi*_n**2*k**2 -
    pi*k**4) - (-1)**k*pi**2*_n*k**2*sin(pi*_n)/(pi*_n**4 -
    2*pi*_n**2*k**2 + pi*k**4) +
    (-1)**k*pi**2*_n*k**2*sin(pi*_n)/(-pi*_n**4 + 2*pi*_n**2*k**2 -
    pi*k**4) + (-1)**k*pi*k**2*cos(pi*_n)/(pi*_n**4 - 2*pi*_n**2*k**2 +
    pi*k**4) - (-1)**k*pi*k**2*cos(pi*_n)/(-pi*_n**4 + 2*pi*_n**2*k**2 -
    pi*k**4) - (2*_n**2 + 2*k**2)/(_n**4 - 2*_n**2*k**2 + k**4),
    True))*cos(_n*x)/pi, (_n, 1, oo)), SeqFormula(0, (_k, 1, oo))))
    rM   Trz   rì   )r«   Zfinitec                 S   s   t |  | dkf| | dkfƒS ©Nr   rE   r´   rF   rF   rG   rH   Z  rI   z"test_issue_12557.<locals>.<lambda>rC   rB   r   N)r   r1   r   r`   r+   r%   r&   r   )rM   rì   r½   ÚfuncrF   rF   rG   Útest_issue_12557;  s    "( 
ÿrõ   c               	   C   sª  ddl m}  tdƒ\}}}}td||k ftt||k||k ƒfd||kfƒ}| |¡}|td||kf|t |t  |t||ƒkf| t tt||ƒ  dfƒks¢t‚| t	dƒƒD ]T}t
t||f|ƒƒ}t	ddƒD ]2}	| |¡ ||	¡| |¡ |¡ ||	¡ksÎt‚qÎq®t|||ƒ}
| |
¡}t| t tt|t||ƒƒ  ||kfdƒ}| t	dƒƒD ]D}t
t|||f|ƒƒ}| |¡ |
 |¡¡}|| |¡k�sRt‚�qR||k�s¦t‚d S )	Nr   rŒ   z
t0, t1 T tTrC   rB   r\   r@   )r�   r�   r   r&   rM   r2   r1   r#   r`   r£   r“   r”   Úxreplacer[   r   r$   )r�   Út0Út1ÚTr¬   rl   rm   rŸ   r¡   Úttr•   rž   ZtrurF   rF   rG   Útest_issue_6900`  s4    .

ý
ÿ
$þrû   c                   C   sV   t ttƒttd ƒ d dktƒttt tk ttjk ƒttjtk ttk ƒƒksRt	‚d S )Nr?   r   )
r:   ÚabsrM   r5   r2   r   r   ZZeroZOner`   rF   rF   rF   rG   Útest_issue_10122z  s     *ÿrý   c                  C   sÌ  t dtdkfdttkftt dfƒ} | |  tt¡ d tt d  }tdtƒ}t|tƒ ¡ t t dtdkftd  td t td t   ttd   dt tt ƒ td   dt ttt ƒ td   ttd   t|kftd  td  t td |   dt |   dtt   dt tt ƒ td   dt tt | ƒ td   ttd   |td   dfƒttktdk@ tdktt	 k@ B ft dtt  tdkftd  td t td t   dt t td t td t    td td t td t    dtt ƒ t  dttt ƒ t  dt  ttd   dt tt ƒ td   dt ttt ƒ td   ttd   t|kftd  td  t td |   dt t td  t td |    td td  t td |    dtt ƒ t  dtt | ƒ t  dt  dt tt ƒ td   dt tt | ƒ td   ttd   |td   dfƒttkft td  td t td t   tdkfttd  ttd   t|kftd td  t td |   td td t td t    dt t td  t td |    dt t td t td t    td td  t td |    td td t td t    ttd   |td   dfƒdfƒk�sÈt
‚d S )Nr   r?   TrC   rB   )r&   rM   rv   r[   rb   r#   r1   r	   r"   r   r`   )ÚuÚeÚMrF   rF   rG   Útest_issue_4313  sÌ    $ 

Fÿ
ÿÿ0
ÿÿÿÿÿ
þ
þþü ùDÿÿÿþ
þþþ
ýý8
ÿ ÿþþþýý
ü
üüúõ( ÿ$ÿ"þ þý
ý
ýýýùër  c                   C   sN  t td ttdƒfƒ t¡dg fks(t‚t dttd kft dttd k fƒdt dt d k fdƒ t¡dt tddfgfks‚t‚t dtttƒfdƒ t¡dt tddfgfks´t‚t ttƒ t	tƒdkfttƒdfƒ t¡ddt
ttƒ dft tttƒdfgfk�st‚t dttd ƒdkfdƒ t¡dd	d
t tddfgfk�sJt‚d S )NrC   r\   Tr?   rA   r@   r   rZ   )rB   r   r?   r   )r   r?   r?   r   )r&   rM   r   Z
_intervalsr`   r   r   r   r+   r,   r   r   rF   rF   rF   rG   Útest__intervals¢  s6    (&ýýýÿ
$ÿ"ÿÿ
ÿÿÿr  c                  C   s¾   dddddg\} }}}}t |tdkf|dfƒt | ttd ƒdk f|ttd ƒdk f|dfƒ }| t¡ t¡t || tdkf| | tdkf| | tdk f|| tdk f|| dfƒksºt‚d S )Nr?   rC   r\   rS   r]   Tr   )r&   rM   r   r1   r   r`   )rv   r’   r�   r‘   rÿ   rh   rF   rF   rG   Útest_containment´  s    .ÿ
ûr  c                  C   sš   t td ƒ} t| tt tfƒdks&t‚t| tddfƒdks>t‚t| ttdƒfdƒ t¡dks`t‚t| tdk fdƒ t¡tttd ƒtdk fdƒks–t‚d S )Nr?   r   rC   r@   rA   )r-   rM   r1   r   r`   r&   r   r.   )Zd1rF   rF   rG   Útest_piecewise_with_DiracDeltaÀ  s    " ÿr  c                  C   sx  t dtdk fdƒjd kst‚t dtdk fdƒjdks8t‚tddd�} t dtdk f| dfƒjs`t‚t dtdk f| td	k fƒjd ks„t‚tdƒ} t dtdk f| dfƒjd ks¬t‚t dtdk fdƒjd ksÈt‚t dtdk fd
ƒjsàt‚t dtdk ftdfƒjd k�st‚t dtdk fdƒj�st‚tƒ }t |tdk fƒjd k�s>t‚t dtdk fd
ƒd	k }|dk�sbt‚t	|ƒdk�stt‚d S )Nr   r?   rA   rB   Frv   T)Úzeror\   rP   )
r&   rM   Úis_zeror`   r   Z
is_nonzeror   Ú	is_finiter   r'   ©rv   r’   r�   rF   rF   rG   Útest_issue_10258Ì  s     $ "r	  c                  C   s–   t ttdkfdƒt ttdkfdƒ } }| | }t|ƒ}dD ] }| t|¡| t|¡ks:t‚q:| | }t|ƒ}dD ] }| t|¡| t|¡kspt‚qpd S )Nr?   rP   r\   rŽ   )r   rC   rS   )r&   rM   r'   r[   r`   )rv   r’   Úmrl   rŸ   rF   rF   rG   Útest_issue_10087á  s    &r  c                  C   sê  t dƒ} t dƒ}t| d |dk f| d dfƒ}t| d |tddƒk f| d dfƒ}t|| |ddfƒ| d | d  d d| d  | d  d  | d | d   ks¦t‚td|dk fd	ƒ}td|dk fd
ƒ}t|| |ddfƒdksæt‚t ddd�}t ddd�\}}} }}ttd||k|dk B || kB f|dfƒ|d|fƒ}| ¡ }	|	td|| kf|t||ƒ |td|ƒ  dfƒk�szt‚dD ]f}
tddƒD ]T}t| d|ƒD ]>}|| k|
f||f||fg}|	 	|¡| 	|¡ ¡ k�sžt‚�qž�qŒ�q~d S )Nzc:5rM   r?   rC   Tr\   rS   r   rP   r@   rQ   rb   r­   z	a,b,c,x,zrz   )TF)
r   r&   r   r1   r`   r0   rd   r$   r£   r[   )r�   rM   rs   rt   rb   rv   r’   r>   r   rž   rg   r„   Úzzr¡   rF   rF   rG   Útest_issue_8919í  s2    $:ÿþþ8r  c                  C   sò   t dƒ} tdt| tƒd dƒfdtd dk fdƒ}| t¡t|tƒksJt‚| tddf¡t|tddfƒksnt‚t|tddfƒ | tƒtd ¡ ¡ dksšt‚| t	¡tt	t| tƒdƒtdk t| tƒdƒ@ B fdt	 tt
 ktdk @ fdƒksît‚d S )	Nrl   r?   r   rC   rU   r@   r]   g      $@)r   r&   r   rM   r1   r0   r`   r[   rX   rb   r   )rl   rh   rF   rF   rG   Útest_unevaluated_integrals  s    *$,
& þr  c                  C   s\   t dƒ\} }}ttttdk tdkftdkdfƒfƒttttdktdk tdkƒfƒksXt‚d S )Nza:cr?   r   T)r   r&   rM   rb   r3   r`   r  rF   rF   rG   Ú%test_conditions_as_alternate_booleans  s    $ÿr  c                     sd  t dƒ\‰‰} }dd„ ‰ ˆ ˆtdk fˆtdkfƒttdk ˆˆƒksFt‚ˆ ˆtdk fˆttk fƒttdk ˆˆƒkstt‚ˆ ˆtdk fˆttdk ttk ƒf| tdkfƒttdk ˆˆƒks¶t‚ˆ ˆtdk fˆdfƒttdk ˆˆƒksàt‚ˆ ˆtdk fˆtdk f| dfƒttdk ˆttdk ˆ| ƒƒk�s"t‚ˆ ˆtdk fˆtdk f| dfƒttdk ˆttdk ˆ| ƒƒk�sdt‚ˆ ˆtdk fˆttk f| tdk fƒttdk ˆˆƒk�sžt‚ˆ ˆtdk f| tdk fˆttk f|dfƒttdk ˆttdk | ˆƒƒk�sêt‚ˆ ˆtdk fˆtttk tdk ƒfƒttdk ˆˆƒk�s$t‚tt‡ fdd	„ƒ tt	‡ ‡fd
d	„ƒ tt
‡ ‡‡fdd	„ƒ d S )Nza:dc                  W   s   t | Ž  t¡S rD   )r&   r‡   r3   )r¯   rF   rF   rG   Ú_ITE   s    z+test_Piecewise_rewrite_as_ITE.<locals>._ITEr?   r   TrC   c                      s   ˆ t d t dk ft dfƒS rO   r´   rF   )r  rF   rG   rH   2  rI   z/test_Piecewise_rewrite_as_ITE.<locals>.<lambda>c                      s   ˆ t t tk ftt ˆkfƒS rD   )rM   rb   rF   )r  rv   rF   rG   rH   6  rI   c                      s   ˆ ˆt dk fˆt dkfƒS )NrC   r\   r´   rF   ©r  rv   r’   rF   rG   rH   7  rI   )r   rM   r3   r`   r   r5   rb   r;   ra   r¼   Ú
ValueError)r�   r‘   rF   r  rG   Útest_Piecewise_rewrite_as_ITE  s4    ..,ÿ*ÿ
ÿ
"ÿ
(ÿ
"ÿ
r  c                   C   s(   t tttƒƒtddt fƒdks$t‚d S )Nr   rC   rS   )r1   rü   r,   rM   r   r`   rF   rF   rF   rG   Útest_issue_14052:  s    r  c                   C   sÞ   t tdtfdtfdƒtdtfdƒ ƒtdtfdtfdƒks>t‚t tdtfd	tfd
ƒtdtfdƒ ƒtdtfdtfdƒks|t‚t tdd„ tdƒD ƒŽ ƒtdtfdƒks¨t‚t tdd„ tddƒD ƒŽ ƒttdƒtfdƒksÚt‚d S )Nr?   rC   rÏ   ræ   )é   Té	   é   )rç   Tr\   rÐ   rR   )r¿   Tr|   é!   )é7   Tc                 S   s   g | ]}t |tfd ƒ‘qS ©r@   ©r&   rv   r¹   rF   rF   rG   r»   H  s    z$test_issue_14240.<locals>.<listcomp>é(   i  r@   c                 S   s   g | ]}t |tfd ƒ‘qS r  r  r¹   rF   rF   rG   r»   K  s    é)   )	r'   r&   rv   r’   r`   r   r£   r
   r   rF   rF   rF   rG   Útest_issue_14240>  s0    ÿÿýÿÿý
ÿþ
ÿþr  c                  C   s>   t dƒ} t| | dk ftdƒd dfƒ}t| ¡ ƒdks:t‚d S )NrM   r?   é:   rR   Tz/Piecewise((x, x < 1), (8.28571428571429, True)))r   r&   r   rï   rc   r`   ©rM   rl   rF   rF   rG   Útest_issue_14787P  s    r!  c                     sŒ  t dƒ\} }td| dk|dk@ | dk| dk @ |dk @ B |dk| dk @ tt|dƒdƒ@ B |dk| dk@ | dk @ tt|dƒdƒ@ B ftj| dk|dk @ | dk|dk@ | dk @ B |dk| dk @ tt|dƒdƒ@ B |dk| dk@ | dk @ tt|dƒdƒ@ B ftj tt|dƒdƒ|dk| dk @ |dk| dk@ | dk @ B @ fd|dk| dk @ tt|dƒdƒ@ |dk| dk@ | dk @ tt|dƒdƒ@ B fƒ}tdt| dƒt|dƒB t| dƒtt|dƒdƒ@ B fdt| dƒ|dk@ fdt| dƒtt|dƒdƒ@ f|tt| ƒdƒtt|ƒdƒ@ fƒ}t|ƒ}| ¡ }| ¡ }ddtj dtjddf}|D ]N}|D ]B}	| |||	i‰ ‡ fdd„||||fD ƒ}
t	t
|
ƒƒdk�s@t‚�q@�q8d S )	Nzb erC   r?   r   rB   rZ   c                    s   g | ]}|  ˆ ¡‘qS rF   )rö   )rº   rì   ©r˜   rF   rG   r»   w  s     z$test_issue_21481.<locals>.<listcomp>)r   r&   r   r   r   re   r   r'   rˆ   ÚlenÚsetr`   )r’   rÿ   ÚCrÜ   rÝ   ÚsaÚsbr—   rŸ   r    ÚokrF   r"  rG   Útest_issue_21481U  s\    ÿþ&ýÿÿþ&ýÿ&ÿÿ&ÿÿò0ür)  c                  C   s  t dƒ\} }tdt| dƒft| ƒdfƒ}| ¡ t| ƒks<t‚t| t| dƒfd|  |d d  t| dƒt| | dƒ@ ft| ƒdfƒ}| ¡ t| ƒks–t‚t| d t| dƒfd|  |d d  t| dƒt| | dƒ@ ft| ƒdfƒ}| ¡ tdt| dƒft| ƒdfƒk�s
t‚d S )Nry   r   TrS   rC   r?   rB   )r   r&   r   r,   rˆ   r`   )rM   rb   r¥   ri   rj   rF   rF   rG   Útest_issue_8458{  s    FJr*  c               	   C   s”  t dƒ} ttdttt| ƒdƒtt| ƒdƒƒfdƒs6t‚t dƒ}ttt	j
t|ƒdk fdtt|ƒdktt|ƒdƒƒft	jdfƒs€t‚t ddd�}tt	j
t|ƒdk fdtt|ƒdktt|ƒdƒƒft	jdfƒ}|tt	j
|dk fd|dkft	jdfd	d
�ksøt‚t| }tt	j
t|ƒdk fdtt|ƒdktt|ƒdƒƒft	jdfƒ}|tdtt|ƒdƒft	jdfd	d
�k�sht‚|tdt|dƒft	jdfd	d
�k�s�t‚d S )Nr>   r?   r   rP   rM   Tr˜   rz   FrJ   )r   r   r&   r5   r   r   r   r   r`   r   ÚPir   r³   r   )r>   rM   r˜   rh   rŸ   rF   rF   rG   Útest_issue_16417ˆ  s<    .þþ
 þ
þ ÿ ÿr,  c                     sÒ  t dƒ\} }}}}}t‰ ‡ fdd„}tdt| |ƒfdƒ}||ƒdˆ | |ƒ ksRt‚t| t|dƒf|t|dƒf|dfƒ}||ƒ|ˆ d|ƒ ˆ d|ƒ |ˆ d|ƒ  |ˆ d|ƒ  | | ˆ d|ƒ  |ˆ d|ƒ ˆ d|ƒ  |ˆ d|ƒ  ksît‚tdt| |ƒfdƒ}	||	ƒdˆ | |ƒ k�st‚tdt| d	ƒfd
dƒ}
||
ƒdd	ˆ d	| ƒ  k�sTt‚td	t| dƒfdt|dƒfdƒ}||ƒˆ d| ƒ ˆ d|ƒ dˆ d| ƒ  d	 k�sªt‚tdt| dƒt|dƒ@ fdƒ}||ƒˆ d| ƒ ˆ d|ƒ ˆ d| ƒ ˆ d|ƒ k�s t‚tdt|d	ƒt| dƒ@ fdƒ}||ƒˆ d| ƒ ˆ d	|ƒ ˆ d	|ƒ d k�sPt‚tdt| d	ƒt|dƒ@ fdƒ}||ƒdˆ d|ƒ ˆ d	| ƒ d	ˆ d	| ƒ  d k�s¦t‚tdt| dƒt|dƒ@ fdƒ}||ƒdˆ d|ƒ ˆ d| ƒ d k�sît‚tdt| dƒt|dƒB fdƒ}||ƒdˆ d| ƒ ˆ d|ƒ d k�s6t‚tdt|dƒt| dƒB fdƒ}||ƒˆ d| ƒ ˆ d|ƒ ˆ d| ƒ d k�s†t‚tdt| dƒt|d	ƒB fdƒ}||ƒdˆ d| ƒ ˆ d	|ƒ dˆ d	|ƒ  d k�sÜt‚td	t| dƒt|dƒB fdƒ}||ƒdˆ d| ƒ ˆ d|ƒ dˆ d| ƒ  dˆ d|ƒ  d k�s@t‚tdt| dƒt|dƒB fdƒ}||ƒdˆ d| ƒ ˆ d|ƒ d k�sˆt‚tdt| d	ƒt|dƒB fd	t| dƒt|dƒ@ fdƒ}||ƒdˆ d|ƒ ˆ d	| ƒ ˆ d| ƒ ˆ d|ƒ ˆ d|ƒˆ d	| ƒ  dˆ d|ƒ ˆ d| ƒ ˆ d|ƒ  ˆ d|ƒ d k�s:t‚tdt||ƒfdƒtdt||ƒfdƒ tdt|| ƒfdƒ tdt|| ƒfdƒ }||ƒˆ ||ƒˆ ||ƒ ˆ || ƒ ˆ || ƒ k�sÀt‚tdt|| ƒt||ƒt||ƒB t|| ƒB @ fdt|| ƒfdt||ƒt||ƒB t|| ƒB fdƒ}||ƒˆ ||ƒˆ ||ƒ ˆ || ƒ ˆ || ƒ k�sTt‚tdt|dƒt| dƒt| |ƒ@ B fd
ƒ}||ƒdˆ d| ƒ ˆ d|ƒ ˆ | |ƒ dˆ d| ƒ ˆ | |ƒ  dˆ d|ƒ  d k�sÖt‚td| dkfdƒ}||ƒ|k�sút‚tdt| dk | dkƒfdƒ}||ƒ|k�s(t‚tdt| dk| dk ƒfdƒ}||ƒ|k�sVt‚tdt|dƒt| dƒB t| dƒt|dƒB @  fdƒ}||ƒˆ d|ƒˆ d| ƒ ˆ d|ƒˆ d| ƒ  ˆ d| ƒ d k�sÎt‚d S )Nzx y z n t mc                    s   t |  ˆ ¡ƒS rD   )r	   r‡   r§   ©ÚKrF   rG   rH   «  rI   z5test_eval_rewrite_as_KroneckerDelta.<locals>.<lambda>r   rA   r?   Tr@   r\   rÏ   rÐ   rS   rC   r€   rQ   r]   éüÿÿÿrP   rB   rZ   rŽ   rT   ræ   )r   r/   r&   r   r`   r   r2   r5   )rM   rb   r>   rX   r¬   r
  rl   r¥   ri   rj   rk   rp   rq   rÂ   rØ   Zp9Zp10Zp11Zp12Zp13Zp14Zp15Zp16Zp17Zp18Zp19Zp20Zp21Zp22rF   r-  rG   Ú#test_eval_rewrite_as_KroneckerDelta¨  s†    $<ÿÿÿ
  6828**28F*4D ÿÿÿ&ÿÿ6,   ÿ6(Z4r0  c                  C   s8   ddl m} m} | dddƒ}| dddƒ}||| ƒ d S )Nr   )ÚUniformÚdensityÚu1r?   Úu2)Zsympy.statsr1  r2  )r1  r2  r3  r4  rF   rF   rG   Útest_identical_conds_issueô  s    r5  c                  C   s:   t dtdkfƒ} t| tdtddƒfƒ}t|ƒdks6t‚d S )Nr?   i`	  r   z252.4é   z252.400000000000000000000000000)r&   rM   r1   r   rï   r`   )rl   r—   rF   rF   rG   Útest_issue_7370þ  s    r7  c                  C   s‚   t dƒ} t dƒ}tdddƒ}||d | |d i}tdt|dk| dk dƒfƒ}| |¡tdt|d dk|d dk dƒfƒks~t‚d S )NrM   rb   Úinpr?   )r   r   r   T)r   r6   r&   r3   rö   r`   )rM   rb   r8  Zrep_dictrh   rF   rF   rG   Útest_issue_14933  s    r9  c                   C   s   t tdd„ ƒ d S )Nc                   S   s   t ttdk fdtdkfƒ ¡ S )Nr   r?   )r&   rM   rb   rà   rF   rF   rF   rG   rH     rI   z"test_issue_16715.<locals>.<lambda>)r;   r¼   rF   rF   rF   rG   Útest_issue_16715  s    r:  c                  C   s†   t ddd�\} }t ddd�}t|tj  }tt|| ƒ|d| fƒ}| ¡ dtt|  d| d  d ƒ d td| d   ks‚t‚d S )	Nzt tauTrz   rX   rª   r   rC   r?   )r   r   r   re   r1   r!   rˆ   r`   )r¬   ÚtaurX   ZlamÚeqrF   rF   rG   Útest_issue_20360  s
    r=  c                  C   s–  dd„ } | t ttt ktdk @ fƒƒtt ktdk @ ks<t‚| t ttt kttk @ fƒƒtt kttk @ kspt‚| t ttdktdk @ fƒƒtdktdk @ ks t‚| t ttdkttk @ fƒƒtdkttk @ ksÐt‚| t ttdktt k@ fƒƒtdktt k@ k�st‚| t ttdktdk@ fƒƒtdktdk@ k�s8t‚| t ttdktdk @ fƒƒtdktdk @ k�sjt‚| t ttdkttk @ fƒƒtdkttk @ k�sœt‚| t ttdktdk@ fƒƒtdktdk@ k�sÎt‚| t tttktt k@ fƒƒtt kttk@ k�st‚| t tttktdk@ fƒƒtdkttk@ k�s6t‚| t ttt ktdk @ fƒƒtdk tt k@ k�slt‚| t ttt kttk @ fƒƒttk tt k@ k�s¢t‚| t ttt ktdk@ fƒƒtdktt k@ k�sØt‚| t ttt kttk@ fƒƒttktt k@ k�st‚| t ttdkttk@ fƒƒtdkttk@ k�s@t‚| t ttttƒƒdktttƒƒdk B fƒƒtttƒƒdktttƒƒdk B k�s’t‚d S )Nc                 S   s   | j d jS ró   )r¯   rg   r´   rF   rF   rG   rH     rI   z%test_piecewise_eval.<locals>.<lambda>r\   r€   r?   )r&   rM   r   r`   r   r   rv   rw   rF   rF   rG   Útest_piecewise_eval  sh    ÿÿÿÿÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
ÿ
*ÿr>  c                  C   s\   t ddd�} td|  | dkfd|  dfƒ}t|| ƒtt| ƒ | dkft| ƒdfƒksXt‚d S )NrM   Trz   rB   r   r?   )r   r&   r1   r"   r`   r   rF   rF   rG   Útest_issue_22533G  s    r?  c                   C   s>   t dtdkfdtdkfdtdkfƒt dtdkfdƒks:t‚d S )Nr?   rC   r\   rP   )r&   rM   r`   rF   rF   rF   rG   Útest_issue_24072M  s    "ÿr@  c                  C   sÆ   t ddd�} td| dk ftd|  ƒdfƒ}| | t¡dks>t‚| | d¡dksRt‚| | d¡dksft‚| | d¡dkszt‚| | d	¡dksŽt‚| | td
ƒ¡dks¦t‚| | td
dd�¡dksÂt‚dS )z9 Issue 24127: Tests eval_is_meromorphic auxiliary method rM   Trz   r?   r   NrB   FrC   rv   )r   r&   r%   Zis_meromorphicr   r`   r   r   rF   rF   rG   Ú#test_piecewise__eval_is_meromorphicR  s    rA  N)£Zsympy.concrete.summationsr   Zsympy.core.addr   Zsympy.core.basicr   Zsympy.core.containersr   Zsympy.core.exprr   Zsympy.core.functionr   r   r	   Zsympy.core.mulr
   Zsympy.core.modr   Zsympy.core.numbersr   r   r   r   r   r   Zsympy.core.relationalr   r   r   r   Zsympy.core.singletonr   Zsympy.core.symbolr   r   Z(sympy.functions.combinatorial.factorialsr   Z$sympy.functions.elementary.complexesr   r   r   r   r   r   r    Z&sympy.functions.elementary.exponentialr!   r"   Z(sympy.functions.elementary.miscellaneousr#   r$   r%   Z$sympy.functions.elementary.piecewiser&   r'   r(   r)   r*   Z(sympy.functions.elementary.trigonometricr+   r,   Z'sympy.functions.special.delta_functionsr-   r.   Z(sympy.functions.special.tensor_functionsr/   Zsympy.integrals.integralsr0   r1   Zsympy.logic.boolalgr2   r3   r4   r5   Z"sympy.matrices.expressions.matexprr6   Zsympy.printingr7   Zsympy.sets.containsr8   Zsympy.sets.setsr9   Zsympy.solvers.solversr:   Zsympy.testing.pytestr;   r<   Zsympy.utilities.lambdifyr=   rv   r’   r�   r‘   rM   rb   r>   ru   rx   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)  r*  r,  r0  r5  r7  r9  r:  r=  r>  r?  r@  rA  rF   rF   rF   rG   Ú<module>   sÌ    $ 
)
-
@lC

-J%#& L
	,