
    XhY                     D   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?m@Z@ d dlAmBZC d dlDmEZE  e0              e(ddeFf          ZG G d de*          ZH G d de*          ZId ZJejK        L                    d d!d"g          d#             ZMejK        L                    d d!d"g          d$             ZNejK        L                    d d!d"g          d%             ZOejK        L                    d d!g          d&             ZPejK        L                    d d!d"g          d'             ZQejK        L                    d d!d"g          d(             ZRejK        L                    d d!d"g          d)             ZSejK        L                    d d!d"g          d*             ZTejK        L                    d d!d"g          d+             ZUd, ZVejK        L                    d d!d"g          d-             ZWejK        L                    d d!d"g          d.             ZXejK        L                    d d!d"g          d/             ZYejK        L                    d d!d"g          d0             ZZ e=d1          d2             Z[ejK        L                    d d!d"g          d3             Z\ejK        L                    d d!d"g          d4             Z]ejK        L                    d d!d"g          d5             Z^ejK        L                    d d!d"g          d6             Z_ejK        L                    d d!d"g          d7             Z`d8 Zad9 ZbejK        L                    d d!d"g          d:             ZcejK        L                    d d!d"g          d;             Zdd< Zed= Zfd> Zgd? Zhd@ ZidA ZjdB ZkdS )C    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skip_under_pyodidewarnsraiseswarns_deprecated_sympy)lambdify)ignore_warnings
matplotlibz1.1.0)min_module_versioncatchc                       e Zd ZdZ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                 6    t                               |           S Nobject__new__clsargskwargss      p/var/www/tools.fuzzalab.pt/emblema-extractor/venv/lib/python3.11/site-packages/sympy/plotting/tests/test_plot.pyr;   zDummyBackendNotOk.__new__+       ~~c"""    N)__name__
__module____qualname____doc__r;    rB   r@   r6   r6   &   s-         # # # # #rB   r6   c                   *    e Zd ZdZd Zd Zd Zd ZdS )DummyBackendOkzi Used to verify if users can create their own backends.
    This backend is meant to pass all tests.
    c                 6    t                               |           S r8   r9   r<   s      r@   r;   zDummyBackendOk.__new__3   rA   rB   c                     d S r8   rG   selfs    r@   showzDummyBackendOk.show6       rB   c                     d S r8   rG   rL   s    r@   savezDummyBackendOk.save9   rO   rB   c                     d S r8   rG   rL   s    r@   closezDummyBackendOk.close<   rO   rB   N)rC   rD   rE   rF   r;   rN   rQ   rS   rG   rB   r@   rI   rI   /   sZ         # # #        rB   rI   c                      t          d          } t          | | ddfd           t          | dz  dz   | ddfd           d S )Nxr      text)backend      )r	   r   )rU   s    r@   test_basic_plotting_backendr[   ?   sQ    sAQ1Iv&&&&AAq!9f------rB   adaptiveTFc                    t           st          d           t          d          t          d          t          d          5 }t	          dd| d	          }t	          t                    z  t                    z  d
| d          }|                    |           d |d         _        d|d         _        d|_	        d|_
        d|d         _        d|_        d|_        d|_        d}|                    t           j                            ||                     |j                                         |                    t	          dz   | d                     |                    t	          dz   dz  | d          d                    d}|                    t           j                            ||                     t	          dz  ddf| d          |d<   d}|                    t           j                            ||                     |j                                         t	          t                    dt,          z  dt,          z  f| d          }d}|                    t           j                            ||                     |j                                         t	          t                    | d          }d}|                    t           j                            ||                     |j                                         t	          dz  dd ffdz  d!dff| d          }d"}|                    t           j                            ||                     |j                                         t/          t0          fd#           t	          t3          ddk    fd$          d%df| d          }d&}|                    t           j                            ||                     |j                                         t	          t3          dk     fdz  df          d!df| d          }d'}|                    t           j                            ||                     |j                                         t	          | d          }t	          d| d          }|                    |           d(}|                    t           j                            ||                     |j                                         t3          d%d%k     ft5          d%k    dk               fdz  t5          dk    dk               fdz  dk    f          }t	          |d!df| d          }d)}|                    t           j                            ||                     |j                                         d d d            d S # 1 swxY w Y   d S )*N"Matplotlib not the default backendrU   ysympy_prefixTf1
   legendlabelr\   nf2)rg   r\   rh   c                     | S r8   rG   as    r@   <lambda>z&test_plot_and_save_1.<locals>.<lambda>S       A rB   r   brZ   z	Big titlez
the x axiszstraight linerZ   rZ   )i   z!test_basic_options_and_colors.pngr\   rh   rV   rY   ztest_plot_extend_append.pngztest_plot_setitem.png   ztest_line_explicit.pngztest_line_default_range.png   ztest_line_multiple_range.pngc                  $    t                     S r8   )r   rU   r_   s   r@   rm   z&test_plot_and_save_1.<locals>.<lambda>x   s    41:: rB   r   Tztest_plot_piecewise.pngztest_plot_piecewise_2.pngztest_horizontal_line.pngztest_plot_piecewise_3.png)r2   r+   r	   r   r   r   r   extend
line_colortitlexlabelrg   rf   aspect_ratioxlimrQ   ospathjoin_backendrS   appendr   r.   
ValueErrorr   r   )	r\   tmpdirpfilenamep1p2frU   r_   s	          @@r@   test_plot_and_save_1r   D   s    31222sAsA	8	,	,	, G 4th"EEE3q661SVV84(bIII	%+!!$!
6	rw||FH--...	
	a!eh"555666	a!eQTH;;;A>???0	rw||FH--...AqD1b!*x2>>>!*	rw||FH--...	
Q!RUAbD)HCCC+	rw||FH--...	
Q(b1110	rw||FH--...	
!Q$B
#adQAJ%7(bQQQ1	rw||FH--...	
z-----... Aq1u:y11Ar1:TVWWW,	rw||FH--...	
Aq1u:1d|44q"aj8WYZZZ.	rw||FH--...	
 !h"---!h"---
		"-	rw||FH--...	
 r1r6lQB!GQU(;(;$<T3qAvq1u%%&AqAv8 8QAJR888.	rw||FH--...	
OG G G G G G G G G G G G G G G G G Gs   VW00W47W4c                 >   t           st          d           t          d          }t          d          }t          d          }t          d          5 }t	          t          |          t          |          | d          }d	}|                    t          j	        
                    ||                     |j                                         t	          t          |          t          |          |d
dfdd| d          }d}|                    t          j	        
                    ||                     |j                                         t	          t          |          t          |          f|t          |          f| d          }d}|                    t          j	        
                    ||                     |j                                         t	          t          |          t          |          |ddff|t          |          |d
dff| d          }d}|                    t          j	        
                    ||                     |j                                         t	          |t          |          d| d          }d}|                    t          j	        
                    ||                     |j                                         t	          t          |          t          |          dd          }d}|                    t          j	        
                    ||                     |j                                         t          t          |          t          |          |dd| d          }d}|                    t          j	        
                    ||                     |j                                         t          t          |          t          |          ||d
dfft          |          t          |          ||ddff| d          }d}|                    t          j	        
                    ||                     |j                                         t          t          |          t          |          |d|           }d}|                    t          j	        
                    ||                     |j                                         t          ||z  | d          }d }|                    t          j	        
                    ||                     |j                                         t          | |z  ||z  |d
df| d          }d!}|                    t          j	        
                    ||                     |j                                         t          ||z  |ddf|ddff| |z  |ddf|ddff| d          }d"}|                    t          j	        
                    ||                     |j                                         t          t          ||z             t          ||z
            ||z
  | d          }d#}|                    t          j	        
                    ||                     |j                                         t          |t          |          z  |t          |          z  ||d
df|d
dfft          ||z             t          ||z
            ||z
  |d
df|d
dff| d          }d#}|                    t          j	        
                    ||                     |j                                         t!          t          |          t          |          z  |d
df|d
df| d          }d$}|                    t          j	        
                    ||                     |j                                         t!          |d%z  |d%z  z   |dz  |dz  z   |d
df|d
df| d          }d$}|                    t          j	        
                    ||                     |j                                         t!          |d%z  |d%z  z   |d
df|d
dff|dz  |dz  z   |ddf|ddff| d          }d$}|                    t          j	        
                    ||                     |j                                         d d d            d S # 1 swxY w Y   d S )&Nr^   rU   r_   zr`   ra   rd   rr   ztest_parametric.pngru   rv   Tparametric_plotre   ztest_parametric_range.pngztest_parametric_multiple.pngrw   rV   z#test_parametric_multiple_ranges.png   )depthr\   rh   ztest_recursion_depth.pngFi  ztest_adaptive.png3d_parametric_plotztest_3d_line.pngztest_3d_line_multiple.png   )rh   r\   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.pngrY   )r2   r+   r	   r   r   r   r   rQ   r   r   r   r   rS   r   r   r    r"   r\   rU   r_   r   r   r   r   s          r@   test_plot_and_save_2r      s    31222sAsAsA	8	,	,	, z CFFCFFXDDD(	rw||FH--...	
 FFCFFQAJt;L% % % /	rw||FH--...	
 SVVSVV,q#a&&k% % %1	rw||FH--...	
 VVSVVaQZ(1c!ffq"aj*A% % % 9	rw||FH--...	
 As1vvR% % %-	rw||FH--...	
 CFFCFFUcBBB&	rw||FH--...	
 #FFCFFAd2F% % % &	rw||FH--...	
"VVSVVQB
+c!ffc!ffa!R-L% % % /	rw||FH--...	
"3q663q661  ,	rw||FH--...	
 1q58r222%	rw||FH--...	
 A261q51b!*x2FFF.	rw||FH--...	
 UQAJB
+qb1fq"aj1b!*-M% % % 6	rw||FH--...	
 &c!a%jj#a!e**a!e% % %0	rw||FH--...	
 &s1vvXqQxQAJB
;QZZQUQUQAJB
C% % % 1	rw||FH--...	
 QAB
QAJ% % %*	rw||FH--...	
 A1adQTkAr1:2qz% % %*	rw||FH--...	
 TAqD[1b!*q"aj1TAqD[1b!*q"aj1% % % +	rw||FH--...	
uz z z z z z z z z z z z z z z z z zs   b1dddc           
      l   t           st          d           t          d          }t          d          }t          d          }t          d          5 }t	          t          |          | d          }d	 |d
         _        d}|                    t          j	        
                    ||                     d |d
         _        d}|                    t          j	        
                    ||                     |j                                         t	          |t          |          z  |t          |          z  |d
df| d          }d |d
         _        d}|                    t          j	        
                    ||                     d |d
         _        d}|                    t          j	        
                    ||                     d |d
         _        d}|                    t          j	        
                    ||                     |j                                         t          t          |          dt          |          z  t          d|z            z  z   t          |          dt          |          z  t          d|z            z  z   dt          d|z            z  |d
dt          z  f| d          }t!          |t          d|z                      |d
         _        d}|                    t          j	        
                    ||                     d |d
         _        d}|                    t          j	        
                    ||                     d |d
         _        d}|                    t          j	        
                    ||                     |j                                         t#          t          |          |z  |d
dt          z  f|ddf| d          }d |d
         _        d }|                    t          j	        
                    ||                     d! |d
         _        d"}|                    t          j	        
                    ||                     d# |d
         _        d$}|                    t          j	        
                    ||                     t!          |||ft'          |d%t          z  z
  dz  |dz  z                       |d
         _        d&}|                    t          j	        
                    ||                     |j                                         t)          |t          d|z            z  |t          d|z            z  ||d'd(f|d'd(f| d          }d) |d
         _        d*}|                    t          j	        
                    ||                     d+ |d
         _        d,}|                    t          j	        
                    ||                     t!          |||ft'          |dz  |dz  z   |dz  z                       |d
         _        d-}|                    t          j	        
                    ||                     |j                                         d d d            d S # 1 swxY w Y   d S ).Nr^   rU   r_   r   r`   ra   rd   rr   c                     | S r8   rG   rk   s    r@   rm   z&test_plot_and_save_3.<locals>.<lambda>+  rn   rB   r   ztest_colors_line_arity1.pngc                     |S r8   rG   rl   ro   s     r@   rm   z&test_plot_and_save_3.<locals>.<lambda>/      q rB   ztest_colors_line_arity2.pngc                     | S r8   rG   rk   s    r@   rm   z&test_plot_and_save_3.<locals>.<lambda>5  rn   rB   z!test_colors_param_line_arity1.pngc                     | S r8   rG   r   s     r@   rm   z&test_plot_and_save_3.<locals>.<lambda>9  r   rB   c                     |S r8   rG   r   s     r@   rm   z&test_plot_and_save_3.<locals>.<lambda>=  r   rB   z"test_colors_param_line_arity2b.pngg?   rY   rt   ztest_colors_3d_line_arity1.pngc                     |S r8   rG   r   s     r@   rm   z&test_plot_and_save_3.<locals>.<lambda>J  r   rB   ztest_colors_3d_line_arity2.pngc                     |S r8   rG   rl   ro   cs      r@   rm   z&test_plot_and_save_3.<locals>.<lambda>M      ! rB   ztest_colors_3d_line_arity3.png   ru   rv   c                     | S r8   rG   rk   s    r@   rm   z&test_plot_and_save_3.<locals>.<lambda>S  r   rB   ztest_colors_surface_arity1.pngc                     |S r8   rG   r   s     r@   rm   z&test_plot_and_save_3.<locals>.<lambda>V  r   rB   ztest_colors_surface_arity2.pngc                     |S r8   rG   r   s      r@   rm   z&test_plot_and_save_3.<locals>.<lambda>Y  s    Q rB   ztest_colors_surface_arity3a.pngrV   ztest_colors_surface_arity3b.pngr{   rZ   c                     | S r8   rG   rk   s    r@   rm   z&test_plot_and_save_3.<locals>.<lambda>c  r   rB   z!test_colors_param_surf_arity1.pngc                     | |z  S r8   rG   r   s     r@   rm   z&test_plot_and_save_3.<locals>.<lambda>f  s
    !A# rB   z!test_colors_param_surf_arity2.pngz!test_colors_param_surf_arity3.png)r2   r+   r	   r   r   r   r}   rQ   r   r   r   r   rS   r   r   r   	lambdify_r   surface_colorr   r    r   s          r@   test_plot_and_save_3r     s    31222sAsAsA	8	,	,	, G
 Q(b111%+!0	rw||FH--...(.!0	rw||FH--...	
3q661SVV8aBZ(bIII%+!6	rw||FH--...(.!6	rw||FH--...(.!7	rw||FH--...	
"FFSQZAaC((FFSQZAaC((AaCL1R4L8r	3 3 3
 $As1Q3xx00!3	rw||FH--...(.!3	rw||FH--...++!3	rw||FH--...	
3q66!8aAbD\Ar1:BOOO([!3	rw||FH--...+^!3	rw||FH--.....!4	rw||FH--...&1ay$AbD1}q!t7K2L2LMM!4	rw||FH--...	
%a#a!e**na#a!e**naB
QAJRA A A([!6	rw||FH--...--!6	rw||FH--...&1ay$q!tad{QT7I2J2JKK!6	rw||FH--...	
OG G G G G G G G G G G G G G G G G Gs   YZ))Z-0Z-c           
         t           st          d           t          d          }t          d          }t          d          5 }t	          t          t          |          dz  dz   t          |dz  dz             z            |d|f          }t          ||dd	f| d
d          }d}|	                    t          j                            ||                     |j                                         d d d            d S # 1 swxY w Y   d S )Nr^   rU   r_   r`   ra   rY   rZ   r   rv   rd   T)r\   rh   force_real_evalztest_advanced_integral.png)r2   r+   r	   r   r   r   r   r   r   rQ   r   r   r   r   rS   )r\   rU   r_   r   ir   r   s          r@   test_plot_and_save_4r   o  s:    31222sAsA 
8	,	,	, S#a&&!)a-adQh7881a)DDQ1IBMMM/	rw||FH--...	
                 s   B/DDDc           	      B   t           st          d           t          d          }t          d          }t          d          5 }t	          d||z  z  |dt
          f          }t          ||ddf| d	          }d
}|                    t          j	        
                    ||                     |j                                         t          t	          d|z  |d|f          |ddfd| d          }d|d         _        d|d         _        d}t          t                     5  |                    t          j	        
                    ||                     d d d            n# 1 swxY w Y   |j                                         d d d            d S # 1 swxY w Y   d S )Nr^   rU   r_   r`   ra   rZ   rY   rd   rr   ztest_advanced_inf_sum.pngFrN   r\   rh   Tr   ztest_advanced_fin_sum.png)r2   r+   r	   r   r   r   r   rQ   r   r   r   r   rS   only_integersstepsr1   UserWarning)r\   rU   r_   r   sr   r   s          r@   test_plot_and_save_5r     s    31222sAsA	8	,	,	, !Q$Ar
##Q2JR888.	rw||FH--...	
QqS1a)$$q!Rju% % %!!!
. [)) 	3 	3FF27<<11222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	

/                 s7   CF#4E#F#E'	'F*E'	+FFFc           	         t           st          d           t          d          }t          d          5 }d}t	          t          |          t          t          |          z  z             }|                    t          j
                            ||                     t          t                    5  t	          t          t          |                               }|                    t          j
                            ||                     d d d            n# 1 swxY w Y   t	          t          |                    }|                    t          j
                            ||                     t	          t          t          |                              }|                    t          j
                            ||                     d|dz  z  t!          t           t"          z            z  dz  }t%          dd	|          }d|dz  z  t!          t          t"          z            z  dz  }t%          dd	|          }||z   d
t"          z  z  }	t'          t(          dd          5  t	          |	|ddf| d          }|                    t          j
                            ||                     d d d            n# 1 swxY w Y   d d d            d S # 1 swxY w Y   d S )Nr^   rU   r`   ra   ztest.pngrv   rY   ))      ?rG   ))rv   r   r   rG   0   z&The evaluation with NumPy/SciPy failedFmatchtest_stacklevelgư>{Gz?rd   rr   )r2   r+   r	   r   r   r   r   r   rQ   r   r   r   r1   RuntimeWarningr   r   r   r   r   r-   r   )
r\   rU   r   r   r   x1m1x2m2exprs
             r@   test_plot_and_save_6r     s&    31222sA	8	,	,	, 3
 Q!CFF("##	rw||FH--...^,, 	3 	3T$r((^^$$AFF27<<11222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 !	rw||FH--...hqkk""##	rw||FH--... AX	1"R%(((*^%8"==q!tVi"oo%a'\#4b99RBG$:!
 
 
 	3 	3
 TAtT?XDDDAFF27<<11222	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	3 	313 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3s]   A>K4ADKD"	"K%D"	&EK.A
K8KK	KK	KK #K c           	         t           st          d           t          d          }t          d          }t          d          5 }t	          || d          }t          t          |          t          |          f|t          |          fd| d	          }t          t          |          t          |          | dd
          }t          t          |          t          |          |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         _        t	          t%          d|dk    fd          |ddfd| d	          }t'          |dz  |dz  z   |ddf|ddff|dz  |dz  z   |ddf|ddffd| d	          }t          dd|
||          }d}	|
                    t          j                            ||	                     |j                                         d d d            d S # 1 swxY w Y   d S )Nr^   rU   r_   r`   ra   rd   rr   Fr   r\   rh   rN   rY   ztest_grid1.pngrV   rt   ztest_grid2.pngc                     | S r8   rG   rk   s    r@   rm   z(test_plotgrid_and_save.<locals>.<lambda>      Q rB   r   rZ   rz   r{   ru   rv   rw   ztest_grid3.png)r2   r+   r	   r   r   r   r   r   r   r#   rQ   r   r   r   r   rS   r   r}   r   r"   )r\   rU   r_   r   r   r   p3p4r   r   p5p6p7s                r@   test_plotgrid_and_saver     s    31222sAsA	8	,	,	,  !h"---c!ffc!ff-3q66{% % %FFCFFX%A A A#CFFCFFAE% % % Q2r2r**#	rw||FH--...	
 Q2r2r**#	rw||FH--...	
#a&&!bS"EHKKK&;1)QAJ	22QAJU% % %TAqD[1b!*q"aj1TAqD[1b!*q"aj1% % %
 Q2r2&&#	rw||FH--...	
A                                   s   I4KK
K
c                 B   t           st          d           t          d          }t          || d          }t          |dz  | d          }t          |dz   | d           |                    |d                    t          |j                  dk    sJ t          t                    5  |                    |           d d d            n# 1 swxY w Y   t          t                    5  |                    |j                   d d d            d S # 1 swxY w Y   d S )Nr^   rU   rd   rr   rY   r   )	r2   r+   r	   r   r   len_seriesr.   	TypeError)r\   rU   r   r   s       r@   test_append_issue_7140r     s    31222sA	a(b	)	)	)B	adX	,	,	,BQR(((( IIberz??a				  
		"               
			  
		"*                 s$   +CCC,DDDc           
      n    t           st          d           t          d          }t          |          t	          t
          j         t
          j        fd d          }|j                                         t	          dt
          j         t
          j        f d          }|j                                         t	          d dt          d          t          d          f          }|j                                         t	           dt          d          t          d          fd	          }|j                                         t          t           fd
           t          t           fd           t          t           fd           t          t           fd           d S )Nr^   rU   r{   rZ   rd   )r   ylimr\   rh   z-3.14z3.14)r   r\   rh   r   r\   rh   r   r   c                  F    t           dt          j         dfd          S Nrd   rZ   r   r   r   r   ImaginaryUnitr\   eqns   r@   rm   z"test_issue_15265.<locals>.<lambda>$  s+    S8r?"A&W6 6 6 rB   c                  D    t           dddt          j        f          S Nrd   r   r{   r   r   r   s   r@   rm   z"test_issue_15265.<locals>.<lambda>(  s(    S8rAO46 6 6 rB   c                  D    t           dt          j        dfd          S r   )r   r   NegativeInfinityr   s   r@   rm   z"test_issue_15265.<locals>.<lambda>,  s)    S8r$a(w8 8 8 rB   c                  D    t           dddt          j        f          S r   )r   r   Infinityr   s   r@   rm   z"test_issue_15265.<locals>.<lambda>0  s(    S8rAJ/1 1 1 rB   )r2   r+   r	   r   r   r   Pir   rS   r   r.   r   )r\   rU   r   r   s   `  @r@   test_issue_15265r     s    31222sA
a&&CSqt}7XLLLAJSwqteQT]XLLLAJSwRg0	2 	2 	2AJS8rg0w	@ 	@ 	@AJ
:	6 	6 	6 	6 	67 7 7 :	6 	6 	6 	6 	67 7 7 :	8 	8 	8 	8 	89 9 9 :	1 	1 	1 	1 	12 2 2 2 2rB   c                       t           st          d           t                       t                       t	          t
           fd           d S )Nr^   c                  ,                                      S r8   rN   r   s   r@   rm   z!test_empty_Plot.<locals>.<lambda>=  s     rB   )r2   r+   r   r   r.   NotImplementedErrorr   s   @r@   test_empty_Plotr   4  sQ     31222 	FFF 	A
 0 0 0 011111rB   c                 h   t           st          d           t          d          }|dz  d|dz  z  z
  |dz  z   }t          ||ddf| dd	
          }t	          t
                    5  t          |d                                         d                   dk    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr^   rU   g333333?rd   rV   rY   r   Fr   r   )r2   r+   r	   r   r1   r   r   get_datar\   rU   r   r   s       r@   test_issue_17405r   @  s    31222sA	3AqD1a4AQCx2EBBBA
 
	(	( - -1Q4==??1%&&",,,,,- - - - - - - - - - - - - - - - - -s   %4B''B+.B+c                 2   t           st          d           t          d          }t          ||ddf| ddd          }t	          |d	                                         d	                   dk    sJ |d	         j        d
k    sJ |d	         j        dk    sJ d S )Nr^   rU   gMbP?d   r   r   F)r\   rh   xscalerN   r   g      Y@)r2   r+   r	   r   r   r   endstartr\   rU   r   s      r@   test_logplot_PR_16796r   P  s     31222sAQD#R5	" 	" 	"A qt}}q!""b((((Q48uQ4:rB   c                     t           st          d           t          d          }t          t	          |          d| d          }t          |d                                         d                   dk    sJ d S )Nr^   rU   Fr   r   r   )r2   r+   r	   r   r   r   r   r   s      r@   test_issue_16572r   _  sr     31222sAXa[[ux2>>>A qt}}q!""b((((((rB   c                    t           st          d           t          dd          }t          t           t          t          t          z  |z            z  |z  t          t          t           t          z  |z            z  |z  z   t          |d          fdt          z  df          }t          |d| d	          }t          |d         
                                d                   dk    sJ d S )
Nr^   kT)integerr   rY   Fr   r   )r2   r+   r	   r   r   r   r   r   r   r   r   )r\   r   r   r   s       r@   test_issue_11865r   k  s     31222sD!!!AA2c!B$q&kk>!#aQBrE!GnQ&661aAAbD$<PPAQUX444A qt}}q!""b((((((rB   zLWarnings not emitted in Pyodide because of lack of WASM fp exception supportc            	      ~   t           st          d           t          d          } t          t	          t          | | dz
  z            d          dd          }t          t          dd	          5  t          |d
         	                                d
                   dk    sJ 	 d d d            d S # 1 swxY w Y   d S )Nr^   rU   rY   rV   FT)rN   r\   zinvalid value encountered inr   r   r   )
r2   r+   r	   r   r   r   r-   r   r   r   rU   r   s     r@   test_issue_11461r  y  s    31222sAYAqsGq))EEEA	,
 
 
 - - 1Q4==??1%&&",,,,,- - - - - - - - - - - - - - - - - -s   04B22B69B6c           	      F   t           st          d           t          d          }t          t	          |          t          |          |ddt          z  fdd| d          }|j        dk    sJ t          |d         	                                d                   dk    sJ d S )	Nr^   rU   r   rY   rp   Fr   )r   rN   r\   rh   )
r2   r+   r	   r   r   r   r   r   r   r   r   s      r@   test_issue_11764r    s     31222sAAAAq2vR	A 	A 	AA>V#### qt}}q!""b((((((rB   c                 ~   t           st          d           t          d          }t          t	          |          dd| d          }|j        t          k    sJ t          |d                                         d                   dk    sJ t          t	          |          dd| d          }|j        t          k    sJ t          |d                                         d                   dk    sJ t          t	          |          d	d| d          }|j        t          k    sJ t          |d                                         d                   dk    sJ t          t	          |          d| d
          }|j        t          k    sJ t          |d                                         d                   dk    sJ d S )Nr^   rU   r2   Fr   )rX   rN   r\   rh   r   rW   defaultr   )
r2   r+   r	   r   r   rX   r$   r   r   r%   )r\   rU   pmptpdr   s         r@   test_issue_13516r    s    31222sA	c!fflR	P	P	PB:*****r!u~~"##r))))	c!fff58r	J	J	JB:$$$$r!u~~"##r))))	c!ffieh"	M	M	MB:*****r!u~~"##r))))SVV%(b999A9)))))qt}}q!""b((((((rB   c                    t           st          d           t          d          }t          ||dz  |ddf| d          }|j        }|j                                        \  }}t          |dz             dk     sJ t          |dz
            dk     sJ |j                                        \  }}t          |dz             dk     sJ t          |dz
            dk     sJ d S )Nr^   rU   rY   r   rd   rr   r   )	r2   r+   r	   r   r   axget_xlimabsget_ylim)r\   rU   r   rX   xminxmaxyminymaxs           r@   test_plot_limitsr    s     31222sAQ1q#rlX<<<AjG$$&&JD$tby>>Atby>>A$$&&JD$tby>>Btcz??RrB   c                    t           st          d           t          d          }dt          |          z  dt	          |          z  d|z  |ddff}t	          |          t          |          ||ddff}t          ||| d          }|j        }|j                                        \  }}t          |dz             dk     sJ t          |dz
            dk     sJ |j        
                                \  }}	t          |dz             dk     sJ t          |	dz
            dk     sJ |j                                        \  }
}t          |
d	z             dk     sJ t          |d	z
            dk     sJ t          ||| d          }|j        }|j                                        \  }}t          |dz             dk     sJ t          |dz
            dk     sJ |j        
                                \  }}	t          |dz             dk     sJ t          |	dz
            dk     sJ |j                                        \  }
}t          |
d	z             dk     sJ t          |d	z
            dk     sJ d S )
Nr^   rU   rY   ru   rv   <   rr   r   rd   )r2   r+   r	   r   r   r   r   r  r  r  r  get_zlim)r\   rU   v1v2r   rX   r  r  r  r  zminzmaxs               r@   "test_plot3d_parametric_line_limitsr    s~    31222sA
CFF(Ac!ffHacAr1:	.B
a&&#a&&!aQZ	(Br2B???AjG$$&&JD$tax==4tax==4$$&&JD$tax==4tax==4$$&&JD$tby>>D    tby>>D    r2B???AjG$$&&JD$tax==4tax==4$$&&JD$tax==4tax==4$$&&JD$tby>>D    tby>>D      rB   c           	         t           st          d           t          d          }t          t	          |          dd| d          }|j        j                                        }|d         dk    r|d	         d
k    sJ t          t	          |          dd| d          }|j        j                                        }|d         dk    r|d	         dk    sJ t          dd	||d| d          }|j        j                                        }|d         dk    r|d	         dk    sJ t          t                    5  t          t	          |          dd           d d d            d S # 1 swxY w Y   d S )Nr^   rU   r2   )   rt   rd   )rX   sizer\   rh   r   r  rZ   rt   )rv   rd   rv   rY   )r   rY   )r   r\   rh   r   )r{   rV   )rX   r   )r2   r+   r	   r   r   r   figget_size_inchesr#   r.   r   )r\   rU   r   s1r   s2r   s3s           r@   test_plot_sizer&    s    31222sA	c!fflR
! 
! 
!B		(	(	*	*BqEQJJRUaZZZZ	c!fflR
! 
! 
!B		(	(	*	*BqEQJJRUb[[[[	!QBVR
! 
! 
!B		(	(	*	*BqEQJJRUaZZZZ	
		 9 9SVV\88889 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9s   : E''E+.E+c                     t           st          d           t          d          } t          t	          |           t
          d           t          t	          |           t          d          }|j        t          k    sJ t          |d         	                                d                   dk    sJ t          t	          |           t          d          }|j        t          k    sJ t          |d         	                                d                   dk    sJ t          t	          |           t          d          }|j        t          k    sJ t          |d         	                                d                   dk    sJ t          t                    5  |                                 d d d            n# 1 swxY w Y   t          t                    5  |                    d           d d d            n# 1 swxY w Y   t          t                    5  |j                                         d d d            d S # 1 swxY w Y   d S )Nr^   rU   F)rX   rN   r   r   z	test/path)r2   r+   r	   r   r   r   r$   rX   r   r   rI   r6   r.   r   rN   rQ   r   rS   )rU   r   r   r   s       r@   test_issue_20113r(    s    31222sA 	QE****	c!ff/e	<	<	<B:*****r!u~~"##r))))	c!ffn5	9	9	9B:''''r!u~~"##r)))) 
c!ff/e	<	<	<B:*****r!u~~"##r))))	#	$	$  
			              	#	$	$  
              	#	$	$  
                 s6   F::F>F>G;;G?G?IIIc            	      2   t          d          } t          d          }t          t          |           d            t          t          |           d           t          t          |           d           t          t          |           t	          |           d            t          t          |           t	          |           d           t          t          |           t	          |           d           t          t          |           t	          |           | d            t          t          |           t	          |           | d           t          t          |           t	          |           | d           t          t          | |z             t	          | |z
            | |z
  | d	d
f|d	d
fd            t          t          | |z             t	          | |z
            | |z
  | d	d
f|d	d
fd           t          t          | |z             t	          | |z
            | |z
  | d	d
f|d	d
fd           t          | |z  | d	d
f|d	d
fd            t          | |z  | d	d
f|d	d
fd           t          | |z  | d	d
f|d	d
fd           d S )NrU   r_   c                     | S r8   rG   rk   s    r@   rm   z&test_custom_coloring.<locals>.<lambda>      a rB   )r}   rZ   rc                     | S r8   rG   rk   s    r@   rm   z&test_custom_coloring.<locals>.<lambda>  s     rB   c                     | S r8   rG   rk   s    r@   rm   z&test_custom_coloring.<locals>.<lambda>"  s    1 rB   ru   rv   c                     | dz  |dz  z   S NrY   rG   r   s     r@   rm   z&test_custom_coloring.<locals>.<lambda>'      q!tad{ rB   )r   c                     | dz  |dz  z   S r0  rG   r   s     r@   rm   z&test_custom_coloring.<locals>.<lambda>/  r1  rB   )r	   r   r   r   r   r   r    r   ry   s     r@   test_custom_coloringr3    s   sAsAQKK((((QAQC    CFFCFF{{;;;;CFFCFFq1111CFFCFFs33333q663q661EEEE3q663q661;;;;3q663q661====c!a%jj#a!e**a!eAJB
224 4 4 4 c!a%jj#a!e**a!eAJB
    c!a%jj#a!e**a!eAJB
    1Q3B
QAJ224 4 4 4
1Q3B
QAJa8888
1Q3B
QAJc::::::rB   c                    t           st          d           t          d          }t          |          }t	          ||ddfd| d          }t                      5  |d                                          d d d            d S # 1 swxY w Y   d S )Nr^   rU   r   rd   Fr   r   )r2   r+   r	   r   r   r/   get_segmentsr   s       r@   test_deprecated_get_segmentsr6  4  s     31222sAAAQC58rBBBA		!	!  	!                 s   BB	Bc           
         t           st          d           t          d          }t          |ddgddggdddgdd	d
gg dg ddd	dddg| d          }t	          |j        j        j                  dk    sJ t	          |j        j        j                  dk    sJ t	          |j        j        j	                  dk    sJ t	          |j        j        j
                  dk    sJ d S )Nr^   rU   r   rZ   *noner>   marker	linestyletestr   r   rW   xyr   rZ   rY   rV   rU   y1rv   r@  widthheightrd   )markersannotationsfill
rectanglesr\   rh   rY   )r2   r+   r	   r   r   r   r  collectionspatcheslinestextsr   s      r@   test_generic_data_seriesrO  @  s     31222sAQa&1a&)SvNNO$F334<<|||44!A;;<R	! 	! 	!A qz}())Q....qz}$%%****qz}"##q((((qz}"##q((((((rB   c                     t           st          d           t          d          } t          t	          |           | ddfd          }t                      5  ddgddggd	d
dg|_        d d d            n# 1 swxY w Y   t          |j                  dk    sJ t                      5  dddg|_	        d d d            n# 1 swxY w Y   t          |j                  dk    sJ t                      5  g dg dd|_
        d d d            n# 1 swxY w Y   t          |j                  dk    sJ t                      5  ddddg|_        d d d            n# 1 swxY w Y   t          |j                  dk    sJ d S )Nr^   rU   r   rd   Fr   r   rZ   r8  r9  r:  rY   r=  r>  r?  rV   rA  rB  rt   rv   rD  )r2   r+   r	   r   r   r/   rG  r   r   rH  rI  rJ  r  s     r@   3test_deprecated_markers_annotations_rectangles_fillrQ  S  s    31222sASVVab\...A		!	! T T !fq!f-6RRS	T T T T T T T T T T T T T T Tqy>>Q		!	! 9 9"(7789 9 9 9 9 9 9 9 9 9 9 9 9 9 9qy>>Q		!	! 9 9#||<<<889 9 9 9 9 9 9 9 9 9 9 9 9 9 9qy>>Q		!	! A A%Q??@A A A A A A A A A A A A A A Aqy>>QsH   A55A9<A9(C  CC3DDDEE!Ec            
      z   t           st          d           t          d          } t          d          }t          t	          |           dd          }t          |d                                                   dk    sJ t          |d                                                   dk    sJ t          t          |           t	          |           | ddfdd          }t          |d                                                   dk    sJ t          |d                                                   d	k    sJ t          t          |           t	          |           | | ddfdd          }t          |d                                                   d	k    sJ t          |d                                                   d
k    sJ t          t          | dz  |dz  z             | t           t          f|t           t          fd          }t          |d                                                   d	k    sJ t          |d                                                   d	k    sJ t          t          | dz  |dz  z             | t           t          f|t           t          fd          }t          |d                                                   d	k    sJ t          |d                                                   d	k    sJ t          | t          |          z  | t	          |          z  | t          d
|z            z  dz  | dt          f|ddt          z  fd          }t          |d                                                   d	k    sJ t          |d                                                   dk    sJ d S )Nr^   rU   r_   Frv   rr   r   rY   rV   rt   )rh   )r2   r+   r	   r   r   r   
get_pointsr   r   r   r   r   r   
get_meshesr"   r    rU   r_   r   s      r@   test_back_compatibilityrV  g  s@    31222sAsASVVeq)))Aqt  !!Q&&&&qt}}1$$$$AAAq	EQGGGAqt  !!Q&&&&qt}}1$$$$s1vvs1vvq1a)!	 	 	Aqt  !!Q&&&&qt}}1$$$$s1a4!Q$;!bS"B3|qAAAAqt  !!Q&&&&qt}}1$$$$SA1%%B3|a"b\QGGGAqt  !!Q&&&&qt}}1$$$$!!c!ff*a#a&&j!c!a%jj.1:L	
Ar
Q1R4LA	' 	' 	'Aqt  !!Q&&&&qt}}1$$$$$$rB   c                  \   t           st          d           t          d          \  } }t          | dz             }t	          |d         t
                    sJ |d         j        | dz   k    sJ |d         j        | ddfgk    sJ |d                             d          dk    sJ |d         j	        i k    sJ t          | dz   d	          }t	          |d         t
                    sJ |d         j        | dz   k    sJ |d         j        | ddfgk    sJ |d                             d          d	k    sJ |d         j	        i k    sJ t          | dz   | d
df          }|d         j        | d
dfgk    sJ t          | dz   | d
dfdddi          }|d                             d          dk    sJ |d         j	        ddik    sJ t          | dz   | dz            }t	          |d         t
                    sJ |d         j        | dz   k    sJ |d         j        | ddfgk    sJ |d                             d          dk    sJ |d         j	        i k    sJ t	          |d         t
                    sJ |d         j        | dz  k    sJ |d         j        | ddfgk    sJ |d                             d          dk    sJ |d         j	        i k    sJ t          | dz   | dz  | ddf          }|d         j        | ddfgk    sJ |d         j        | ddfgk    sJ t          | dz   | dz  | ddfddi          }|d         j        | ddfgk    sJ |d         j        | ddfgk    sJ |d         j	        ddik    sJ |d         j	        ddik    sJ t          | dz   | ddff| dz  | d
dfdddif          }t	          |d         t
                    sJ |d         j        | dz   k    sJ |d         j        | ddfgk    sJ |d                             d          dk    sJ |d         j	        i k    sJ t	          |d         t
                    sJ |d         j        | dz  k    sJ |d         j        | d
dfgk    sJ |d                             d          dk    sJ |d         j	        ddik    sJ d }t          d           }t	          |d         t
                    sJ t          |d         j                  sJ |d         j        d         dd          dk    sJ |d                             d          dk    sJ |d         j	        i k    sJ t          |dd          }|d         j        d         dd          dk    sJ |d                             d          dk    sJ d S )Nr^   x, yrZ   r   r   rd   Fzx + 1rg   rs   rY   r=  colorr,  zx**2rv   c                     | S r8   rG   ts    r@   rm   z%test_plot_arguments.<locals>.<lambda>  s    ! rB   c                     | S r8   rG   r[  s    r@   rm   z%test_plot_arguments.<locals>.<lambda>  s    q rB   r   rd    )r\  ru   r   )ru   r   )r2   r+   r
   r   
isinstancer&   r   ranges	get_labelrendering_kwcallablerU   r_   r   r   s       r@   test_plot_argumentsrf    s    312226??DAq 	QUAad122222Q49AQ4;AsB<.((((Q4>>%  G++++Q4"""" 	QUGAad122222Q49AQ4;AsB<.((((Q4>>%  G++++Q4"""" 	QUQAJAQ4;Ar1:,&&&& 	QUQAJ#77AQ4>>%  F****Q4#.... 	QUAqDAad122222Q49AQ4;AsB<.((((Q4>>%  G++++Q4""""ad122222Q491Q4;AsB<.((((Q4>>%  F****Q4"""" 	QUAqD1a)$$AQ4;Aq!9+%%%%Q4;Aq!9+%%%% 	QUAqD1a)gs^44AQ4;Aq!9+%%%%Q4;Aq!9+%%%%Q4#....Q4#.... 		
QAq		
A2qz6GS>2	4 	4A ad122222Q49AQ4;Aq!9+%%%%Q4>>%  G++++Q4""""ad122222Q491Q4;Ar1:,&&&&Q4>>%  F****Q4#.... 	A[[Aad122222AaDIQ4;q>!""****Q4>>%  B&&&&Q4"""" 	Qf%%AQ4;q>!""((((Q4>>%  F******rB   c            	         t           st          d           t          d          \  } }t          | dz   |           }t	          |d         t
                    sJ |d         j        | dz   | fk    sJ |d         j        | ddfgk    sJ |d                             d          dk    sJ |d         j	        i k    sJ t          | dz   | | d	d
fdddi          }|d         j        | dz   | fk    sJ |d         j        | d	d
fgk    sJ |d                             d          dk    sJ |d         j	        ddik    sJ t          | dz   | f| d	d
fd          }|d         j        | dz   | fk    sJ |d         j        | d	d
fgk    sJ |d                             d          dk    sJ |d         j	        i k    sJ t          | dz   | f| d
z  | dz   f          }|d         j        | dz   | fk    sJ |d         j        | ddfgk    sJ |d                             d          dk    sJ |d         j	        i k    sJ |d         j        | d
z  | dz   fk    sJ |d         j        | ddfgk    sJ |d                             d          dk    sJ |d         j	        i k    sJ t          | dz   | f|d
z  |dz   df          }|d         j        | dz   | fk    sJ |d         j        | ddfgk    sJ |d                             d          dk    sJ |d         j	        i k    sJ |d         j        |d
z  |dz   fk    sJ |d         j        |ddfgk    sJ |d                             d          dk    sJ |d         j	        i k    sJ t          | dz   | f| d
z  | dz   f| d	d
f          }|d         j        | dz   | fk    sJ |d         j        | d	d
fgk    sJ |d                             d          dk    sJ |d         j	        i k    sJ |d         j        | d
z  | dz   fk    sJ |d         j        | d	d
fgk    sJ |d                             d          dk    sJ |d         j	        i k    sJ t          | dz   | | d	d
fdf| d
z  | dz   | ddfdddif          }|d         j        | dz   | fk    sJ |d         j        | d	d
fgk    sJ |d                             d          dk    sJ |d         j	        i k    sJ |d         j        | d
z  | dz   fk    sJ |d         j        | ddfgk    sJ |d                             d          dk    sJ |d         j	        ddik    sJ d }d }t          ||          }t          d |d         j        D                       sJ |d         j        d         dd          dk    sJ d|d                             d          v sJ |d         j	        i k    sJ t          ||dd          }t          d |d         j        D                       sJ |d         j        d         dd          dk    sJ |d                             d          dk    sJ |d         j	        i k    sJ d S )Nr^   rX  rZ   r   r   rd   FrU   rs   rY   r=  cmapRedstest1rw   rV   test2c                     | S r8   rG   r[  s    r@   rm   z0test_plot_parametric_arguments.<locals>.<lambda>&      1 rB   c                     d| z  S r0  rG   r[  s    r@   rm   z0test_plot_parametric_arguments.<locals>.<lambda>'  
    1q5 rB   c              3   4   K   | ]}t          |          V  d S r8   rd  .0r\  s     r@   	<genexpr>z1test_plot_parametric_arguments.<locals>.<genexpr>)  (      ..qx{{......rB   r^  Dummyr\  r   rY   c              3   4   K   | ]}t          |          V  d S r8   rq  rr  s     r@   rt  z1test_plot_parametric_arguments.<locals>.<genexpr>0  ru  rB   r   rY   )r2   r+   r
   r   r`  r'   r   ra  rb  rc  all)rU   r_   r   fxfys        r@   test_plot_parametric_argumentsr}    s    312226??DAq 	Aq!!Aad233333Q49Q
""""Q4;AsB<.((((Q4>>%  C''''Q4"""" 	Aq1b!*f		 	AQ49Q
""""Q4;Ar1:,&&&&Q4>>%  F****Q4 00000Q
QAJ77AQ49Q
""""Q4;Ar1:,&&&&Q4>>%  F****Q4"""" 	Q
Q!VQUO44AQ49Q
""""Q4;AsB<.((((Q4>>%  C''''Q4""""Q49aQ''''Q4;AsB<.((((Q4>>%  C''''Q4"""" 	Q
Q!VQUF$;<<AQ49Q
""""Q4;AsB<.((((Q4>>%  C''''Q4""""Q49aQ''''Q4;AsB<.((((Q4>>%  F****Q4"""" 	Q
Q!VQUOaQZ@@AQ49Q
""""Q4;Ar1:,&&&&Q4>>%  C''''Q4""""Q49aQ''''Q4;Ar1:,&&&&Q4>>%  C''''Q4"""" 		
QAr1:w'	
aQB
Gff-=>	@ 	@A Q49Q
""""Q4;Ar1:,&&&&Q4>>%  G++++Q4""""Q49aQ''''Q4;Ar1:,&&&&Q4>>%  G++++Q4 00000 
B	BBA..AaDI........Q4;q>!""****adnnU++++++Q4"""" 	BV44A..AaDI........Q4;q>!""''''Q4>>%  F****Q4""""""rB   c            
      F   t           st          d           t          d          \  } }t          | dz   | t	          |                     }t          |d         t                    sJ |d         j        | dz   | t	          |           fk    sJ |d         j        | ddfgk    sJ |d         	                    d          dk    sJ |d         j
        i k    sJ t          | dz   | t	          |           | d	d
fdddi          }t          |d         t                    sJ |d         j        | dz   | t	          |           fk    sJ |d         j        | d	d
fgk    sJ |d         	                    d          dk    sJ |d         j
        ddik    sJ t          | dz   | t	          |           f| d	d
fd          }|d         j        | dz   | t	          |           fk    sJ |d         j        | d	d
fgk    sJ |d         	                    d          dk    sJ |d         j
        i k    sJ t          | dz   | t	          |           f| d
z  dt          |           ddif          }|d         j        | dz   | t	          |           fk    sJ |d         j        | ddfgk    sJ |d         	                    d          dk    sJ |d         j
        i k    sJ |d         j        | d
z  dt          |           fk    sJ |d         j        | ddfgk    sJ |d         	                    d          dk    sJ |d         j
        ddik    sJ t          | dz   | t	          |           f|d
z  dt          |          f          }|d         j        | dz   | t	          |           fk    sJ |d         j        | ddfgk    sJ |d         	                    d          dk    sJ |d         j
        i k    sJ |d         j        |d
z  dt          |          fk    sJ |d         j        |ddfgk    sJ |d         	                    d          dk    sJ |d         j
        i k    sJ t          | dz   | t	          |           f| d
z  dt          |           | d	d
fdddif          }|d         j        | dz   | t	          |           fk    sJ |d         j        | ddfgk    sJ |d         	                    d          dk    sJ |d         j
        i k    sJ |d         j        | d
z  dt          |           fk    sJ |d         j        | d	d
fgk    sJ |d         	                    d          dk    sJ |d         j
        ddik    sJ d }d }d }t          |||          }t          d |d         j        D                       sJ |d         j        d         dd          dk    sJ d|d         	                    d          v sJ |d         j
        i k    sJ t          |||dd          }t          d |d         j        D                       sJ |d         j        d         dd          dk    sJ |d         	                    d          dk    sJ |d         j
        i k    sJ d S )Nr^   rX  rZ   r   r   rd   FrU   rs   rY   r=  rh  ri  r_   c                     | S r8   rG   r[  s    r@   rm   z7test_plot3d_parametric_line_arguments.<locals>.<lambda>y  rm  rB   c                     d| z  S r0  rG   r[  s    r@   rm   z7test_plot3d_parametric_line_arguments.<locals>.<lambda>z  ro  rB   c                     d| z  S )NrV   rG   r[  s    r@   rm   z7test_plot3d_parametric_line_arguments.<locals>.<lambda>{  ro  rB   c              3   4   K   | ]}t          |          V  d S r8   rq  rr  s     r@   rt  z8test_plot3d_parametric_line_arguments.<locals>.<genexpr>}  ru  rB   r^  rv  rw  c              3   4   K   | ]}t          |          V  d S r8   rq  rr  s     r@   rt  z8test_plot3d_parametric_line_arguments.<locals>.<genexpr>  ru  rB   ry  )r2   r+   r
   r   r   r`  r(   r   ra  rb  rc  r   rz  )rU   r_   r   r{  r|  fzs         r@   %test_plot3d_parametric_line_argumentsr  6  sx    312226??DAq 	q1uaQ00Aad233333Q49Q3q66*****Q4;AsB<.((((Q4>>%  C''''Q4"""" 	q1uaQ!R 	" 	"Aad233333Q49Q3q66*****Q4;Ar1:,&&&&Q4>>%  F****Q4 00000Aq#a&&1Ar1:vFFAQ49Q3q66*****Q4;Ar1:,&&&&Q4>>%  F****Q4"""" 		
Q3q66Q!VQA0@A	C 	CAQ49Q3q66*****Q4;AsB<.((((Q4>>%  C''''Q4""""Q49aCFF+++++Q4;AsB<.((((Q4>>%  C''''Q4 00000 	Aq#a&&1AFAs1vv3FGGAQ49Q3q66*****Q4;AsB<.((((Q4>>%  C''''Q4""""Q49aCFF+++++Q4;AsB<.((((Q4>>%  C''''Q4"""" 		
Q3q66	
aCFFQAJ0@A	C 	CA Q49Q3q66*****Q4;AsB<.((((Q4>>%  C''''Q4""""Q49aCFF+++++Q4;Ar1:,&&&&Q4>>%  F****Q4 00000 
B	B	Br2r**A..AaDI........Q4;q>!""****adnnU++++++Q4"""" 	r2r;??A..AaDI........Q4;q>!""''''Q4>>%  F****Q4""""""rB   c            	         t           st          d           t          d          \  } }t          | |z             }t	          |d         t
                    sJ |d         j        | |z   k    sJ |d         j        d         | ddfk    s|ddfsJ |d         j        d         | ddfk    s|ddfsJ |d                             d          dk    sJ |d         j	        i k    sJ t          | |z   | d	d
fdddi          }t	          |d         t
                    sJ |d         j        | |z   k    sJ |d         j        d         | d	d
fk    sJ |d         j        d         |ddfk    sJ |d                             d          dk    sJ |d         j	        ddik    sJ t          | |z   | d	d
f|ddfd          }|d         j        d         | d	d
fk    sJ |d         j        d         |ddfk    sJ t          | |z   | |z            }|d         j        | |z   k    sJ |d         j        d         | ddfk    s|ddfsJ |d         j        d         | ddfk    s|ddfsJ |d                             d          dk    sJ |d         j	        i k    sJ |d         j        | |z  k    sJ |d         j        d         | ddfk    s|ddfsJ |d         j        d         | ddfk    s|ddfsJ |d                             d          dk    sJ |d         j	        i k    sJ t          | |z   | |z  | d	d
f|ddf          }|d         j        | |z   k    sJ |d         j        d         | d	d
fk    sJ |d         j        d         |ddfk    sJ |d                             d          dk    sJ |d         j	        i k    sJ |d         j        | |z  k    sJ |d         j        d         | d	d
fk    sJ |d         j        d         |ddfk    sJ |d                             d          dk    sJ |d         j	        i k    sJ t          | |z   | d	d
f|ddff| |z  | ddf|ddfdddif          }|d         j        | |z   k    sJ |d         j        d         | d	d
fk    sJ |d         j        d         |ddfk    sJ |d                             d          dk    sJ |d         j	        i k    sJ |d         j        | |z  k    sJ |d         j        d         | ddfk    sJ |d         j        d         |ddfk    sJ |d                             d          dk    sJ |d         j	        ddik    sJ d }t          |          }t          |d         j                  sJ |d         j        d         dd          dk    sJ |d         j        d         dd          dk    sJ |d                             d          dk    sJ |d         j	        i k    sJ t          |ddd          }t          |d         j                  sJ |d         j        d         dd          dk    sJ |d         j        d         dd          dk    sJ |d                             d          dk    sJ |d         j	        i k    sJ t          t          | |          | ddf|ddf          }t	          |d         t
                    sJ |d         j        t          | |          k    sJ |d         j        d         | ddfk    sJ |d         j        d         |ddfk    sJ |d                             d          dk    sJ |d         j	        i k    sJ d S )Nr^   rX  r   r   rd   rZ   Fzx + yrs   rY   r=  rh  ri  rt   zx*yrw   rV   ir   c                     | |z   S r8   rG   ry   s     r@   rm   z4test_plot3d_plot_contour_arguments.<locals>.<lambda>  s
    QU rB   r^  r_  )rl   ru   rV   )ro   rs   rZ   )ru   rV   )rs   rZ   z	Min(x, y))r2   r+   r
   r   r`  r*   r   ra  rb  rc  rd  r   re  s       r@   "test_plot3d_plot_contour_argumentsr    s    312226??DAq 	q1uAad455555Q49AQ4;q>ab\))ab\)))Q4;q>ab\))ab\)))Q4>>%  G++++Q4"""" 	q1uq"aj&66*:;;Aad455555Q49AQ4;q>aQZ''''Q4;q>ab\))))Q4>>%  F****Q4 00000q1uq"aj1b!*f55AQ4;q>aQZ''''Q4;q>aQZ'''' 	q1ua!eAQ49AQ4;q>ab\))ab\)))Q4;q>ab\))ab\)))Q4>>%  G++++Q4""""Q49AQ4;q>ab\))ab\)))Q4;q>ab\))ab\)))Q4>>%  E))))Q4"""" 	q1ua!eaQZ!R44AQ49AQ4;q>aQZ''''Q4;q>aQZ''''Q4>>%  G++++Q4""""Q49AQ4;q>aQZ''''Q4;q>aQZ''''Q4>>%  E))))Q4"""" 		
QB
QAJ'	
QB
QAJ0@A	C 	CA Q49AQ4;q>aQZ''''Q4;q>aQZ''''Q4>>%  G++++Q4""""Q49AQ4;q>aQZ''''Q4;q>aQZ''''Q4>>%  F****Q4 00000 	Aq		AAaDIQ4;q>!""****Q4;q>!""****Q4>>%  B&&&&Q4"""" 	q,f55AAaDIQ4;q>!""((((Q4;q>!""((((Q4>>%  F****Q4"""" 	s1ayy1a*q!Rj11Aad455555Q49Aq		!!!!Q4;q>aBZ''''Q4;q>aBZ''''Q4>>%  K////Q4""""""rB   c                  \   t           st          d           t          d          \  } }t          | |z   t	          | |z             t          | |z                       }t          |d         t                    sJ |d         j        | |z   t	          | |z             t          | |z             fk    sJ |d         j	        d         | ddfk    s|ddfsJ |d         j	        d         | ddfk    s|ddfsJ |d         
                    d          dk    sJ |d         j        i k    sJ t          | |z   t	          | |z             t          | |z             | d	d
f|ddfdddi          }t          |d         t                    sJ |d         j        | |z   t	          | |z             t          | |z             fk    sJ |d         j	        d         | d	d
fk    sJ |d         j	        d         |ddfk    sJ |d         
                    d          dk    sJ |d         j        ddik    sJ t          | |z   t	          | |z             t          | |z             f| |z
  t	          | |z
            t          | |z
            df          }|d         j        | |z   t	          | |z             t          | |z             fk    sJ |d         j	        d         | ddfk    s|ddfsJ |d         j	        d         | ddfk    s|ddfsJ |d         
                    d          dk    sJ |d         j        i k    sJ |d         j        | |z
  t	          | |z
            t          | |z
            fk    sJ |d         j	        d         | ddfk    s|ddfsJ |d         j	        d         | ddfk    s|ddfsJ |d         
                    d          dk    sJ |d         j        i k    sJ t          | |z   t	          | |z             t          | |z             | d	d
fdf| |z
  t	          | |z
            t          | |z
            | ddf|ddfdddif          }|d         j        | |z   t	          | |z             t          | |z             fk    sJ |d         j	        d         | d	d
fk    sJ |d         j	        d         |ddfk    sJ |d         
                    d          dk    sJ |d         j        i k    sJ |d         j        | |z
  t	          | |z
            t          | |z
            fk    sJ |d         j	        d         | ddfk    sJ |d         j	        d         |ddfk    sJ |d         
                    d          dk    sJ |d         j        ddik    sJ t          d d d dd          }t          d |d         j        D                       sJ |d         j	        d         dd          dk    sJ |d         j	        d         dd          dk    sJ |d         
                    d          dk    sJ |d         j        i k    sJ t          d d d ddfd d  d! d"d#df          }t          d$ |d         j        D                       sJ |d         j	        d         dd          dk    sJ |d         j	        d         dd          dk    sJ |d         
                    d          dk    sJ |d         j        i k    sJ t          d% |d         j        D                       sJ |d         j	        d         dd          d&k    sJ |d         j	        d         dd          d'k    sJ |d         
                    d          dk    sJ |d         j        i k    sJ d S )(Nr^   rX  r   r   rd   rZ   Fz(x + y, cos(x + y), sin(x + y))rs   rY   r  rt   r=  rh  ri  rw   rV   rk  c                     | S r8   rG   uvs     r@   rm   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>(  s    Q rB   c                     |S r8   rG   r  s     r@   rm   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>(  r   rB   c                     | |z   S r8   rG   r  s     r@   rm   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>(  s
    QU rB   )r  r   rY   )r  rw   rt   c              3   4   K   | ]}t          |          V  d S r8   rq  rr  s     r@   rt  z;test_plot3d_parametric_surface_arguments.<locals>.<genexpr>*  ru  rB   ry  )rw   rt   r_  c                     | S r8   rG   r  s     r@   rm   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>3      a rB   c                     |S r8   rG   r  s     r@   rm   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>3  r+  rB   c                     | |z   S r8   rG   r  s     r@   rm   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>3  
    a!e rB   c                     |S r8   rG   r  s     r@   rm   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>5  r  rB   c                     | S r8   rG   r  s     r@   rm   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>5  r+  rB   c                     | |z
  S r8   rG   r  s     r@   rm   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>5  r  rB   )r  rs   rV   )r  r  rv   c              3   4   K   | ]}t          |          V  d S r8   rq  rr  s     r@   rt  z;test_plot3d_parametric_surface_arguments.<locals>.<genexpr>7  ru  rB   c              3   4   K   | ]}t          |          V  d S r8   rq  rr  s     r@   rt  z;test_plot3d_parametric_surface_arguments.<locals>.<genexpr><  ru  rB   )rs   rV   )r  rv   )r2   r+   r
   r    r   r   r`  r)   r   ra  rb  rc  rz  rU  s      r@   (test_plot3d_parametric_surface_argumentsr    s    312226??DAq 	"!a%QUSQZZ@@Aad344444Q49QAE

CAJJ77777Q4;q>ab\))ab\)))Q4;q>ab\))ab\)))Q4>>%  $EEEEEQ4"""" 	"!a%QUSQZZ	
B
QAJ(8	: 	:Aad344444Q49QAE

CAJJ77777Q4;q>aQZ''''Q4;q>aQZ''''Q4>>%  F****Q4 00000 	"	
QAE

CAJJ'	
QAE

CAJJ/	1 	1A Q49QAE

CAJJ77777Q4;q>ab\))ab\)))Q4;q>ab\))ab\)))Q4>>%  $EEEEEQ4""""Q49QAE

CAJJ77777Q4;q>ab\))ab\)))Q4;q>ab\))ab\)))Q4>>%  F****Q4"""" 	"	
QAE

CAJJB
F;	
QAE

CAJJB
QAJff%	'	( 	(A Q49QAE

CAJJ77777Q4;q>aQZ''''Q4;q>ab\))))Q4>>%  F****Q4""""Q49QAE

CAJJ77777Q4;q>aQZ''''Q4;q>aQZ''''Q4>>%  G++++Q4 00000 	"(:(:\	# 	#A ..AaDI........Q4;q>!""((((Q4;q>!""((((Q4>>%  B&&&&Q4"""" 	"	););\	#	););lF	,	- 	-A
 ..AaDI........Q4;q>!""''''Q4;q>!""((((Q4>>%  B&&&&Q4""""..AaDI........Q4;q>!""((((Q4;q>!""((((Q4>>%  F****Q4""""""rB   )lr   tempfiler   pytestsympy.concrete.summationsr   sympy.core.numbersr   r   r   sympy.core.relationalr   sympy.core.symbolr	   r
   &sympy.functions.elementary.exponentialr   r   r   r   (sympy.functions.elementary.miscellaneousr   r   $sympy.functions.elementary.piecewiser   (sympy.functions.elementary.trigonometricr   r   r   sympy.functions.special.hyperr   sympy.integrals.integralsr   sympy.logic.boolalgr   sympy.core.singletonr   sympy.core.sympifyr   sympy.externalr   sympy.plotting.plotr   r   r   r   r   r    r!   r"   r#   r$   r%   sympy.plotting.seriesr&   r'   r(   r)   r*   sympy.testing.pytestr+   r,   r-   r.   r/   sympy.utilitiesr0   r   sympy.utilities.exceptionsr1   RuntimeErrorr2   r6   rI   r[   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  r  r&  r(  r3  r6  rO  rQ  rV  rf  r}  r  r  r  rG   rB   r@   <module>r     s	   				 ' ' ' ' ' '  ) ) ) ) ) ) * * * * * * * * * * $ $ $ $ $ $ - - - - - - - - R R R R R R R R R R R R F F F F F F F F : : : : : : ? ? ? ? ? ? ? ? 8 8 8 8 8 8 1 1 1 1 1 1 . . . . . . # # # # # # " " " " " " & & & & & & ( ( ( ( ( (               H H H H H H H H H H H H H H7 7 7 7 7 7 7 7 7 7 7 7 7 7 a ` ` ` ` ` ` ` ` ` ` ` ` ` 1 1 1 1 1 1 6 6 6 6 6 6 

 ]W\OE E E
# # # # # # # #    T    . . .
 dE]33N N 43Nb dE]33B B 43BJ dE]33O O 43Od dV,,  -,& dE]33  43B dE]33$3 $3 43$3N dE]33' ' 43'T dE]33  43( dE]33#2 #2 43#2L	2 	2 	2 dE]33- - 43- dE]33  43 dE]33) ) 43) dE]33
) 
) 43
) bcc- - dc-" dE]33
) 
) 43
) dE]33) ) 43). dE]33    43   dE]33 !  ! 43 !F dE]339 9 439.  6; ; ;6 dE]33  43 dE]33) ) 43)$  (% % %8T+ T+ T+nY# Y# Y#xQ# Q# Q#h_# _# _#DT# T# T# T# T#rB   