U
    ZÊ¹já»  ã                   @   s  d dl Z d dlmZ d dlZd dlmZ d dlmZmZm	Z	 d dl
mZ d dlmZmZ d dlmZmZmZmZ d dlmZmZ d d	lmZ d d
lmZmZ d dlmZ d dlmZ d dlm Z  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,m-Z-m.Z.m/Z/ d dl)m0Z0m1Z1m2Z2m3Z3m4Z4 d dl5m6Z6m7Z7m8Z8m9Z9m:Z: d dl;m<Z<m=Z=m>Z>m?Z? d dl@mAZB d dlCmDZD e0ƒ  e(ddeEfd�ZFG dd„ de*ƒZGG dd„ de*ƒZHdd „ ZIejJ Kd!d"d#g¡d$d%„ ƒZLejJ Kd!d"d#g¡d&d'„ ƒZMejJ Kd!d"d#g¡d(d)„ ƒZNejJ Kd!d"g¡d*d+„ ƒZOejJ Kd!d"d#g¡d,d-„ ƒZPejJ Kd!d"d#g¡d.d/„ ƒZQejJ Kd!d"d#g¡d0d1„ ƒZRejJ Kd!d"d#g¡d2d3„ ƒZSejJ Kd!d"d#g¡d4d5„ ƒZTd6d7„ ZUejJ Kd!d"d#g¡d8d9„ ƒZVejJ Kd!d"d#g¡d:d;„ ƒZWejJ Kd!d"d#g¡d<d=„ ƒZXejJ Kd!d"d#g¡d>d?„ ƒZYd@dA„ ZZejJ Kd!d"d#g¡dBdC„ ƒZ[ejJ Kd!d"d#g¡dDdE„ ƒZ\ejJ Kd!d"d#g¡dFdG„ ƒZ]ejJ Kd!d"d#g¡dHdI„ ƒZ^ejJ Kd!d"d#g¡dJdK„ ƒZ_dLdM„ Z`dNdO„ ZaejJ Kd!d"d#g¡dPdQ„ ƒZbejJ Kd!d"d#g¡dRdS„ ƒZcdTdU„ ZddVdW„ ZedXdY„ ZfdZd[„ Zgd\d]„ Zhd^d_„ Zid`da„ ZjdS )bé    N)ÚTemporaryDirectory)ÚSum)ÚIÚooÚpi)ÚNe)ÚSymbolÚsymbols)ÚLambertWÚexpÚ	exp_polarÚlog)Ú	real_rootÚsqrt)Ú	Piecewise)ÚcosÚsin)ÚMin)Úmeijerg)ÚIntegral)ÚAnd)ÚS)Úsympify)Úimport_module)ÚPlotÚplotÚplot_parametricÚplot3d_parametric_lineÚplot3dÚplot3d_parametric_surface)Ú
unset_showÚplot_contourÚPlotGridÚMatplotlibBackendÚTextBackend)ÚLineOver1DRangeSeriesÚParametric2DLineSeriesÚParametric3DLineSeriesÚParametricSurfaceSeriesÚSurfaceOver2DRangeSeries)ÚskipÚwarnsÚraisesÚwarns_deprecated_sympy)Úlambdify)Úignore_warningsÚ
matplotlibz1.1.0)Zmin_module_versionZcatchc                   @   s   e Zd ZdZdd„ ZdS )ÚDummyBackendNotOkzœ Used to verify if users can create their own backends.
    This backend is meant to raise NotImplementedError for methods `show`,
    `save`, `close`.
    c                 O   s
   t  | ¡S ©N©ÚobjectÚ__new__©ÚclsÚargsÚkwargs© r:   ú]/var/www/html/bwave/python/venv/lib/python3.8/site-packages/sympy/plotting/tests/test_plot.pyr5   +   s    zDummyBackendNotOk.__new__N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r5   r:   r:   r:   r;   r1   &   s   r1   c                   @   s0   e Zd ZdZdd„ Zdd„ Zdd„ Zdd	„ Zd
S )ÚDummyBackendOkzi Used to verify if users can create their own backends.
    This backend is meant to pass all tests.
    c                 O   s
   t  | ¡S r2   r3   r6   r:   r:   r;   r5   3   s    zDummyBackendOk.__new__c                 C   s   d S r2   r:   ©Úselfr:   r:   r;   Úshow6   s    zDummyBackendOk.showc                 C   s   d S r2   r:   rA   r:   r:   r;   Úsave9   s    zDummyBackendOk.savec                 C   s   d S r2   r:   rA   r:   r:   r;   Úclose<   s    zDummyBackendOk.closeN)r<   r=   r>   r?   r5   rC   rD   rE   r:   r:   r:   r;   r@   /   s
   r@   c                  C   s<   t dƒ} t| | ddfdd� t| d d | ddfdd� d S )NÚxr   é   Útext)Úbackendé   é   )r   r   )rF   r:   r:   r;   Útest_basic_plotting_backend?   s    rL   ÚadaptiveTFc              	      s¢  t stdƒ tdƒ‰ tdƒ‰tdd���p}tˆ dd| dd	�}tˆ tˆ ƒ ˆ tˆ ƒ d
| dd�}| |¡ dd„ |d _d|d _d|_	d|_
d|d _d|_d|_d|_d}| tj ||¡¡ |j ¡  | tˆ d | dd�¡ | tˆ d ˆ d | dd�d ¡ d}| tj ||¡¡ tˆ d ˆ ddf| dd�|d< d}| tj ||¡¡ |j ¡  ttˆ ƒˆ dt dt f| dd�}d}| tj ||¡¡ |j ¡  ttˆ ƒ| dd�}d}| tj ||¡¡ |j ¡  tˆ d ˆ d d!ffˆ d ˆ d"dff| dd�}d#}| tj ||¡¡ |j ¡  tt‡ ‡fd$d„ƒ ttdˆ dkfd%ƒˆ d&df| dd�}d'}| tj ||¡¡ |j ¡  ttˆ ˆ dk fˆ d dfƒˆ d"df| dd�}d(}| tj ||¡¡ |j ¡  tˆ | dd�}td| dd�}| |¡ d)}| tj ||¡¡ |j ¡  td&ˆ d&k fˆ td&ˆ kˆ dk ƒfˆ d tdˆ kˆ dk ƒfˆ d ˆ dkfƒ}t|ˆ d"df| dd�}d*}| tj ||¡¡ |j ¡  W 5 Q R X d S )+Nú"Matplotlib not the default backendrF   ÚyÚsympy_©ÚprefixTÚf1é
   ©ÚlegendÚlabelrM   ÚnÚf2)rW   rM   rX   c                 S   s   | S r2   r:   ©Úar:   r:   r;   Ú<lambda>S   ó    z&test_plot_and_save_1.<locals>.<lambda>r   ÚbrK   z	Big titlez
the x axiszstraight line©rK   rK   )iñÿÿÿé   z!test_basic_options_and_colors.png©rM   rX   rG   rJ   ztest_plot_extend_append.pngéþÿÿÿztest_plot_setitem.pngé   ztest_line_explicit.pngztest_line_default_range.pngéûÿÿÿé   éýÿÿÿztest_line_multiple_range.pngc                      s
   t ˆ ˆƒS r2   )r   r:   ©rF   rO   r:   r;   r\   x   r]   ©r   Téÿÿÿÿztest_plot_piecewise.pngztest_plot_piecewise_2.pngztest_horizontal_line.pngztest_plot_piecewise_3.png)r0   r*   r   r   r   r   r   ÚextendÚ
line_colorÚtitleZxlabelrW   rV   Úaspect_ratioÚxlimrD   ÚosÚpathÚjoinÚ_backendrE   Úappendr   r,   Ú
ValueErrorr   r   )rM   ÚtmpdirÚpÚfilenameÚp1Úp2Úfr:   rg   r;   Útest_plot_and_save_1D   s|    "



"
"

,
$
,


  ÿr{   c              
   C   s^  t stdƒ tdƒ}tdƒ}tdƒ}tdd���$}tt|ƒt|ƒ| dd�}d	}| tj	 
||¡¡ |j ¡  tt|ƒt|ƒ|d
dfdd| dd�}d}| tj	 
||¡¡ |j ¡  tt|ƒt|ƒf|t|ƒf| dd�}d}| tj	 
||¡¡ |j ¡  tt|ƒt|ƒ|ddff|t|ƒ|d
dff| dd�}d}| tj	 
||¡¡ |j ¡  t|t|ƒd| dd�}d}| tj	 
||¡¡ |j ¡  tt|ƒt|ƒddd�}d}| tj	 
||¡¡ |j ¡  tt|ƒt|ƒ|dd| dd�}d}| tj	 
||¡¡ |j ¡  tt|ƒt|ƒ||d
dfft|ƒt|ƒ||ddff| dd�}d}| tj	 
||¡¡ |j ¡  tt|ƒt|ƒ|d| d�}d}| tj	 
||¡¡ |j ¡  t|| | dd�}d }| tj	 
||¡¡ |j ¡  t| | || |d
df| dd�}d!}| tj	 
||¡¡ |j ¡  t|| |ddf|ddff| | |ddf|ddff| dd�}d"}| tj	 
||¡¡ |j ¡  tt|| ƒt|| ƒ|| | dd�}d#}| tj	 
||¡¡ |j ¡  t|t|ƒ |t|ƒ ||d
df|d
dfft|| ƒt|| ƒ|| |d
df|d
dff| dd�}d#}| tj	 
||¡¡ |j ¡  tt|ƒt|ƒ |d
df|d
df| dd�}d$}| tj	 
||¡¡ |j ¡  t|d% |d%  |d |d  |d
df|d
df| dd�}d$}| tj	 
||¡¡ |j ¡  t|d% |d%  |d
df|d
dff|d |d  |ddf|ddff| dd�}d$}| tj	 
||¡¡ |j ¡  W 5 Q R X d S )&NrN   rF   rO   ÚzrP   rQ   rT   ra   ztest_parametric.pngrd   re   TZparametric_plotrU   ztest_parametric_range.pngztest_parametric_multiple.pngrf   rG   z#test_parametric_multiple_ranges.pngé   )ÚdepthrM   rX   ztest_recursion_depth.pngFiô  ztest_adaptive.pngZ3d_parametric_plotztest_3d_line.pngztest_3d_line_multiple.pngé   )rX   rM   ztest_3d_line_points.pngztest_surface.pngztest_surface_multiple.pngz test_surface_multiple_ranges.pngztest_parametric_surface.pngztest_contour_plot.pngrJ   )r0   r*   r   r   r   r   r   rD   ro   rp   rq   rr   rE   r   r   r   r!   ©rM   rF   rO   r|   ru   rv   rw   r:   r:   r;   Útest_plot_and_save_2–   s   
     þ
 ÿ
  þ
 ÿ

     þ
  þ
ÿ

"
  þ
 ÿ
(, ý
  ÿ
. ÿ
   ýr�   c              
   C   sö  t stdƒ tdƒ}tdƒ}tdƒ}tdd���¼}tt|ƒ| dd�}d	d
„ |d _d}| tj	 
||¡¡ dd
„ |d _d}| tj	 
||¡¡ |j ¡  t|t|ƒ |t|ƒ |ddf| dd�}dd
„ |d _d}| tj	 
||¡¡ dd
„ |d _d}| tj	 
||¡¡ dd
„ |d _d}| tj	 
||¡¡ |j ¡  tt|ƒdt|ƒ td| ƒ  t|ƒdt|ƒ td| ƒ  dtd| ƒ |ddt f| dd�}t|td| ƒƒ|d _d}| tj	 
||¡¡ dd
„ |d _d}| tj	 
||¡¡ dd
„ |d _d}| tj	 
||¡¡ |j ¡  tt|ƒ| |ddt f|ddf| dd�}d d
„ |d _d!}| tj	 
||¡¡ d"d
„ |d _d#}| tj	 
||¡¡ d$d
„ |d _d%}| tj	 
||¡¡ t|||ft|d&t  d |d  ƒƒ|d _d'}| tj	 
||¡¡ |j ¡  t|td| ƒ |td| ƒ ||d(d)f|d(d)f| dd�}d*d
„ |d _d+}| tj	 
||¡¡ d,d
„ |d _d-}| tj	 
||¡¡ t|||ft|d |d  |d  ƒƒ|d _d.}| tj	 
||¡¡ |j ¡  W 5 Q R X d S )/NrN   rF   rO   r|   rP   rQ   rT   ra   c                 S   s   | S r2   r:   rZ   r:   r:   r;   r\   +  r]   z&test_plot_and_save_3.<locals>.<lambda>r   ztest_colors_line_arity1.pngc                 S   s   |S r2   r:   ©r[   r^   r:   r:   r;   r\   /  r]   ztest_colors_line_arity2.pngc                 S   s   | S r2   r:   rZ   r:   r:   r;   r\   5  r]   z!test_colors_param_line_arity1.pngc                 S   s   | S r2   r:   r‚   r:   r:   r;   r\   9  r]   c                 S   s   |S r2   r:   r‚   r:   r:   r;   r\   =  r]   z"test_colors_param_line_arity2b.pnggš™™™™™¹?é   rJ   rc   ztest_colors_3d_line_arity1.pngc                 S   s   |S r2   r:   r‚   r:   r:   r;   r\   J  r]   ztest_colors_3d_line_arity2.pngc                 S   s   |S r2   r:   ©r[   r^   Úcr:   r:   r;   r\   M  r]   ztest_colors_3d_line_arity3.pngé   rd   re   c                 S   s   | S r2   r:   rZ   r:   r:   r;   r\   S  r]   ztest_colors_surface_arity1.pngc                 S   s   |S r2   r:   r‚   r:   r:   r;   r\   V  r]   ztest_colors_surface_arity2.pngc                 S   s   |S r2   r:   r„   r:   r:   r;   r\   Y  r]   ztest_colors_surface_arity3a.pngrG   ztest_colors_surface_arity3b.pngri   rK   c                 S   s   | S r2   r:   rZ   r:   r:   r;   r\   c  r]   z!test_colors_param_surf_arity1.pngc                 S   s   | | S r2   r:   r‚   r:   r:   r;   r\   f  r]   z!test_colors_param_surf_arity2.pngz!test_colors_param_surf_arity3.png)r0   r*   r   r   r   r   rk   rD   ro   rp   rq   rr   rE   r   r   r   Ú	lambdify_r   Úsurface_colorr   r   r€   r:   r:   r;   Útest_plot_and_save_3  s’    
(
  ü
*.
    ÿ.r‰   c              	   C   s    t stdƒ tdƒ}tdƒ}tdd��p}ttt|ƒd d t|d d ƒ ƒ|d|fƒ}t||dd	f| d
dd�}d}| 	t
j ||¡¡ |j ¡  W 5 Q R X d S )NrN   rF   rO   rP   rQ   rJ   rK   r   re   rT   T)rM   rX   Zforce_real_evalztest_advanced_integral.png)r0   r*   r   r   r   r   r   r   r   rD   ro   rp   rq   rr   rE   )rM   rF   rO   ru   Úirv   rw   r:   r:   r;   Útest_plot_and_save_4o  s    0r‹   c              
   C   sø   t stdƒ tdƒ}tdƒ}tdd��È}td||  |dtfƒ}t||ddf| dd	�}d
}| tj	 
||¡¡ |j ¡  ttd| |d|fƒ|ddfd| dd�}d|d _d|d _d}ttƒ� | tj	 
||¡¡ W 5 Q R X |j ¡  W 5 Q R X d S )NrN   rF   rO   rP   rQ   rK   rJ   rT   ra   ztest_advanced_inf_sum.pngF©rC   rM   rX   Tr   ztest_advanced_fin_sum.png)r0   r*   r   r   r   r   r   rD   ro   rp   rq   rr   rE   Zonly_integersZstepsr/   ÚUserWarning)rM   rF   rO   ru   Úsrv   rw   r:   r:   r;   Útest_plot_and_save_5ƒ  s(    
 ÿ

	
r�   c           
   
   C   s„  t stdƒ tdƒ}tdd���Z}d}tt|ƒtt|ƒ  ƒ}| t	j
 ||¡¡ ttƒ�, ttt| ƒƒƒ}| t	j
 ||¡¡ W 5 Q R X tt|ƒƒ}| t	j
 ||¡¡ ttt|ƒƒƒ}| t	j
 ||¡¡ d|d  tt t ƒ d }tdd	|ƒ}d|d  ttt ƒ d }tdd	|ƒ}|| d
t  }	ttddd��0 t|	|ddf| dd�}| t	j
 ||¡¡ W 5 Q R X W 5 Q R X d S )NrN   rF   rP   rQ   ztest.pngre   rJ   ))ç      à?r:   ))re   r   r�   r:   é0   z&The evaluation with NumPy/SciPy failedF©ÚmatchZtest_stacklevelg�íµ ÷Æ°>ç{®Gáz„?rT   ra   )r0   r*   r   r   r   r   r   r   rD   ro   rp   rq   r/   ÚRuntimeWarningr   r
   r   r   r   r+   r�   )
rM   rF   ru   rw   rv   Úx1Úm1Zx2Úm2Úexprr:   r:   r;   Útest_plot_and_save_6¥  s4    
ýrš   c              	   C   sÜ  t stdƒ tdƒ}tdƒ}tdd���ª}t|| dd�}tt|ƒt|ƒf|t|ƒfd| dd	�}tt|ƒt|ƒ| ddd
�}tt|ƒt|ƒ|d| dd	�}t	dd||||ƒ}d}	| 
tj ||	¡¡ |j ¡  t	dd||||ƒ}d}	| 
tj ||	¡¡ |j ¡  tt|ƒ|t tfd| dd	�}
dd„ |
d _ttd|dkfdƒ|ddfd| dd	�}t|d |d  |ddf|ddff|d |d  |ddf|ddffd| dd	�}t	dd|
||ƒ}d}	| 
tj ||	¡¡ |j ¡  W 5 Q R X d S )NrN   rF   rO   rP   rQ   rT   ra   FrŒ   ©rM   rX   rC   rJ   ztest_grid1.pngrG   rc   ztest_grid2.pngc                 S   s   | S r2   r:   rZ   r:   r:   r;   r\   ê  r]   z(test_plotgrid_and_save.<locals>.<lambda>r   rK   rh   ri   rd   re   rf   ztest_grid3.png)r0   r*   r   r   r   r   r   r   r   r"   rD   ro   rp   rq   rr   rE   r   rk   r   r!   )rM   rF   rO   ru   rx   ry   Úp3Úp4rv   rw   Zp5Zp6Zp7r:   r:   r;   Útest_plotgrid_and_saveÍ  s\     ÿ    ÿ ÿ

 ÿ    ýrž   c              	   C   s¨   t stdƒ tdƒ}t|| dd�}t|d | dd�}t|d | dd� | |d ¡ t|jƒdksft‚tt	ƒ� | |¡ W 5 Q R X tt	ƒ� | |j¡ W 5 Q R X d S )NrN   rF   rT   ra   rJ   r   )
r0   r*   r   r   rs   ÚlenÚ_seriesÚAssertionErrorr,   Ú	TypeError)rM   rF   rx   ry   r:   r:   r;   Útest_append_issue_7140ø  s    

r£   c                    s  t stdƒ tdƒ}t|ƒ‰tˆtj tjfdˆ dd�}|j ¡  tˆdtj tjfˆ dd�}|j ¡  tˆdˆ dt	dƒt	dƒfd�}|j ¡  tˆˆ dt	dƒt	dƒfdd	�}|j ¡  t
t‡ ‡fd
d„ƒ t
t‡ ‡fdd„ƒ t
t‡ ‡fdd„ƒ t
t‡ ‡fdd„ƒ d S )NrN   rF   ©ri   rK   rT   )rn   ÚylimrM   rX   z-3.14z3.14)rn   rM   rX   r¥   ©rM   rX   rn   r¥   c                      s   t ˆˆ dtj dfdd�S ©NrT   rK   r¤   r¦   ©r   r   ZImaginaryUnitr:   ©rM   Zeqnr:   r;   r\   $  s   
 ÿz"test_issue_15265.<locals>.<lambda>c                      s   t ˆˆ dddtjfd�S ©NrT   r¤   ri   r¦   r¨   r:   r©   r:   r;   r\   (  s    ÿc                      s   t ˆˆ dtjdfdd�S r§   )r   r   ÚNegativeInfinityr:   r©   r:   r;   r\   ,  s    ÿc                      s   t ˆˆ dddtjfd�S rª   )r   r   ÚInfinityr:   r©   r:   r;   r\   0  s    ÿ)r0   r*   r   r   r   r   ÚPirr   rE   r   r,   rt   ©rM   rF   rv   r:   r©   r;   Útest_issue_15265  s:    


ÿ
 ÿ
ÿÿÿÿr¯   c                      s.   t stdƒ tƒ  tƒ ‰ tt‡ fdd„ƒ d S )NrN   c                      s   ˆ   ¡ S r2   ©rC   r:   ©rv   r:   r;   r\   =  r]   z!test_empty_Plot.<locals>.<lambda>)r0   r*   r   r   r,   ÚNotImplementedErrorr:   r:   r±   r;   Útest_empty_Plot4  s
    r³   c              	   C   s|   t stdƒ tdƒ}|d d|d   |d  }t||ddf| dd	d
�}ttƒ�" t|d  ¡ d ƒdksnt‚W 5 Q R X d S )NrN   rF   g333333Ó?rT   rG   rJ   éöÿÿÿr   Fr›   r   )	r0   r*   r   r   r/   r•   rŸ   Úget_datar¡   ©rM   rF   rz   rv   r:   r:   r;   Útest_issue_17405@  s    
r·   c                 C   sr   t stdƒ tdƒ}t||ddf| dddd�}t|d	  ¡ d	 ƒdksJt‚|d	 jd
ks\t‚|d	 jdksnt‚d S )NrN   rF   gü©ñÒMbP?éd   r   r   F)rM   rX   ZxscalerC   r   g      Y@)	r0   r*   r   r   rŸ   rµ   r¡   ÚendÚstartr®   r:   r:   r;   Útest_logplot_PR_16796P  s     ÿr»   c                 C   sH   t stdƒ tdƒ}tt|ƒd| dd�}t|d  ¡ d ƒdksDt‚d S )NrN   rF   Fr   rŒ   r   )r0   r*   r   r   r
   rŸ   rµ   r¡   r®   r:   r:   r;   Útest_issue_16572_  s
    r¼   c                 C   s”   t stdƒ tddd�}tt ttt | ƒ | ttt t | ƒ |  t|dƒfdt dfƒ}t|d| dd	�}t	|d  
¡ d ƒdks�t‚d S )
NrN   ÚkT)Úintegerr   rJ   Fr   rŒ   )r0   r*   r   r   r   r   r   r   r   rŸ   rµ   r¡   )rM   r½   rz   rv   r:   r:   r;   Útest_issue_11865k  s    Lr¿   c               	   C   sn   t stdƒ tdƒ} ttt| | d  ƒdƒddd�}ttddd	��" t|d
  	¡ d
 ƒdks`t
‚W 5 Q R X d S )NrN   rF   rJ   rG   FT)rC   rM   zinvalid value encountered inr’   r   r   )r0   r*   r   r   r   r   r+   r•   rŸ   rµ   r¡   ©rF   rv   r:   r:   r;   Útest_issue_11461y  s     ýrÁ   c              	   C   sj   t stdƒ tdƒ}tt|ƒt|ƒ|ddt fdd| dd�}|jdksJt‚t	|d  
¡ d ƒdksft‚d S )	NrN   rF   r   rJ   r_   Fr   )rm   rC   rM   rX   )r0   r*   r   r   r   r   r   rm   r¡   rŸ   rµ   r®   r:   r:   r;   Útest_issue_11764Š  s       ÿrÂ   c                 C   s  t stdƒ tdƒ}tt|ƒdd| dd�}|jtks8t‚t|d  	¡ d ƒdksTt‚tt|ƒdd| dd�}|jt
ksxt‚t|d  	¡ d ƒdks”t‚tt|ƒd	d| dd�}|jtks¸t‚t|d  	¡ d ƒdksÔt‚tt|ƒd| dd
�}|jtksöt‚t|d  	¡ d ƒdk�st‚d S )NrN   rF   r0   Fr   )rI   rC   rM   rX   r   rH   ÚdefaultrŒ   )r0   r*   r   r   r   rI   r#   r¡   rŸ   rµ   r$   )rM   rF   ÚpmÚptÚpdrv   r:   r:   r;   Útest_issue_13516˜  s    rÇ   c                 C   s¦   t stdƒ tdƒ}t||d |ddf| dd�}|j}|j ¡ \}}t|d ƒdk sXt‚t|d ƒdk slt‚|j 	¡ \}}t|d ƒdk sŽt‚t|d ƒdk s¢t‚d S )NrN   rF   rJ   r´   rT   ra   r¸   )
r0   r*   r   r   rr   ÚaxÚget_xlimÚabsr¡   Úget_ylim)rM   rF   rv   rI   ÚxminÚxmaxÚyminÚymaxr:   r:   r;   Útest_plot_limits°  s    rÐ   c                 C   sÖ  t stdƒ tdƒ}dt|ƒ dt|ƒ d| |ddff}t|ƒt|ƒ||ddff}t||| dd�}|j}|j ¡ \}}t	|d ƒdk sŒt
‚t	|d ƒdk s t
‚|j ¡ \}}	t	|d ƒdk sÂt
‚t	|	d ƒdk sÖt
‚|j ¡ \}
}t	|
d	 ƒdk søt
‚t	|d	 ƒdk �st
‚t||| dd�}|j}|j ¡ \}}t	|d ƒdk �sHt
‚t	|d ƒdk �s^t
‚|j ¡ \}}	t	|d ƒdk �s‚t
‚t	|	d ƒdk �s˜t
‚|j ¡ \}
}t	|
d	 ƒdk �s¼t
‚t	|d	 ƒdk �sÒt
‚d S )
NrN   rF   rJ   rd   re   é<   ra   r”   rT   )r0   r*   r   r   r   r   rr   rÈ   rÉ   rÊ   r¡   rË   Zget_zlim)rM   rF   Zv1Zv2rv   rI   rÌ   rÍ   rÎ   rÏ   ZzminZzmaxr:   r:   r;   Ú"test_plot3d_parametric_line_limitsÁ  s6    &rÒ   c              	   C   sø   t stdƒ tdƒ}tt|ƒdd| dd�}|jj ¡ }|d dkrN|d	 d
ksRt‚tt|ƒdd| dd�}|jj ¡ }|d dkrŒ|d	 dks�t‚t	dd	||d| dd�}|jj ¡ }|d dkrÊ|d	 dksÎt‚t
tƒ� tt|ƒddd� W 5 Q R X d S )NrN   rF   r0   )é   rc   rT   )rI   ÚsizerM   rX   r   rÓ   rK   rc   )re   rT   re   rJ   )r†   rJ   )rÔ   rM   rX   r†   )ri   rG   )rI   rÔ   )r0   r*   r   r   r   rr   ZfigZget_size_inchesr¡   r"   r,   rt   )rM   rF   rx   Ús1ry   Ús2rœ   Zs3r:   r:   r;   Útest_plot_sizeå  s.     ÿ ÿ ÿ
r×   c               	   C   s6  t stdƒ tdƒ} tt| ƒtdd� tt| ƒtdd�}|jtksFt‚t	|d  
¡ d ƒdksbt‚tt| ƒtdd�}|jtks‚t‚t	|d  
¡ d ƒdksžt‚tt| ƒtdd�}|jtks¾t‚t	|d  
¡ d ƒdksÚt‚ttƒ� | ¡  W 5 Q R X ttƒ� | d¡ W 5 Q R X ttƒ� |j ¡  W 5 Q R X d S )NrN   rF   F)rI   rC   r   r   z	test/path)r0   r*   r   r   r   r   r#   rI   r¡   rŸ   rµ   r@   r1   r,   r²   rC   rD   rr   rE   )rF   ry   rœ   r�   r:   r:   r;   Útest_issue_20113ý  s&    


rØ   c                  C   sÞ  t dƒ} t dƒ}tt| ƒdd„ d� tt| ƒdd� tt| ƒdd� tt| ƒt| ƒdd„ d� tt| ƒt| ƒdd� tt| ƒt| ƒdd� tt| ƒt| ƒ| d	d„ d� tt| ƒt| ƒ| dd� tt| ƒt| ƒ| dd� tt| | ƒt| | ƒ| | | d
df|d
dfdd„ d� tt| | ƒt| | ƒ| | | d
df|d
dfdd� tt| | ƒt| | ƒ| | | d
df|d
dfdd� t| | | d
df|d
dfdd„ d� t| | | d
df|d
dfdd� t| | | d
df|d
dfdd� d S )NrF   rO   c                 S   s   | S r2   r:   rZ   r:   r:   r;   r\     r]   z&test_custom_coloring.<locals>.<lambda>)rk   rK   Úrc                 S   s   | S r2   r:   rZ   r:   r:   r;   r\     r]   c                 S   s   | S r2   r:   rZ   r:   r:   r;   r\   !  r]   rd   re   c                 S   s   | d |d  S ©NrJ   r:   r‚   r:   r:   r;   r\   &  r]   )rˆ   c                 S   s   | d |d  S rÚ   r:   r‚   r:   r:   r;   r\   .  r]   )r   r   r   r   r   r   r   r   rg   r:   r:   r;   Útest_custom_coloring  s>     þ þ þÿ rÛ   c              	   C   sV   t stdƒ tdƒ}t|ƒ}t||ddfd| dd�}tƒ � |d  ¡  W 5 Q R X d S )NrN   rF   r´   rT   FrŒ   r   )r0   r*   r   r   r   r-   Zget_segmentsr¶   r:   r:   r;   Útest_deprecated_get_segments3  s    rÜ   c              	   C   sÄ   t stdƒ tdƒ}t|ddgddggdddœgdd	d
œgddddgddddgdœd	dddœg| dd�}t|jjjƒdks~t‚t|jjj	ƒdks”t‚t|jjj
ƒdksªt‚t|jjjƒdksÀt‚d S )NrN   rF   r   rK   Ú*Únone©r8   ÚmarkerZ	linestyleÚtest©r   r   ©rH   ÚxyrJ   rG   ©rF   Úy1re   ©rä   ÚwidthÚheightrT   )ÚmarkersÚannotationsÚfillÚ
rectanglesrM   rX   )r0   r*   r   r   rŸ   rr   rÈ   Úcollectionsr¡   ZpatchesÚlinesZtextsr®   r:   r:   r;   Útest_generic_data_series?  s    
 ûrð   c               	   C   s  t stdƒ tdƒ} tt| ƒ| ddfdd�}tƒ �" ddgddggd	d
dœg|_W 5 Q R X t|jƒdkslt	‚tƒ � dddœg|_
W 5 Q R X t|jƒdksžt	‚tƒ �" ddddgddddgdœ|_W 5 Q R X t|jƒdksÞt	‚tƒ � ddddœg|_W 5 Q R X t|jƒdk�st	‚d S )NrN   rF   r´   rT   Fr°   r   rK   rÝ   rÞ   rß   rJ   rá   râ   rã   rG   rå   rc   re   rç   )r0   r*   r   r   r   r-   rê   rŸ   r    r¡   rë   rì   rí   rÀ   r:   r:   r;   Ú3test_deprecated_markers_annotations_rectangles_fillR  s     &&rñ   c               	   C   sF  t stdƒ tdƒ} tdƒ}tt| ƒddd�}t|d  ¡ ƒdksFt‚t|d  ¡ ƒdks^t‚t	t
| ƒt| ƒ| ddfddd�}t|d  ¡ ƒdks–t‚t|d  ¡ ƒd	ks®t‚tt
| ƒt| ƒ| | ddfddd�}t|d  ¡ ƒd	ksèt‚t|d  ¡ ƒd
k�st‚tt
| d |d  ƒ| t tf|t tfdd�}t|d  ¡ ƒd	k�sLt‚t|d  ¡ ƒd	k�sft‚tt
| d |d  ƒ| t tf|t tfdd�}t|d  ¡ ƒd	k�s°t‚t|d  ¡ ƒd	k�sÊt‚t| t
|ƒ | t|ƒ | t
d
| ƒ d | dtf|ddt fdd�}t|d  ¡ ƒd	k�s(t‚t|d  ¡ ƒdk�sBt‚d S )NrN   rF   rO   Fre   ra   r   rJ   rG   rc   )rX   )r0   r*   r   r   r   rŸ   Z
get_pointsr¡   rµ   r   r   r   r   r   Z
get_meshesr!   r   ©rF   rO   rv   r:   r:   r;   Útest_back_compatibilityf  s:      ÿ00(  ÿró   c                  C   sB  t stdƒ tdƒ\} }t| d ƒ}t|d tƒs6t‚|d j| d ksLt‚|d j| ddfgksft‚|d  	d¡dks|t‚|d j
i ksŽt‚t| d d	ƒ}t|d tƒs®t‚|d j| d ksÄt‚|d j| ddfgksÞt‚|d  	d¡d	ksôt‚|d j
i k�st‚t| d | d
dfƒ}|d j| d
dfgk�s8t‚t| d | d
dfdddiƒ}|d  	d¡dk�slt‚|d j
ddik�s„t‚t| d | d ƒ}t|d tƒ�sªt‚|d j| d k�sÂt‚|d j| ddfgk�sÞt‚|d  	d¡dk�söt‚|d j
i k�s
t‚t|d tƒ�st‚|d j| d k�s6t‚|d j| ddfgk�sRt‚|d  	d¡dk�sjt‚|d j
i k�s~t‚t| d | d | ddfƒ}|d j| ddfgk�s´t‚|d j| ddfgk�sÐt‚t| d | d | ddfddiƒ}|d j| ddfgk�st‚|d j| ddfgk�s(t‚|d j
ddik�s@t‚|d j
ddik�sXt‚t| d | ddff| d | d
dfdddifƒ}t|d tƒ�sšt‚|d j| d k�s²t‚|d j| ddfgk�sÎt‚|d  	d¡dk�sæt‚|d j
i k�sút‚t|d tƒ�st‚|d j| d k�s&t‚|d j| d
dfgk�sBt‚|d  	d¡dk�sZt‚|d j
ddik�srt‚dd„ }tdd„ ƒ}t|d tƒ�sšt‚t|d jƒ�s®t‚|d jd dd … dk�sÎt‚|d  	d¡dk�sæt‚|d j
i k�sút‚t|ddƒ}|d jd dd … dk�s&t‚|d  	d¡dk�s>t‚d S )NrN   úx, yrK   r   r´   rT   Fzx + 1rW   rb   rJ   rá   ÚcolorrÙ   zx**2re   c                 S   s   | S r2   r:   ©Útr:   r:   r;   r\   Ë  r]   z%test_plot_arguments.<locals>.<lambda>c                 S   s   | S r2   r:   rö   r:   r:   r;   r\   Ì  r]   ©r´   rT   Ú )r÷   rd   r†   )rd   r†   )r0   r*   r	   r   Ú
isinstancer%   r¡   r™   ÚrangesÚ	get_labelÚrendering_kwÚcallable©rF   rO   rv   rz   r:   r:   r;   Útest_plot_arguments‚  s~     þ  r   c                  C   sb  t stdƒ tdƒ\} }t| d | ƒ}t|d tƒs8t‚|d j| d | fksRt‚|d j| ddfgkslt‚|d  	d¡dks‚t‚|d j
i ks”t‚t| d | | d	d
fdddiƒ}|d j| d | fksÌt‚|d j| d	d
fgksæt‚|d  	d¡dksüt‚|d j
ddik�st‚t| d | f| d	d
fdƒ}|d j| d | fk�sJt‚|d j| d	d
fgk�sft‚|d  	d¡dk�s~t‚|d j
i k�s’t‚t| d | f| d
 | d fƒ}|d j| d | fk�sÌt‚|d j| ddfgk�sèt‚|d  	d¡dk�s t‚|d j
i k�st‚|d j| d
 | d fk�s4t‚|d j| ddfgk�sPt‚|d  	d¡dk�sht‚|d j
i k�s|t‚t| d | f|d
 |d dfƒ}|d j| d | fk�s¸t‚|d j| ddfgk�sÔt‚|d  	d¡dk�sìt‚|d j
i k�s t‚|d j|d
 |d fk�s t‚|d j|ddfgk�s<t‚|d  	d¡dk�sTt‚|d j
i k�sht‚t| d | f| d
 | d f| d	d
fƒ}|d j| d | fk�sªt‚|d j| d	d
fgk�sÆt‚|d  	d¡dk�sÞt‚|d j
i k�sòt‚|d j| d
 | d fk�st‚|d j| d	d
fgk�s.t‚|d  	d¡dk�sFt‚|d j
i k�sZt‚t| d | | d	d
fdf| d
 | d | ddfdddifƒ}|d j| d | fk�s®t‚|d j| d	d
fgk�sÊt‚|d  	d¡dk�sât‚|d j
i k�söt‚|d j| d
 | d fk�st‚|d j| ddfgk�s2t‚|d  	d¡dk�sJt‚|d j
ddik�sbt‚dd„ }dd„ }t||ƒ}tdd„ |d jD ƒƒ�sšt‚|d jd dd … dk�sºt‚d|d  	d¡k�sÒt‚|d j
i k�sæt‚t||ddƒ}tdd„ |d jD ƒƒ�st‚|d jd dd … dk�s2t‚|d  	d¡dk�sJt‚|d j
i k�s^t‚d S )NrN   rô   rK   r   r´   rT   FrF   rb   rJ   rá   ÚcmapÚRedsZtest1rf   rG   Útest2c                 S   s   | S r2   r:   rö   r:   r:   r;   r\   %  r]   z0test_plot_parametric_arguments.<locals>.<lambda>c                 S   s   d|  S rÚ   r:   rö   r:   r:   r;   r\   &  r]   c                 s   s   | ]}t |ƒV  qd S r2   ©rþ   ©Ú.0r÷   r:   r:   r;   Ú	<genexpr>(  s     z1test_plot_parametric_arguments.<locals>.<genexpr>rø   ÚDummy©r÷   r   rJ   c                 s   s   | ]}t |ƒV  qd S r2   r  r  r:   r:   r;   r  /  s     ©r   rJ   )r0   r*   r	   r   rú   r&   r¡   r™   rû   rü   rý   Úall)rF   rO   rv   ÚfxÚfyr:   r:   r;   Útest_plot_parametric_argumentsÙ  s�    ÿ   & þ 
  r  c               	   C   sä  t stdƒ tdƒ\} }t| d | t| ƒƒ}t|d tƒs>t‚|d j| d | t| ƒfks^t‚|d j	| ddfgksxt‚|d  
d¡dksŽt‚|d ji ks t‚t| d | t| ƒ| d	d
fdddiƒ}t|d tƒsÖt‚|d j| d | t| ƒfksöt‚|d j	| d	d
fgk�st‚|d  
d¡dk�s*t‚|d jddik�sBt‚t| d | t| ƒf| d	d
fdƒ}|d j| d | t| ƒfk�s„t‚|d j	| d	d
fgk�s t‚|d  
d¡dk�s¸t‚|d ji k�sÌt‚t| d | t| ƒf| d
 dt| ƒddifƒ}|d j| d | t| ƒfk�st‚|d j	| ddfgk�s6t‚|d  
d¡dk�sNt‚|d ji k�sbt‚|d j| d
 dt| ƒfk�s„t‚|d j	| ddfgk�s t‚|d  
d¡dk�s¸t‚|d jddik�sÐt‚t| d | t| ƒf|d
 dt|ƒfƒ}|d j| d | t| ƒfk�st‚|d j	| ddfgk�s4t‚|d  
d¡dk�sLt‚|d ji k�s`t‚|d j|d
 dt|ƒfk�s‚t‚|d j	|ddfgk�sžt‚|d  
d¡dk�s¶t‚|d ji k�sÊt‚t| d | t| ƒf| d
 dt| ƒ| d	d
fdddifƒ}|d j| d | t| ƒfk�s"t‚|d j	| ddfgk�s>t‚|d  
d¡dk�sVt‚|d ji k�sjt‚|d j| d
 dt| ƒfk�sŒt‚|d j	| d	d
fgk�s¨t‚|d  
d¡dk�sÀt‚|d jddik�sØt‚dd„ }dd„ }dd„ }t|||ƒ}tdd„ |d jD ƒƒ�st‚|d j	d dd … dk�s:t‚d|d  
d¡k�sRt‚|d ji k�sft‚t|||ddƒ}tdd„ |d jD ƒƒ�s”t‚|d j	d dd … dk�s´t‚|d  
d¡dk�sÌt‚|d ji k�sàt‚d S )NrN   rô   rK   r   r´   rT   FrF   rb   rJ   rá   r  r  rO   c                 S   s   | S r2   r:   rö   r:   r:   r;   r\   x  r]   z7test_plot3d_parametric_line_arguments.<locals>.<lambda>c                 S   s   d|  S rÚ   r:   rö   r:   r:   r;   r\   y  r]   c                 S   s   d|  S )NrG   r:   rö   r:   r:   r;   r\   z  r]   c                 s   s   | ]}t |ƒV  qd S r2   r  r  r:   r:   r;   r  |  s     z8test_plot3d_parametric_line_arguments.<locals>.<genexpr>rø   r  r	  c                 s   s   | ]}t |ƒV  qd S r2   r  r  r:   r:   r;   r  ƒ  s     r
  )r0   r*   r	   r   r   rú   r'   r¡   r™   rû   rü   rý   r   r  )rF   rO   rv   r  r  Zfzr:   r:   r;   Ú%test_plot3d_parametric_line_arguments5  sŠ      ÿ  " ÿ""&"" þ""  r  c                  C   sH  t stdƒ tdƒ\} }t| | ƒ}t|d tƒs6t‚|d j| | ksLt‚|d jd | ddfksr|ddfsrt‚|d jd | ddfks˜|ddfs˜t‚|d  	d¡dks®t‚|d j
i ksÀt‚t| | | d	d
fdddiƒ}t|d tƒsît‚|d j| | k�st‚|d jd | d	d
fk�s$t‚|d jd |ddfk�sBt‚|d  	d¡dk�sZt‚|d j
ddik�srt‚t| | | d	d
f|ddfdƒ}|d jd | d	d
fk�s®t‚|d jd |ddfk�sÌt‚t| | | | ƒ}|d j| | k�söt‚|d jd | ddfk�s |ddf�s t‚|d jd | ddfk�sJ|ddf�sJt‚|d  	d¡dk�sbt‚|d j
i k�svt‚|d j| | k�sŽt‚|d jd | ddfk�s¸|ddf�s¸t‚|d jd | ddfk�sâ|ddf�sât‚|d  	d¡dk�sút‚|d j
i k�st‚t| | | | | d	d
f|ddfƒ}|d j| | k�sHt‚|d jd | d	d
fk�sft‚|d jd |ddfk�s„t‚|d  	d¡dk�sœt‚|d j
i k�s°t‚|d j| | k�sÈt‚|d jd | d	d
fk�sæt‚|d jd |ddfk�st‚|d  	d¡dk�st‚|d j
i k�s0t‚t| | | d	d
f|ddff| | | ddf|ddfdddifƒ}|d j| | k�s†t‚|d jd | d	d
fk�s¤t‚|d jd |ddfk�sÂt‚|d  	d¡dk�sÚt‚|d j
i k�sît‚|d j| | k�st‚|d jd | ddfk�s$t‚|d jd |ddfk�sBt‚|d  	d¡dk�sZt‚|d j
ddik�srt‚dd„ }t|ƒ}t|d jƒ�s–t‚|d jd dd … dk�s¶t‚|d jd dd … dk�sÖt‚|d  	d¡dk�sît‚|d j
i k�st‚t|dddƒ}t|d jƒ�s$t‚|d jd dd … dk�sDt‚|d jd dd … dk�sdt‚|d  	d¡dk�s|t‚|d j
i k�s�t‚tt| |ƒ| ddf|ddfƒ}t|d tƒ�sÂt‚|d jt| |ƒk�sÜt‚|d jd | ddfk�sút‚|d jd |ddfk�st‚|d  	d¡dk�s0t‚|d j
i k�sDt‚d S )NrN   rô   r   r´   rT   rK   Fzx + yrb   rJ   rá   r  r  éüÿÿÿrc   zx*yrf   rG   iúÿÿÿr†   c                 S   s   | | S r2   r:   rg   r:   r:   r;   r\   Ð  r]   z4test_plot3d_plot_contour_arguments.<locals>.<lambda>rø   rù   )r[   rd   rG   )r^   rb   rK   )rd   rG   )rb   rK   z	Min(x, y))r0   r*   r	   r   rú   r)   r¡   r™   rû   rü   rý   rþ   r   rÿ   r:   r:   r;   Ú"test_plot3d_plot_contour_arguments‰  s˜    &&****" þ    r  c               
   C   sò  t stdƒ tdƒ\} }t| | t| | ƒt| | ƒƒ}t|d tƒsJt‚|d j	| | t| | ƒt| | ƒfksvt‚|d j
d | ddfksœ|ddfsœt‚|d j
d | ddfksÂ|ddfsÂt‚|d  d¡dksØt‚|d ji ksêt‚t| | t| | ƒt| | ƒ| d	d
f|ddfdddiƒ}t|d tƒ�s6t‚|d j	| | t| | ƒt| | ƒfk�sdt‚|d j
d | d	d
fk�s‚t‚|d j
d |ddfk�s t‚|d  d¡dk�s¸t‚|d jddik�sÐt‚t| | t| | ƒt| | ƒf| | t| | ƒt| | ƒdfƒ}|d j	| | t| | ƒt| | ƒfk�s>t‚|d j
d | ddfk�sh|ddf�sht‚|d j
d | ddfk�s’|ddf�s’t‚|d  d¡dk�sªt‚|d ji k�s¾t‚|d j	| | t| | ƒt| | ƒfk�sìt‚|d j
d | ddfk�s|ddf�st‚|d j
d | ddfk�s@|ddf�s@t‚|d  d¡dk�sXt‚|d ji k�slt‚t| | t| | ƒt| | ƒ| d	d
fdf| | t| | ƒt| | ƒ| ddf|ddfdddifƒ}|d j	| | t| | ƒt| | ƒfk�sút‚|d j
d | d	d
fk�st‚|d j
d |ddfk�s6t‚|d  d¡dk�sNt‚|d ji k�sbt‚|d j	| | t| | ƒt| | ƒfk�s�t‚|d j
d | ddfk�s®t‚|d j
d |ddfk�sÌt‚|d  d¡dk�sät‚|d jddik�süt‚tdd„ dd„ dd„ ddƒ}tdd„ |d j	D ƒƒ�s6t‚|d j
d dd … dk�sVt‚|d j
d dd … dk�svt‚|d  d¡dk�sŽt‚|d ji k�s¢t‚tdd„ dd„ d d„ ddfd!d„ d"d„ d#d„ d$d%dfƒ}td&d„ |d j	D ƒƒ�søt‚|d j
d dd … dk�st‚|d j
d dd … dk�s8t‚|d  d¡dk�sPt‚|d ji k�sdt‚td'd„ |d j	D ƒƒ�s‚t‚|d j
d dd … d(k�s¢t‚|d j
d dd … d)k�sÂt‚|d  d¡dk�sÚt‚|d ji k�sît‚d S )*NrN   rô   r   r´   rT   rK   Fz(x + y, cos(x + y), sin(x + y))rb   rJ   r  rc   rá   r  r  rf   rG   r  c                 S   s   | S r2   r:   ©ÚuÚvr:   r:   r;   r\   '  r]   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>c                 S   s   |S r2   r:   r  r:   r:   r;   r\   '  r]   c                 S   s   | | S r2   r:   r  r:   r:   r;   r\   '  r]   )r  r   rJ   )r  rf   rc   c                 s   s   | ]}t |ƒV  qd S r2   r  r  r:   r:   r;   r  )  s     z;test_plot3d_parametric_surface_arguments.<locals>.<genexpr>r
  )rf   rc   rù   c                 S   s   | S r2   r:   r  r:   r:   r;   r\   2  r]   c                 S   s   |S r2   r:   r  r:   r:   r;   r\   2  r]   c                 S   s   | | S r2   r:   r  r:   r:   r;   r\   2  r]   c                 S   s   |S r2   r:   r  r:   r:   r;   r\   4  r]   c                 S   s   | S r2   r:   r  r:   r:   r;   r\   4  r]   c                 S   s   | | S r2   r:   r  r:   r:   r;   r\   4  r]   )r  rb   rG   )r  r  re   c                 s   s   | ]}t |ƒV  qd S r2   r  r  r:   r:   r;   r  6  s     c                 s   s   | ]}t |ƒV  qd S r2   r  r  r:   r:   r;   r  ;  s     )rb   rG   )r  re   )r0   r*   r	   r   r   r   rú   r(   r¡   r™   rû   rü   rý   r  rò   r:   r:   r;   Ú(test_plot3d_parametric_surface_argumentsë  s¬     ,&&   ÿ.þ.**.**&* ÿþ..   þ   ÿ  ÿý    r  )kro   Útempfiler   ZpytestZsympy.concrete.summationsr   Zsympy.core.numbersr   r   r   Zsympy.core.relationalr   Zsympy.core.symbolr   r	   Z&sympy.functions.elementary.exponentialr
   r   r   r   Z(sympy.functions.elementary.miscellaneousr   r   Z$sympy.functions.elementary.piecewiser   Z(sympy.functions.elementary.trigonometricr   r   r   Zsympy.functions.special.hyperr   Zsympy.integrals.integralsr   Zsympy.logic.boolalgr   Zsympy.core.singletonr   Zsympy.core.sympifyr   Zsympy.externalr   Zsympy.plotting.plotr   r   r   r   r   r   r    r!   r"   r#   r$   Zsympy.plotting.seriesr%   r&   r'   r(   r)   Zsympy.testing.pytestr*   r+   r,   r-   Zsympy.utilitiesr.   r‡   Zsympy.utilities.exceptionsr/   ÚRuntimeErrorr0   r1   r@   rL   ÚmarkZparametrizer{   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;   Ú<module>   s¨      ÿ	
Q
 
R

!
'
*

&







#


W\Tb