
    g                        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          ZF G d de*          ZG G d de*          ZHd ZIejJ        K                    d d!d"g          d#             ZLejJ        K                    d d!d"g          d$             ZMejJ        K                    d d!d"g          d%             ZNejJ        K                    d d!g          d&             ZOejJ        K                    d d!d"g          d'             ZPejJ        K                    d d!d"g          d(             ZQejJ        K                    d d!d"g          d)             ZRejJ        K                    d d!d"g          d*             ZSejJ        K                    d d!d"g          d+             ZTd, ZUejJ        K                    d d!d"g          d-             ZVejJ        K                    d d!d"g          d.             ZWejJ        K                    d d!d"g          d/             ZXejJ        K                    d d!d"g          d0             ZYd1 ZZejJ        K                    d d!d"g          d2             Z[ejJ        K                    d d!d"g          d3             Z\ejJ        K                    d d!d"g          d4             Z]ejJ        K                    d d!d"g          d5             Z^ejJ        K                    d d!d"g          d6             Z_d7 Z`d8 ZaejJ        K                    d d!d"g          d9             ZbejJ        K                    d d!d"g          d:             Zcd; Zdd< Zed= Zfd> Zgd? Zhd@ ZidA 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)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      Z/var/www/html/ai-engine/env/lib/python3.11/site-packages/sympy/plotting/tests/test_plot.pyr:   zDummyBackendNotOk.__new__+       ~~c"""    N)__name__
__module____qualname____doc__r:    rA   r?   r5   r5   &   s-         # # # # #rA   r5   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 r7   r8   r;   s      r?   r:   zDummyBackendOk.__new__3   r@   rA   c                     d S r7   rF   selfs    r?   showzDummyBackendOk.show6       rA   c                     d S r7   rF   rK   s    r?   savezDummyBackendOk.save9   rN   rA   c                     d S r7   rF   rK   s    r?   closezDummyBackendOk.close<   rN   rA   N)rB   rC   rD   rE   r:   rM   rP   rR   rF   rA   r?   rH   rH   /   sZ         # # #        rA   rH   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   )rT   s    r?   test_basic_plotting_backendrZ   ?   sQ    sAQ1Iv&&&&AAq!9f------rA   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 backendrT   ysympy_prefixTf1
   legendlabelr[   nf2)rf   r[   rg   c                     | S r7   rF   as    r?   <lambda>z&test_plot_and_save_1.<locals>.<lambda>S       A rA   r   brY   z	Big titlez
the x axiszstraight linerY   rY   )i   z!test_basic_options_and_colors.pngr[   rg   rU   rX   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 r7   )r   rT   r^   s   r?   rl   z&test_plot_and_save_1.<locals>.<lambda>x   s    41:: rA   r   Tztest_plot_piecewise.pngztest_plot_piecewise_2.pngztest_horizontal_line.pngztest_plot_piecewise_3.png)r1   r+   r	   r   r   r   r   extend
line_colortitlexlabelrf   re   aspect_ratioxlimrP   ospathjoin_backendrR   appendr   r-   
ValueErrorr   r   )	r[   tmpdirpfilenamep1p2frT   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]   rT   r^   zr_   r`   rc   rq   ztest_parametric.pngrt   ru   Tparametric_plotrd   ztest_parametric_range.pngztest_parametric_multiple.pngrv   rU   z#test_parametric_multiple_ranges.png   )depthr[   rg   ztest_recursion_depth.pngFi  ztest_adaptive.png3d_parametric_plotztest_3d_line.pngztest_3d_line_multiple.png   )rg   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.pngrX   )r1   r+   r	   r   r   r   r   rP   r   r   r   r   rR   r   r   r    r"   r[   rT   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]   rT   r^   r   r_   r`   rc   rq   c                     | S r7   rF   rj   s    r?   rl   z&test_plot_and_save_3.<locals>.<lambda>+  rm   rA   r   ztest_colors_line_arity1.pngc                     |S r7   rF   rk   rn   s     r?   rl   z&test_plot_and_save_3.<locals>.<lambda>/      q rA   ztest_colors_line_arity2.pngc                     | S r7   rF   rj   s    r?   rl   z&test_plot_and_save_3.<locals>.<lambda>5  rm   rA   z!test_colors_param_line_arity1.pngc                     | S r7   rF   r   s     r?   rl   z&test_plot_and_save_3.<locals>.<lambda>9  r   rA   c                     |S r7   rF   r   s     r?   rl   z&test_plot_and_save_3.<locals>.<lambda>=  r   rA   z"test_colors_param_line_arity2b.pngg?   rX   rs   ztest_colors_3d_line_arity1.pngc                     |S r7   rF   r   s     r?   rl   z&test_plot_and_save_3.<locals>.<lambda>J  r   rA   ztest_colors_3d_line_arity2.pngc                     |S r7   rF   rk   rn   cs      r?   rl   z&test_plot_and_save_3.<locals>.<lambda>M      ! rA   ztest_colors_3d_line_arity3.png   rt   ru   c                     | S r7   rF   rj   s    r?   rl   z&test_plot_and_save_3.<locals>.<lambda>S  r   rA   ztest_colors_surface_arity1.pngc                     |S r7   rF   r   s     r?   rl   z&test_plot_and_save_3.<locals>.<lambda>V  r   rA   ztest_colors_surface_arity2.pngc                     |S r7   rF   r   s      r?   rl   z&test_plot_and_save_3.<locals>.<lambda>Y  s    Q rA   ztest_colors_surface_arity3a.pngrU   ztest_colors_surface_arity3b.pngrz   rY   c                     | S r7   rF   rj   s    r?   rl   z&test_plot_and_save_3.<locals>.<lambda>c  r   rA   z!test_colors_param_surf_arity1.pngc                     | |z  S r7   rF   r   s     r?   rl   z&test_plot_and_save_3.<locals>.<lambda>f  s
    !A# rA   z!test_colors_param_surf_arity2.pngz!test_colors_param_surf_arity3.png)r1   r+   r	   r   r   r   r|   rP   r   r   r   r   rR   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]   rT   r^   r_   r`   rX   rY   r   ru   rc   T)r[   rg   force_real_evalztest_advanced_integral.png)r1   r+   r	   r   r   r   r   r   r   rP   r   r   r   r   rR   )r[   rT   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]   rT   r^   r_   r`   rY   rX   rc   rq   ztest_advanced_inf_sum.pngFrM   r[   rg   Tr   ztest_advanced_fin_sum.png)r1   r+   r	   r   r   r   r   rP   r   r   r   r   rR   only_integersstepsr0   UserWarning)r[   rT   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]   rT   r_   r`   ztest.pngru   rX   ))      ?rF   ))ru   r   r   rF   0   z&The evaluation with NumPy/SciPy failedFmatchtest_stacklevelgư>{Gz?rc   rq   )r1   r+   r	   r   r   r   r   r   rP   r   r   r   r0   RuntimeWarningr   r   r   r   r   r,   r   )
r[   rT   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]   rT   r^   r_   r`   rc   rq   Fr   r[   rg   rM   rX   ztest_grid1.pngrU   rs   ztest_grid2.pngc                     | S r7   rF   rj   s    r?   rl   z(test_plotgrid_and_save.<locals>.<lambda>      Q rA   r   rY   ry   rz   rt   ru   rv   ztest_grid3.png)r1   r+   r	   r   r   r   r   r   r   r#   rP   r   r   r   r   rR   r   r|   r   r"   )r[   rT   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]   rT   rc   rq   rX   r   )	r1   r+   r	   r   r   len_seriesr-   	TypeError)r[   rT   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]   rT   rz   rY   rc   )r   ylimr[   rg   z-3.14z3.14)r   r[   rg   r   r[   rg   r   r   c                  F    t           dt          j         dfd          S Nrc   rY   r   r   r   r   ImaginaryUnitr[   eqns   r?   rl   z"test_issue_15265.<locals>.<lambda>$  s+    S8r?"A&W6 6 6 rA   c                  D    t           dddt          j        f          S Nrc   r   rz   r   r   r   s   r?   rl   z"test_issue_15265.<locals>.<lambda>(  s(    S8rAO46 6 6 rA   c                  D    t           dt          j        dfd          S r   )r   r   NegativeInfinityr   s   r?   rl   z"test_issue_15265.<locals>.<lambda>,  s)    S8r$a(w8 8 8 rA   c                  D    t           dddt          j        f          S r   )r   r   Infinityr   s   r?   rl   z"test_issue_15265.<locals>.<lambda>0  s(    S8rAJ/1 1 1 rA   )r1   r+   r	   r   r   r   Pir   rR   r   r-   r   )r[   rT   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 2rA   c                       t           st          d           t                       t                       t	          t
           fd           d S )Nr]   c                  ,                                      S r7   rM   r   s   r?   rl   z!test_empty_Plot.<locals>.<lambda>=  s     rA   )r1   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1rA   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]   rT   g333333?rc   rU   rX   r   Fr   r   )r1   r+   r	   r   r0   r   r   get_datar[   rT   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]   rT   gMbP?d   r   r   F)r[   rg   xscalerM   r   g      Y@)r1   r+   r	   r   r   r   endstartr[   rT   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:rA   c                     t           st          d           t          d          }t          t	          |          d| d          }t          |d                                         d                   dk    sJ d S )Nr]   rT   Fr   r   r   )r1   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((((((rA   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   rX   Fr   r   )r1   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((((((rA   c            	      ~   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]   rT   rX   rU   FT)rM   r[   zinvalid value encountered inr   r   r   )
r1   r+   r	   r   r   r   r,   r   r   r   rT   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]   rT   r   rX   ro   Fr   )r   rM   r[   rg   )
r1   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((((((rA   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]   rT   r1   Fr   )rW   rM   r[   rg   r   rV   defaultr   )
r1   r+   r	   r   r   rW   r$   r   r   r%   )r[   rT   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((((((rA   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]   rT   rX   r   rc   rq   r   )	r1   r+   r	   r   r   axget_xlimabsget_ylim)r[   rT   r   rW   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rA   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]   rT   rX   rt   ru   <   rq   r   rc   )r1   r+   r	   r   r   r   r   r  r  r  r  get_zlim)r[   rT   v1v2r   rW   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      rA   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]   rT   r1   )   rs   rc   )rW   sizer[   rg   r   r  rY   rs   )ru   rc   ru   rX   )r   rX   )r  r[   rg   r   )rz   rU   )rW   r  )r1   r+   r	   r   r   r   figget_size_inchesr#   r-   r   )r[   rT   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]   rT   F)rW   rM   r   r   z	test/path)r1   r+   r	   r   r   r   r$   rW   r   r   rH   r5   r-   r   rM   rP   r   rR   )rT   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 )NrT   r^   c                     | S r7   rF   rj   s    r?   rl   z&test_custom_coloring.<locals>.<lambda>      a rA   )r|   rY   rc                     | S r7   rF   rj   s    r?   rl   z&test_custom_coloring.<locals>.<lambda>  s     rA   c                     | S r7   rF   rj   s    r?   rl   z&test_custom_coloring.<locals>.<lambda>!  s    1 rA   rt   ru   c                     | dz  |dz  z   S NrX   rF   r   s     r?   rl   z&test_custom_coloring.<locals>.<lambda>&      q!tad{ rA   )r   c                     | dz  |dz  z   S r/  rF   r   s     r?   rl   z&test_custom_coloring.<locals>.<lambda>.  r0  rA   )r	   r   r   r   r   r   r    r   rx   s     r?   test_custom_coloringr2    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::::::rA   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]   rT   r   rc   Fr   r   )r1   r+   r	   r   r   r.   get_segmentsr   s       r?   test_deprecated_get_segmentsr5  3  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]   rT   r   rY   *noner=   marker	linestyletestr   r   rV   xyr   rY   rX   rU   rT   y1ru   r?  widthheightrc   )markersannotationsfill
rectanglesr[   rg   rX   )r1   r+   r	   r   r   r   r  collectionspatcheslinestextsr   s      r?   test_generic_data_seriesrN  ?  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((((((rA   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]   rT   r   rc   Fr   r   rY   r7  r8  r9  rX   r<  r=  r>  rU   r@  rA  rs   ru   rC  )r1   r+   r	   r   r   r.   rF  r   r   rG  rH  rI  r  s     r?   3test_deprecated_markers_annotations_rectangles_fillrP  R  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]   rT   r^   Fru   rq   r   rX   rU   rs   )rg   )r1   r+   r	   r   r   r   
get_pointsr   r   r   r   r   r   
get_meshesr"   r    rT   r^   r   s      r?   test_back_compatibilityrU  f  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$$$$$$rA   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, yrY   r   r   rc   Fzx + 1rf   rr   rX   r<  colorr+  zx**2ru   c                     | S r7   rF   ts    r?   rl   z%test_plot_arguments.<locals>.<lambda>  s    ! rA   c                     | S r7   rF   rZ  s    r?   rl   z%test_plot_arguments.<locals>.<lambda>  s    q rA   r   rc    )r[  rt   r   )rt   r   )r1   r+   r
   r   
isinstancer&   r   ranges	get_labelrendering_kwcallablerT   r^   r   r   s       r?   test_plot_argumentsre    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******rA   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]   rW  rY   r   r   rc   FrT   rr   rX   r<  cmapRedstest1rv   rU   test2c                     | S r7   rF   rZ  s    r?   rl   z0test_plot_parametric_arguments.<locals>.<lambda>%      1 rA   c                     d| z  S r/  rF   rZ  s    r?   rl   z0test_plot_parametric_arguments.<locals>.<lambda>&  
    1q5 rA   c              3   4   K   | ]}t          |          V  d S r7   rc  .0r[  s     r?   	<genexpr>z1test_plot_parametric_arguments.<locals>.<genexpr>(  (      ..qx{{......rA   r]  Dummyr[  r   rX   c              3   4   K   | ]}t          |          V  d S r7   rp  rq  s     r?   rs  z1test_plot_parametric_arguments.<locals>.<genexpr>/  rt  rA   r   rX   )r1   r+   r
   r   r_  r'   r   r`  ra  rb  all)rT   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""""""rA   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]   rW  rY   r   r   rc   FrT   rr   rX   r<  rg  rh  r^   c                     | S r7   rF   rZ  s    r?   rl   z7test_plot3d_parametric_line_arguments.<locals>.<lambda>x  rl  rA   c                     d| z  S r/  rF   rZ  s    r?   rl   z7test_plot3d_parametric_line_arguments.<locals>.<lambda>y  rn  rA   c                     d| z  S )NrU   rF   rZ  s    r?   rl   z7test_plot3d_parametric_line_arguments.<locals>.<lambda>z  rn  rA   c              3   4   K   | ]}t          |          V  d S r7   rp  rq  s     r?   rs  z8test_plot3d_parametric_line_arguments.<locals>.<genexpr>|  rt  rA   r]  ru  rv  c              3   4   K   | ]}t          |          V  d S r7   rp  rq  s     r?   rs  z8test_plot3d_parametric_line_arguments.<locals>.<genexpr>  rt  rA   rx  )r1   r+   r
   r   r   r_  r(   r   r`  ra  rb  r   ry  )rT   r^   r   rz  r{  fzs         r?   %test_plot3d_parametric_line_argumentsr  5  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""""""rA   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]   rW  r   r   rc   rY   Fzx + yrr   rX   r<  rg  rh  rs   zx*yrv   rU   ir   c                     | |z   S r7   rF   rx   s     r?   rl   z4test_plot3d_plot_contour_arguments.<locals>.<lambda>  s
    QU rA   r]  r^  )rk   rt   rU   )rn   rr   rY   )rt   rU   )rr   rY   z	Min(x, y))r1   r+   r
   r   r_  r*   r   r`  ra  rb  rc  r   rd  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""""""rA   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]   rW  r   r   rc   rY   Fz(x + y, cos(x + y), sin(x + y))rr   rX   r  rs   r<  rg  rh  rv   rU   rj  c                     | S r7   rF   uvs     r?   rl   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>'  s    Q rA   c                     |S r7   rF   r  s     r?   rl   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>'  r   rA   c                     | |z   S r7   rF   r  s     r?   rl   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>'  s
    QU rA   )r  r   rX   )r  rv   rs   c              3   4   K   | ]}t          |          V  d S r7   rp  rq  s     r?   rs  z;test_plot3d_parametric_surface_arguments.<locals>.<genexpr>)  rt  rA   rx  )rv   rs   r^  c                     | S r7   rF   r  s     r?   rl   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>2      a rA   c                     |S r7   rF   r  s     r?   rl   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>2  r*  rA   c                     | |z   S r7   rF   r  s     r?   rl   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>2  
    a!e rA   c                     |S r7   rF   r  s     r?   rl   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>4  r  rA   c                     | S r7   rF   r  s     r?   rl   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>4  r*  rA   c                     | |z
  S r7   rF   r  s     r?   rl   z:test_plot3d_parametric_surface_arguments.<locals>.<lambda>4  r  rA   )r  rr   rU   )r  r  ru   c              3   4   K   | ]}t          |          V  d S r7   rp  rq  s     r?   rs  z;test_plot3d_parametric_surface_arguments.<locals>.<genexpr>6  rt  rA   c              3   4   K   | ]}t          |          V  d S r7   rp  rq  s     r?   rs  z;test_plot3d_parametric_surface_arguments.<locals>.<genexpr>;  rt  rA   )rr   rU   )r  ru   )r1   r+   r
   r    r   r   r_  r)   r   r`  ra  rb  ry  rT  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""""""rA   )kr   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.   sympy.utilitiesr/   r   sympy.utilities.exceptionsr0   RuntimeErrorr1   r5   rH   rZ   markparametrizer   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r
  r  r  r%  r'  r2  r5  rN  rP  rU  re  r|  r  r  r  rF   rA   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 M L L L L L L L L L L L 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
)- - -" 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#rA   