
    sge                        d dl mZmZmZmZmZmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZ d dlmZmZmZmZmZm Z m!Z!m"Z"m#Z# d dl$m%Z%m&Z&m'Z'm(Z(m)Z)  ed      Z*d Z+d Z,d Z-d	 Z.d
 Z/d Z0d Z1d Z2d Z3d Z4d Z5d Z6d Z7d Z8d Z9d Z:d Z;d Z<d Z=d Z>d Z?d Z@d ZAd ZBd ZCd ZDd  ZEd! ZFd" ZGd# ZHe'd$        ZId% ZJd& ZKd' ZLe'd(        ZMd) ZNd* ZOd+ ZPd, ZQd- ZRd. ZSy/)0    )latexexpsymbolsIpisincostanlogsqrtreimargfracSumSAbslambdifyFunctiondsolveEqfloorTuple)import_module)	LineOver1DRangeSeriesParametric2DLineSeriesParametric3DLineSeriesSurfaceOver2DRangeSeriesContourSeriesParametricSurfaceSeriesImplicitSeries_set_discretization_pointsList2DSeries)raiseswarnsXFAILskipignore_warningsnumpyc                     t         st        d       t        d      \  } }t        t	        |       | ddfddd      }|j                         \  }}t        t	        |       | ddfddd	      }|j                         \  }}t        t	        |       | ddfdd
      }|j                         \  }}t        |      t        |      cxk  rt        |      k  sJ  J t        t        |       t	        |       | ddt        z  fdd      }|j                         \  }}}t        t        |       t	        |       | ddt        z  fdd	      }|j                         \  }}}t        t        |       t	        |       | ddt        z  fd
      }|j                         \  }}}t        |      t        |      cxk  rt        |      k  sJ  J y )Nnumpy not installed.x, y
    T   adaptivedepth   r2   r   )
npr'   r   r   r   get_datalenr   r	   r   )	xys1x1_s2x2s3x3s	            S/var/www/html/venv/lib/python3.12/site-packages/sympy/plotting/tests/test_series.pytest_adaptiverC      s   #$6?DAq	s1v3|R$
BKKMEB	s1v3|R$
BKKMEB	s1v3|R$	GBKKMEBr7SW&s2w&&&&&	AAAqtQ
 BIB1	AAAqtQ
 B{{}HB1	AAAqt
B{{}HB1r7SW&s2w&&&&&    c            
         t         st        d       t        d      \  } }t        t	        |       | t
         t
        fddd      }|j                         \  }}t        t	        |       | t
         t
        fdddd      }|j                         \  }}t        t	        |       | t
         t
        fdddd	      }|j                         \  }	}
t        t	        |       | t
         t
        fddd
      }|j                         \  }}t         j                  ||      r,t         j                  ||	      rt         j                  ||      sJ t         j                  t         j                  |            rJ t         j                  t         j                  |
            rJ t         j                  t         j                  |            sJ t         j                  t         j                  |            sJ t        |j                        t        |j                        cxk(  rdk(  sJ  J t        |j                        dk(  sJ t         j                  t         j                  |j                        t         j
                  dz        sJ t        t        dd      5  t        t        |       | ddfddd      }t        t        |       | ddfdddd      }t        t        |       | ddfddd
      }|j                         \  }}|j                         \  }}|j                         \  }	}
t         j                  ||      rt         j                  ||	      sJ t         j                  t         j                  |            rJ t         j                  t         j                  |            r(t         j                  t         j                  |            sJ t         j                  ||d      rJ t        |j                        dk(  sJ 	 d d d        t        t	        || z        | t
         t
        f|diddd      }|j                         \  }}t        t	        || z        | t
         t
        f|didddd      }|j                         \  }}t        t	        || z        | t
         t
        f|didddd	      }|j                         \  }	}
t        t	        || z        | t
         t
        f|diddd
      }|j                         \  }}t         j                  ||      r,t         j                  ||	      rt         j                  ||      sJ t         j                  t         j                  |            rJ t         j                  t         j                  |
            rJ t         j                  t         j                  |            sJ t         j                  t         j                  |            sJ t        |j                        t        |j                        cxk(  rdk(  sJ  J t        |j                        dk(  sJ t         j                  t         j                  |j                        t         j
                  dz        sJ t        t        dd      5  t        dd      \  }}t!        d      dz  }|t"        |z  z   |z  }t%        |      t'        |      }}t)        |j+                  |d      |j+                  |d      |ddfddd      }t)        |j+                  |d      |j+                  |d      |ddfddd      }d d d        t-        t.              5  |j                         \  }}}t         j                  |      j                         rJ |j                         \  }}}t         j                  |      j                         sJ 	 d d d        t        t        dd      5  | |z  | t"        z  z  z   z  }t%        |      t'        |      }}t)        |j+                  |d      |j+                  |d      |ddf| diddd      }t)        |j+                  |d      |j+                  |d      |ddf| diddd      }d d d        t-        t.              5  |j                         \  }}}t         j                  |      j                         rJ |j                         \  }}}t         j                  |      j                         sJ 	 d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   dxY w# 1 sw Y   xY w# 1 sw Y   y xY w)Nr+   x, uF  )r2   ndetect_polesT{Gz?)r2   rH   rI   epsgư>symbolicr   r0   z8NumPy is unable to evaluate with complex numbers some ofmatchtest_stacklevelr-   r.   g?)	equal_nan      )paramsr2   rH   rI   )rS   r2   rH   rI   rK   zu, v)real   )rS   r2   n1rI   )r6   r'   r   r   r
   r   r7   allcloseanyisnanr8   poles_locationsabsr%   UserWarningr   r   r   r   r   r   subsr(   RuntimeWarning)r9   ur;   xx1yy1r>   xx2yy2r@   xx3yy3s4xx4yy4vrH   fripp1pp2s                        rB   test_detect_polesrp   .   s   #$6?DAq	s1vB3|$U
4B{{}HC	s1vB3|$Tt
=B{{}HC	s1vB3|$Tu
>B{{}HC	s1vB3|$Z
9B{{}HC;;sC R[[c%:r{{3PS?TTTvvbhhsm$$$vvbhhsm$$$66"((3-   66"((3-   r!!"c"*<*<&=BBBBBBr!!"a''';;rvvb00125519===	L!

 -
 #47QRLd8"47QRLd4A"47QRLd=;;=S;;=S;;=S{{3$S#)>>>66"((3-(((vvbhhsm$)>>>;;sC4;8882%%&",,,'-* 
s1q5zAsB<A$U
4B{{}HC	s1q5zAsB<A$Tt
=B{{}HC	s1q5zAsB<A$Tu
>B{{}HC	s1q5zAsB<A$Z
9B{{}HC;;sC R[[c%:r{{3PS?TTTvvbhhsm$$$vvbhhsm$$$66"((3-   66"((3-   r!!"c"*<*<&=BBBBBBr!!"a''';;rvvb00125519===	L!

 7
 vD)1aD1HQYN!ube1#AFF1bM166!R=1b!*d8#AFF1bM166!R=1b!*d77 
	( #S#88C=$$&&&S#xx}  """	# 
L!

 8
 UQUQY"!ube1#AFF1bM166!R=AJ1vt%9 $AFF1bM166!R=AJ1vt$88 
	( #S#88C=$$&&&S#xx}  """	# #Y- -X7 7# #8 8# #sA   E-dB,d&A3d3+Be A3ed#&d03d= e	ec                  0   t         st        d       t        d      \  } }}t        t        t
        fD ]E  }t        ddi|      }t        dg di|      }t        ddi|      }t        d |||fD              rEJ  t        t        t        t        fD ][  }t        ddi|      }t        dg di|      }t        ddd	|      }|d   |d
   cxk(  rdk(  sJ  J t        d ||fD              r[J  t        t        |       | ddfdd      j                          y )Nr+   zx:zrH   r.   )r.         rW   c              3   8   K   | ]  }d |v xr |d    dk(    yw)rW   r.   N .0kws     rB   	<genexpr>z4test_number_discretization_points.<locals>.<genexpr>   s$     MrDBJ2BtHN2Ms   rr   rW   n2r{   c              3   @   K   | ]  }|d    dk(  xr |d   dk(    yw)rW   r.   r{   rr   Nru   rv   s     rB   ry   z4test_number_discretization_points.<locals>.<genexpr>   s(     NRBtHN8DR8Ns   r4   Fg     @r2   rH   )r6   r'   r   r   r   r   r"   allr   r   r    r!   r	   r7   )r9   r:   zptkw1kw2kw3s          rB   !test_number_discretization_pointsr      s4    #$enGAq!$&<  N(#rB7(#|)<bA($R8Mc3_MMMMN (8O O(#rB7(#|)<bA(")=rB4yCI++++++NC:NNNNO #a&1b!*uENNPrD   c                     t         st        d       t         j                  ddd      t         j                        } t         j                  ddd      t	        |       }|j
                  rJ t        t        fd       t	        |       }|j                         \  }}t         j                  |      sJ t         j                  | |      sJ |j
                  rJ y )Nr+   rU   r.   rr   c                      t               S Nr#   )xxrd   s   rB   <lambda>z#test_list2dseries.<locals>.<lambda>   s    |B4 rD   )
r6   r'   linspacer	   r#   is_parametricr$   
ValueErrorr7   rX   )rb   sxxsyysr   rd   s       @@rB   test_list2dseriesr      s    #$	RB	B
&&*C
++b!R
 C 	RA
:45 	RAzz|HC;;r3;;sC   rD   c            	         t        d      \  } }}}}t        t        |       | ddf      }|j                  rJ t        |t        |       z  | ddf|di      }|j                  sJ t	        t        |       t        |       | ddf      }|j                  rJ t	        |t        |       z  |t        |       z  | ddf|di      }|j                  sJ t        t        |       t        |       | | ddf      }|j                  rJ t        |t        |       z  |t        |       z  | | ddf|di      }|j                  sJ t        t        | |z        | ddf|ddf      }|j                  rJ t        |t        | |z        z  | ddf|ddf|di      }|j                  sJ t        t        | |z        | ddf|ddf      }|j                  rJ t        |t        | |z        z  | ddf|ddf|di      }|j                  sJ t        |t        |      z  |t        |      z  ||z   |ddf|ddf      }|j                  rJ t        |t        || z        z  |t        |      z  ||z   |ddf|ddf| di      }|j                  sJ y )Nx, y, z, u, vr}   r4   rR   rS   )
r   r   r	   is_interactiver   r   r   r   r   r    )r9   r:   r   r`   rj   r   s         rB   "test_interactive_vs_noninteractiver      s    O,MAq!Qc!fq"aj1Aa#a&j1b!*aVDAs1vs1v2qz:Aq3q6z1s1v:2qz1v	As1vs1vq1b!*=Aq3q6z1s1v:q1b!*1v	A QUaQZ!RDA SQZ!RaQZ1v	Ac!a%j1b!*q"aj9Aa#a!e*nq"aj1b!*1v	ACF
AAJA	
B
QAJ	 ACAJCF
AE	
B
QAJ1v	/ArD   c            
      	   t         st        d       t        d      \  } }}t        | | ddfddd      }|j	                         \  }}t         j                  |d   |d	   z
  |d
   |d   z
        sJ t        | | ddfddd      }|j	                         \  }}t         j                  |d   |d	   z
  |d
   |d   z
        rJ t        t        |       t        |       | t        dz  dt        z  fddd      }|j	                         \  }}}t         j                  |d   |d	   z
  |d
   |d   z
        sJ t        t        |       t        |       | t        dz  dt        z  fddd      }|j	                         \  }}}t         j                  |d   |d	   z
  |d
   |d   z
        rJ t        t        |       t        |       | | t        dz  dt        z  fddd      }|j	                         \  }}}}t         j                  |d   |d	   z
  |d
   |d   z
        sJ t        t        |       t        |       | | t        dz  dt        z  fddd      }|j	                         \  }}}}t         j                  |d   |d	   z
  |d
   |d   z
        rJ t        t        | dz  |dz  z         | ddf|ddfddd      }|j	                         \  }}}t         j                  |d   |d   z
  |d   |d   z
        sJ t         j                  |d   |d   z
  |d   |d   z
        sJ t        t        | dz  |dz  z         | ddf|ddfddd      }|j	                         \  }}}t         j                  |d   |d   z
  |d   |d   z
        rJ t         j                  |d   |d   z
  |d   |d   z
        rJ t        t        | dz  |dz  z         d	kD  | ddf|ddfddddd      }|j	                         \  }}}}t         j                  |d   |d   z
  |d   |d   z
        sJ t         j                  |d   |d   z
  |d   |d   z
        sJ t        t        | dz  |dz  z         d	kD  | ddf|ddfdddd      }|j	                         \  }}}}t         j                  |d   |d   z
  |d   |d   z
        rJ t         j                  |d   |d   z
  |d   |d   z
        rJ y )Nr+   x, y, zrR   r.   F2   linear)r2   rH   xscaler   rV   r   r0         ?r4   )rH   r   yscale)r   rR   )r   r   )r   r   )r   rV   )rR   r   )r   r   )rV   r   )rW   r{   r   r   r2   )rH   r   r   r2   )r6   r'   r   r   r7   iscloser   r	   r   r   r   r   r!   )r9   r:   r   r   r   r=   paramyys           rB   test_lin_log_scaler      s:   #$i GAq!a!Qer	AJJLEB::bebemRVbf_555a!Qer	AJJLEBzz"Q%"Q%-B"R&999AABFC"H-	A **,KAq%::eAhq)59uRy+@AAAAABFC"H-	A **,KAq%zz%(U1X-uRy59/DEEEAAArAvsRx05B	A ZZ\NAq!U::eAhq)59uRy+@AAAAAArAvsRx05B	A ZZ\NAq!Uzz%(U1X-uRy59/DEEE AFQ!VOq!Qi!Qb	*A 

IBA::bhD)2e9r%y+@AAA::bhD)2e9r%y+@AAA AFQ!VOq!Qi!QbU	$A 

IBAzz"T(RX-r%y2e9/DEEEzz"T(RX-r%y2e9/DEEEAFQ!VOq 1a)aAY"Xh	HA ::<LBAq::bhD)2e9r%y+@AAA::bhD)2e9r%y+@AAAAFQ!VOq 1a)aAY
U55	:A ::<LBAqzz"T(RX-r%y2e9/DEEEzz"T(RX-r%y2e9/DEEEErD   c            	      0   t         st        d       t        d      \  } }}}}t        g dg d      }t	        |j
                  t              sJ t        d|ddf      }t	        |j
                  t              sJ t        t        |      t        |      |dt        f      }t	        |j
                  t              sJ t        t        |      t        |      ||dd	t        z  f      }t	        |j
                  t              sJ t        ||z   |d
d	f|ddf      }t	        |j
                  t              sJ t        ||z   |d
d	f|ddf      }t	        |j
                  t              sJ t        d|||ddf|ddf      }t	        |j
                  t              sJ y )Nr+   z	u, v, x:zrR   r0   rU   )   r4      rR   r}   r4   r   r0   rV   r   rU   )r6   r'   r   r#   
isinstancerendering_kwdictr   r   r   r	   r   r   r   r   r    )r`   rj   r9   r:   r   r   s         rB   test_rendering_kwr   @  sd   #$K(MAq!QY	*Aannd+++a!R,Aannd+++s1vs1v1bz:Aannd+++s1vs1vq1aR.AAannd+++ QB
QAJ?Aannd+++a!eaQZ!R4Aannd+++1a!QQ1I>Aannd+++rD   c            	         t         st        d       t        d      \  } }}}t        d|ddf      }|j	                         \  }}t        |      t        |      k(  sJ t         j                  |dk(        sJ t        d|ddfdd      }|j	                         \  }}t        |      t        |      cxk(  rdk(  sJ  J t         j                  |dk(        sJ t        t        |      d|d	t        f      }|j	                         \  }}}t        |      t        |      k(  rt        |      t        |      k(  sJ t         j                  |dk(        sJ t        dt        |      |d	t        f      }|j	                         \  }}}t        |      t        |      k(  rt        |      t        |      k(  sJ t         j                  |dk(        sJ t        t        |      d|d	t        fd
      }|j	                         \  }}}t        |      t        |      k(  rt        |      t        |      k(  sJ t         j                  |dk(        sJ t        dt        |      |d	t        fd
      }|j	                         \  }}}t        |      t        |      k(  rt        |      t        |      k(  sJ t         j                  |dk(        sJ t        t        |      t        |      d|d	dt        z  f      }|j	                         \  }}}}t        |      t        |      k(  r.t        |      t        |      k(  rt        |      t        |      k(  sJ t         j                  |dk(        sJ t        t        |      d||d	dt        z  f      }|j	                         \  }}}}t        |      t        |      k(  r.t        |      t        |      k(  rt        |      t        |      k(  sJ t         j                  |dk(        sJ t        dt        |      ||d	dt        z  f      }|j	                         \  }}}}t        |      t        |      k(  r.t        |      t        |      k(  rt        |      t        |      k(  sJ t         j                  |dk(        sJ t        d|ddf|ddf      }|j	                         \  }}}|j                  |j                  k(  r|j                  |j                  k(  sJ t         j                  |dk(        sJ t        d|||d	df|d	df      }|j	                         \  }}}}	}
|j                  |j                  cxk(  r0|j                  cxk(  r |	j                  cxk(  r|
j                  k(  sJ  J t         j                  |dk(        sJ t        dd||d	df|d	df      }|j	                         \  }}}}	}
|j                  |j                  cxk(  r0|j                  cxk(  r |	j                  cxk(  r|
j                  k(  sJ  J t         j                  |dk(        sJ t        |dd|d	df|d	df      }|j	                         \  }}}}	}
|j                  |j                  cxk(  r0|j                  cxk(  r |	j                  cxk(  r|
j                  k(  sJ  J t         j                  |dk(        sJ y )Nr+   u, x:zrR   r}   r4   Fr.   r~   r   r5   r0   rV   r   rU   )r6   r'   r   r   r7   r8   r   r   r   r   r   r	   r   shaper    )r`   r9   r:   r   r   r   r   r   zzuuvvs              rB   test_data_shaper   ]  s    #$"JAq!Q 	a!R,AZZ\FBr7c"g66"'??a!RerBAZZ\FBr7c"g######66"'??s1vq1a*5AJJLMBEGs2wSWE
%:;;66"'??q#a&1a*5AJJLMBEGs2wSWE
%:;;66"'??s1vq1a*uEAJJLMBEGs2wSWE
%:;;66"'??q#a&1a*uEAJJLMBEGs2wSWE
%:;;66"'??s1vs1vq1aR.AA

BBGs2wSWB%7c"gU>STT66"'??s1vq!aAF^<A

BBGs2wSWB%7c"gU>STT66"'??q#a&!aAF^<A

BBGs2wSWB%7c"gU>STT66"'?? QAJB
;AJBBHH rxx288';<<66"'??1a!QQ1I>ABBB88rxxC288CrxxC288CCCCC66"'??1a!QQ1I>ABBB88rxxC288CrxxC288CCCCC66"'??1a!QQ1I>ABBB88rxxC288CrxxC288CCCCC66"'??rD   c            	         t         st        d       t        d      \  } }}}t        t	        |       | ddfddd      }|j                         \  }}t        |      d	k(  sJ |d
   dk(  r|d   dk(  sJ t        t        |       t	        |       | d
dt        z  fddd      }|j                         \  }}}t        |      dk(  sJ |d
   d
k(  r|d   dk(  sJ t        t        |       t	        |       | | d
dt        z  fddd      }|j                         \  }}}}t        |      dk(  sJ |d
   d
k(  r|d   dk(  sJ t        t        | dz  |dz  z         | ddf|ddfddd      }|j                         \  }}}|j                  |j                  cxk(  rdk(  sJ  J t         j                  |d d d
f   dt         j                  d      z  z
  d
      sJ t         j                  |d
d d f   t         j                  ddd      z
  d
      sJ t         j                  |d d d
f   t         j                  ddd      z
  d
      sJ t         j                  |d
d d f   dt         j                  d      z  z
  d
      sJ dt	        d|z  d|z  z         z   }	|	t        |      z  t	        |      z  |	t	        |      z  t	        |      z  |	t        |      z  f}
t!        g |
|d
dt        z  f|d
t        fdddd}|j                         \  }}}}}|j                  |j                  cxk(  r6|j                  cxk(  r&|j                  cxk(  r|j                  cxk(  rdk(  sJ  J t        d| ddfddd      }|j                         \  }}t        |      d	k(  sJ |d
   dk(  r|d   dk(  sJ t        t        |       d| d
dt        z  fddd      }|j                         \  }}}t        |      dk(  sJ |d
   d
k(  r|d   dk(  sJ t        d| ddf|ddfddd      }|j                         \  }}}|j                  |j                  cxk(  rdk(  sJ  J t         j                  |d d d
f   dt         j                  d      z  z
  d
      sJ t         j                  |d
d d f   t         j                  ddd      z
  d
      sJ t         j                  |d d d
f   t         j                  ddd      z
  d
      sJ t         j                  |d
d d f   dt         j                  d      z  z
  d
      sJ dt	        d|z  d|z  z         z   }	|	t        |      z  t	        |      z  d|	t        |      z  f}
t!        g |
|d
dt        z  f|d
t        fdddd}|j                         \  }}}}}|j                  |j                  cxk(  r6|j                  cxk(  r&|j                  cxk(  r|j                  cxk(  rdk(  sJ  J y )Nr+   
x, y, u, vg            @r/   FTr2   only_integersr.   r   r}   r   r   r0      r   g      @            @)r      r4   r   r   rU   )r   r   rR   )r6   r'   r   r   r   r7   r8   r   r	   r   r   r   r   rX   onesr   r    )r9   r:   r`   rj   r   r   r=   pr   rl   exprr   r   r   s                 rB   test_only_integersr     s   #$&JAq!Qc!fq$nbd	,AJJLEBr7b==a5B;2b6Q;&&s1vs1v1a"f~rd	,AjjlGAq!q6Q;;Q4192!##s1vs1vq1aR."d	,AJAq!Qq6Q;;Q4192!## QTAqD[!1AtS>	
D#d	,A 

IBA88rxx*7*****;;r!Q$x2"33Q777;;r!Q$x"++b!R"88!<<<;;r!Q$x"++b!Q"77;;;;;r!Q$x2"44a888	CAAA	CF
SV	CF
SV	CF
D
 	  	, 	,1a"f~ 	,1bz 	,2 	,d	,ABBB88rxxM288MrxxM288MvMMMMM 	a!T3d	,AJJLEBr7b==a5B;2b6Q;&&s1vq1aR."d	,AjjlGAq!q6Q;;Q4192!## QcNQcNBd	,A

IBA88rxx*7*****;;r!Q$x2"33Q777;;r!Q$x"++b!R"88!<<<;;r!Q$x"++b!Q"77;;;;;r!Q$x2"44a888	CAAA	CF
SV		CF
D
 	  	, 	,1a"f~ 	,1bz 	,2 	,d	,ABBB88rxxM288MrxxM288MvMMMMMrD   c                     t         st        d       t        d      \  } }t        t	        |       | ddfddd      }|j
                  s|j                  sJ t        t	        |       | ddfddd      }|j
                  r|j                  rJ t        g d	g d
dd      }|j
                  s|j                  sJ t        g d	g d
dd      }|j
                  r|j                  rJ t        t	        |       t        |       | ddfdd      }|j
                  s|j                  sJ t        t	        |       t        |       | ddfdd      }|j
                  r|j                  rJ t        t	        |       t        |       | | ddfdd      }|j
                  s|j                  sJ t        t	        |       t        |       | | ddfdd      }|j
                  r|j                  rJ y )Nr+   rF   r}   r4   r/   FT)is_point	is_filledr   rR   r0   rU   r   r4   )r6   r'   r   r   r	   r   r   r#   r   r   r   r9   r`   r   s      rB   test_is_point_is_filledr     s    #$6?DAqc!fq"aj"$	(A

++c!fq"aj"	(A::q{{++Y	$	(A

++Y		(A::q{{++s1vs1v2qz$	(A

++s1vs1v2qz	(A::q{{++s1vs1vq1b!*$	(A

++s1vs1vq1b!*	(A::q{{++{rD   c                     t        d      \  } }t        | dz  |dz  z         }| ddf|ddff}t        |g| }|j                  sJ t        |g|ddi}|j                  sJ t        |g|ddi}|j                  rJ y )Nr,   r0   rV   r   TF)r   r	   r   r   )r9   r:   r   rangesr   s        rB   test_is_filled_2dr     s    6?DAqq!tad{DQZ!R#Fd$V$A;;;d4V4t4A;;;d5V5u5A{{?{rD   c            	         t         st        d       t        d      \  } }d }t        t	        |       | ddfdddd	      }t        t	        |       | ddfdddd
	      } |||       t        g dg dd      }t        g dg dd
      } |||       t        t	        |       t        |       | ddfddd	      }t        t	        |       t        |       | ddfddd
	      } |||       t        t	        |       t        |       | | ddfddd	      }t        t	        |       t        |       | | ddfddd
	      } |||       y )Nr+   rF   c                    | j                   s3| j                  r'| j                         \  }}|j                         \  }}n| j                   r5| j                  r)| j                         \  }}}|j                         \  }}}nk| j                   s5| j                  r)| j                         \  }}}|j                         \  }}}n*| j                         \  }}}}|j                         \  }}}}t	        |      t	        |      k7  sJ y r   )r   	is_2Dliner7   	is_3Dliner8   )r;   r>   ra   r=   rc   s        rB   do_testztest_steps.<locals>.do_test1  s      bll[[]FC[[]FC",,ICAICA""ICAICA;;=LCAq;;=LCAq3x3s8###rD   r}   r4   r/   F(   )r2   rH   stepsTr   r   )r   )	r6   r'   r   r   r	   r#   r   r   r   )r9   r`   r   r;   r>   s        rB   
test_stepsr   +  s<   #$6?DAq$ 
s1v2qz2"E
+B	s1v2qz2"D
*BBO	i%	8B	i$	7BBO	AAB
"E
+B	AAB
"D
*BBO	AAAr1:"E
+B	AAAr1:"D
*BBOrD   c            
         t         st        d       t        d      \  } }}}d }t        | t	        |      z  |ddf| did      }t        t	        |      |ddfd	d
      } ||j                         |j                                t        | t	        |      z  | t        |      z  |ddf| did      }t        t	        |      t        |      |ddfd	d
      } ||j                         |j                                t        | t	        |      z  | t        |      z  | |z  |ddf| did      }t        t	        |      t        |      ||ddfd	d
      } ||j                         |j                                t        | t	        |dz  |dz  z         z  |ddf|ddf| didd      }t        t	        |dz  |dz  z         |ddf|ddfd	dd      } ||j                         |j                                t        | t	        ||z         z  t        ||z         ||z
  |ddf|ddf| didd      }t        t	        ||z         t        ||z         ||z
  |ddf|ddfd	dd      } ||j                         |j                                t        |dz  dz   |dz  dz
  z        }t        | |z  |ddfd	dd | di      }t        ||ddfd	dd       } ||j                         |j                                t        |dz  dz   |dz  dz
  z        }t        | |z  |ddfdd| di      }t        ||ddfd	dd      } ||j                         |j                                y )Nr+   r   c                     t        |       t        |      k(  sJ t        | |      D ]  \  }}t        j                  ||      rJ  y r   r8   zipr6   rX   data1data2d1d2s       rB   r   z&test_interactive_data.<locals>.do_test_  F    5zSZ'''%' 	'FB;;r2&&&	'rD   r}   r4   rR   r   rS   rH   Fr~   r0   r   rU   rS   rW   r{   r2   rW   r{   )r2   rH   modulesrS   )r2   rH   r   mpmath)rH   r   rS   )r6   r'   r   r   r	   r7   r   r   r   r   r    r   )r`   r9   r:   r   r   r;   r>   r   s           rB   test_interactive_datar   W  sj    #$"JAq!Q'
 
q3q6zAr1:q!f	KB	s1v2qzER	HBBKKM2;;=)		CF
AAJB
Aq6R
AB	AAB
"
BBKKM2;;=)		CF
AAJA2qz1v
B 
 AAAr1:"
BBKKM2;;=)	!	CQa  1b!*q"aj1v"
&B 
"AFQ!VOq"aj1b!*2"
&B BKKM2;;=)	 	CAJAE
AEAr1:2qz1v"
&B 
!AE
CAJA2qzAr1:2"
'B BKKM2;;=) qAvza1fqj)*D	q4x!ReraV
%B	taQZ%2
BBKKM2;;=) qAvza1fqj)*D	q4x!Rr81v
B	taQZ"h
0BBKKM2;;=)rD   c                     t         st        d       t        d      \  t        g dg d      } | j                  rJ t        t        fd       t        t        fd       t        t              gt              gdi      } | j                  sJ t        dd	d
gd
d	dgd	i      } | j                         \  }}t         j                  |g d      sJ t         j                  |g d      sJ | j                  rJ t        g dg ddi      } | j                  sJ t        | j                  t              sJ t        | j                  t              sJ y )Nr+   x, y, ur   c                  D    t        t               gt               g      S r   r#   r	   r   r9   s   rB   r   z/test_list2dseries_interactive.<locals>.<lambda>  s    |SVHs1vh? rD   c                  P    t        t              gt              dg di      S )Nr0   rR   r   r   )r`   r9   r:   s   rB   r   z/test_list2dseries_interactive.<locals>.<lambda>  s$    c!fa[3q61+q!fE rD   rR   r   r0   rU   r   )rU   r0   rU   r   )r   rU   r0   rU   )r6   r'   r   r#   r   r$   r   r	   r   r7   rX   r   r   list_xr   list_y)r   r   r   r`   r9   r:   s      @@@rB   test_list2dseries_interactiver     s7   #$i GAq!Y	*A :?@ :EG 	c!fXAxA7AaAq\Aq!Q<A?AZZ\FB;;r<(((;;r<((( 	Y	1a&9Aahh&&&ahh&&&rD   c                     t         st        d       t        d      \  } }t        t	        t        |              | ddfdd d      }t        t	        t        |              | ddfddd      }|j                         \  }}|j                         \  }}t         j                  |dk        sJ t         j                  |dkD        sJ t        t	        t        |              | d	dfd
dd d      }t        t	        t        |              | d	dfd
ddd      }|j                         \  }}|j                         \  }}t         j                  ||      sJ t         j                  ||      rJ y )Nr+   zz, ugMbP?r4   T)r2   r   force_real_evalr   r   r}   Frr   )r2   rH   r   r   )	r6   r'   r   r   r   r   r7   r   rX   )r   r`   r;   r>   ra   rb   rc   rd   s           rB   test_mpmathr     sF    #$6?DAq	r$r(|a]tT
;B	r$r(|a]x
?B{{}HC{{}HC66#'??66#'??	r$r(|aQZ"dD
BB	r$r(|aQZ"h
FB{{}HC{{}HC;;sC   {{3$$$$rD   c            
         t        d      \  } }}}t        t        |      |ddf      }t        |      dk(  sJ ddi}t        t        |      |ddffi |}t        |      dk(  sJ ddi}t        t        |      |ddffi |}t        |      d	k(  sJ dd
i}t        t        |      |ddffi |}t        |      dk(  sJ ddi}t        t        |      |ddffi |}t        |      dk(  sJ t        t        | |z        |ddf| di      }t        |      dk(  sJ t        t        | |z        ||  d|z  f| d|di      }t        |      dk(  sJ t	        t        |      t        |      |ddf      }t        |      dk(  sJ t	        t        | |z        t        |      |ddf| di      }t        |      dk(  sJ t	        t        | |z        t        |      ||  d|z  f| d|di      }t        |      dk(  sJ t        t        |      t        |      ||ddf      }t        |      dk(  sJ t        t        | |z        t        |      ||ddf| di      }t        |      dk(  sJ t        t        | |z        t        |      |||  d|z  f| d|di      }t        |      dk(  sJ t        t        ||z        |ddf|ddf      }t        |      dk(  sJ t        t        | |z  |z        |ddf|ddf| di      }t        |      dk(  sJ t        t        | |z  |z        |d| z  df|dd| z  f| di      }t        |      dk(  sJ t        t        ||z        |ddf|ddf      }t        |      dk(  sJ t        t        | |z  |z        |ddf|ddf| di      }t        |      dk(  sJ t        t        ||z        t        ||z        ||z  |ddf|ddf      }t        |      dk(  sJ t        t        | |z  |z        t        ||z        ||z  |ddf|ddf| di      }t        |      d k(  sJ t        ||k  |d!d"f|d#d$f      }t        |      d%k(  sJ y )&Nr   rU   z-cartesian line: cos(x) for x over (-4.0, 3.0)returnrT   z1cartesian line: re(cos(x)) for x over (-4.0, 3.0)imagz1cartesian line: im(cos(x)) for x over (-4.0, 3.0)r\   z2cartesian line: abs(cos(x)) for x over (-4.0, 3.0)r   z2cartesian line: arg(cos(x)) for x over (-4.0, 3.0)rR   r   zOinteractive cartesian line: cos(u*x) for x over (-4.0, 3.0) and parameters (u,)zOinteractive cartesian line: cos(u*x) for x over (-u, 3*y) and parameters (u, y)zBparametric cartesian line: (cos(x), sin(x)) for x over (-4.0, 3.0)zdinteractive parametric cartesian line: (cos(u*x), sin(x)) for x over (-4.0, 3.0) and parameters (u,)zdinteractive parametric cartesian line: (cos(u*x), sin(x)) for x over (-u, 3*y) and parameters (u, y)zH3D parametric cartesian line: (cos(x), sin(x), x) for x over (-4.0, 3.0)zjinteractive 3D parametric cartesian line: (cos(u*x), sin(x), x) for x over (-4.0, 3.0) and parameters (u,)zjinteractive 3D parametric cartesian line: (cos(u*x), sin(x), x) for x over (-u, 3*y) and parameters (u, y)rV   r4   zIcartesian surface: cos(x*y) for x over (-4.0, 3.0) and y over (-2.0, 5.0)zkinteractive cartesian surface: cos(u*x*y) for x over (-4.0, 3.0) and y over (-2.0, 5.0) and parameters (u,)zkinteractive cartesian surface: cos(u*x*y) for x over (-4*u, 3.0) and y over (-2.0, 5*u) and parameters (u,)z?contour: cos(x*y) for x over (-4.0, 3.0) and y over (-2.0, 5.0)zainteractive contour: cos(u*x*y) for x over (-4.0, 3.0) and y over (-2.0, 5.0) and parameters (u,)zeparametric cartesian surface: (cos(x*y), sin(x*y), x*y) for x over (-4.0, 3.0) and y over (-2.0, 5.0)zinteractive parametric cartesian surface: (cos(u*x*y), sin(x*y), x*y) for x over (-4.0, 3.0) and y over (-2.0, 5.0) and parameters (u,)r}   r   r   r0   zHImplicit expression: x < y for x over (-5.0, 4.0) and y over (-3.0, 2.0))r   r   r	   strr   r   r   r   r   r    r!   )r`   r9   r:   r   r   ds         rB   test_strr     s(   "JAq!Qc!fq"aj1Aq6DDDD	6Ac!fq"aj6A6Aq6HHHH	6Ac!fq"aj6A6Aq6HHHH	5Ac!fq"aj6A6Aq6IIII	5Ac!fq"aj6A6Aq6IIIIc!a%j1b!*aVDAq6ffffc!a%j1qb!A#,1a|LAq6ffffs1vs1v2qz:Aq6YYYYs1q5z3q6Ar1:q!fMAq6{{{{s1q5z3q6Ar1Q3<AqQRTAq6{{{{s1vs1vq1b!*=Aq6____s1Q3xQQAJ1vNAq6  B  B  B  Bs1Q3xQQAaCL!QPQSTVAq6  B  B  B  B QUaQZ!RDAq6```` QUQY!RaQZQRTUPVWAq6  C  C  C  C QUQY!RT12qs|UVXYTZ[Aq6  C  C  C  Cc!a%j1b!*q"aj9Aq6VVVVc!a%!)nq"aj1b!*aVLAq6xxxxAE
CAJA	
B
QAJ	 Aq6||||AEAIAE
AE	
B
QAJ1v	/Aq6  _  _  _  _q1uq"aj1b!*5Aq6____rD   c            	         t         st        d       t        d      \  } }}}t        g dg dd      }|j                  sJ t        g dg dd      }|j                  rJ t        t        |      t        |      |dd	fd      }|j                  sJ t        t        |      t        |      |dd	fd      }|j                  rJ t        t        |      t        |      ||dd	fd      }|j                  sJ t        t        |      t        |      ||dd	fd      }|j                  rJ t        t        ||z        |dd	f|d
dfd      }|j                  sJ t        t        ||z        |dd	f|d
dfd      }|j                  rJ t        t        ||z        t        ||z        ||z  |dd	f|d
dfd      }|j                  sJ t        t        ||z        t        ||z        ||z  |dd	f|d
dfd      }|j                  rJ y )Nr+   r   rR   r0   rU   r   )r4   r   r      Tuse_cmFr   rU   rV   r4   )r6   r'   r   r#   r   r   r	   r   r   r   r    )r`   r9   r:   r   r   s        rB   test_use_cmr     s   #$"JAq!Q\<=A88O8\<>Axx<s1vs1v2qz$GA88O8s1vs1v2qz%HAxx<s1vs1vq1b!*	A88O8s1vs1vq1b!*	Axx< QUaQZ!R	A88O8 QUaQZ!R	Axx<AE
CAJA	
B
QAJt	-A88O8AE
CAJA	
B
QAJu	.Axx<xrD   c            
         t        d      \  } }}}t        t        | dz  |dz  z         | ddf|ddf      }t        |t        |      z  |t	        |      z  ||ddf|ddt
        z  f      }|j                  |j                  k(  sJ t        t        | dz  |dz  z         | ddf|ddfd      }t        |t        |      z  |t	        |      z  ||ddf|ddt
        z  fd      }|j                  |j                  k(  sJ t        t        | dz  |dz  z         | ddf|ddfd      }t        |t        |      z  |t	        |      z  ||ddf|ddt
        z  fd      }|j                  |j                  k(  sJ y )	Nr   r0   rV   r   rR   Fr   T)r   r   r	   r    r   r   r   )r9   r:   r`   rj   r;   r>   s         rB   test_surface_use_cmr   C  s    &JAq!Q 
"#adQTk"2QAJB
	KB	 SVQQZ	
Aq	Aq1R4=
"B99		!!! 
"#adQTk"2QAJB

B	 SVQQZ	
Aq	Aq1R4=
0B99		!!! 
"#adQTk"2QAJB

B	 SVQQZ	
Aq	Aq1R4=
/B99		!!!rD   c                     t         st        d       t        d      \  } }}d }t        t	        d| |z  z  | ddf      |ddfdd	
      j                         \  }}t        t	        d| z  | d|f      |ddfdd	
      }|j                         \  }}t        t	        || z  | d|f      |ddf|did	      }	|	j                         \  }
}|j                  t              }|
j                  t              }
 |||g|
|g       t        t	        d| z  | d|f      |ddfd	      t        t        dd      5  t        t        fd       d d d        y # 1 sw Y   y xY w)Nr+   r   c                     t        |       t        |      k(  sJ t        | |      D ]  \  }}t        j                  ||      rJ  y r   r   r   s       rB   r   ztest_sums.<locals>.do_teste  r   rD   rR   rG   r0   r.   FTr   )rS   r   r5   z&The evaluation with NumPy/SciPy failedrM   c                  $     j                         S r   )r7   )r   s   rB   r   ztest_sums.<locals>.<lambda>  s    !**, rD   )r6   r'   r   r   r   r7   astypefloatr%   r]   r$   	TypeError)r9   r:   r`   r   r   r   r;   ra   rb   r>   rc   rd   r   s               @rB   	test_sumsr  ^  sb   #$i GAq!'
 	c!a1f*q!Tl;aBZd	,AZZ\FB	s1q51a)4q!Rjd
,B{{}HC	s1q51a)4q!Rj1vT
+B{{}HC
**U
C
**U
CS#Jc
#c!a%!Q3aBZ	A	6
 0
 	y./0 0 0s   3EEc                  *   t         st        d       t        d      \  } }}}}t        t	        |       | dt
        z  dt
        z  fdd      }t        t	        |       | dt
        z  dt
        z  fddt         j                        }t        t	        |       | dt
        z  dt
        z  fddt         j                  	      }t        t	        |       | dt
        z  dt
        z  fddt         j                  t         j                  
      }|j                         \  }	}
|j                         \  }}|j                         \  }}|j                         \  }}t         j                  |	d   dt         j
                  z        r*t         j                  |	d   dt         j
                  z        sJ |
j                         dk  r|
j                         dkD  sJ t         j                  |d   d      rt         j                  |d   d      sJ |j                         dk  r|j                         dkD  sJ t         j                  |d   dt         j
                  z        r*t         j                  |d   dt         j
                  z        sJ |j                         dk  r|j                         dkD  sJ t         j                  |d   d      rt         j                  |d   d      sJ |j                         dk  r|j                         dkD  sJ t         j                  dt         j
                  z  dt         j
                  z  d      }t         j	                  |      }t        ||      }t        ||t         j                  t         j                        }|j                         \  }	}
|j                         \  }}t         j                  |	d   dt         j
                  z        r*t         j                  |	d   dt         j
                  z        sJ |
j                         dk  r|
j                         dkD  sJ t         j                  |d   d      rt         j                  |d   d      sJ |j                         dk  r|j                         dkD  sJ t        t        |       t	        |       | t
         t
        fdd      }t        t        |       t	        |       | t
         t
        fddt         j                  t         j                  t         j                        }|j                         \  }	}
}|j                         \  }}}t         j                  |	t         j!                  |            sJ t         j                  |
t         j!                  |            sJ t         j                  |t         j!                  |            sJ t#        t        |       t	        |       | | t
         t
        fdd      }t#        t        |       t	        |       | | t
         t
        fddt         j                        }|j                         \  }	}
}}|j                         \  }}}}t         j                  |	|      sJ t         j                  |
|      sJ t         j                  ||      sJ t         j                  |t         j!                  |            sJ t%        t	        | dz  |dz  z         | dt
        z  dt
        z  f|dt
        z  dt
        z  fddd      }t%        t	        | dz  |dz  z         | dt
        z  dt
        z  f|dt
        z  dt
        z  fdddt         j                  d d 	      }|j                         \  }	}
}|j                         \  }}}t         j                  |	t         j!                  |            sJ t         j                  |
|dz        sJ t         j                  ||dz        sJ t'        ||z   ||z
  ||z  |ddt
        z  f|dt
        fddd      }t'        ||z   ||z
  ||z  |ddt
        z  f|dt
        fdddt         j                  d d       }|j                         \  }	}
}}}|j                         \  }}}}}t         j                  |	t         j!                  |            sJ t         j                  |
|dz        sJ t         j                  ||dz        sJ t         j                  ||      sJ t         j                  ||      sJ y )Nr+   z	x:z, u, vrV   r0   Fr.   r~   )r2   rH   tx)r2   rH   ty)r2   rH   r  r  r   r   gg?iih  i4   )r  r  )r2   rH   r  r  tp)r2   rH   r	  r   c                     d| z  S Nr0   ru   r   s    rB   r   z'test_apply_transforms.<locals>.<lambda>  
    AaC rD   c                     d| z  S NrU   ru   r   s    rB   r   z'test_apply_transforms.<locals>.<lambda>  
    ac rD   )r2   rW   r{   r  r  tzrU   c                     d| z  S r  ru   r   s    rB   r   z'test_apply_transforms.<locals>.<lambda>  r  rD   c                     d| z  S r  ru   r   s    rB   r   z'test_apply_transforms.<locals>.<lambda>  r  rD   )r6   r'   r   r   r	   r   rad2degr7   r   minmaxr   r#   r   r   rX   deg2radr   r   r    )r9   r:   r   r`   rj   r;   r>   r@   rg   r<   y1r?   y2rA   y3x4y4r   r   a1a2z1z2u1v1u2v2s                              rB   test_apply_transformsr$    s2    #$K(MAq!Q	s1v2b5!B$'7%2	NB	s1v2b5!B$'7%2::
B	s1v2b5!B$'7%2::
B	s1v2b5!B$'7%2::"**
&B [[]FB[[]FB[[]FB[[]FB::beRX&2::bfag+FFFFFHtO"&&(S.11::beT"rzz"R&#'>>>FFHtO"&&(S.11::beRX&2::bfag+FFFFFHsNB//::beT"rzz"R&#'>>>FFHsNB//	RXqw	+B	B	b"	B	b"

	;B[[]FB[[]FB::beRX&2::bfag+FFFFFHtO"&&(S.11::beT"rzz"R&#'>>>FFHsNB//	AARCu
<B	AARCu::"**
5B JBBJBB;;r2::b>***;;r2::b>***;;r2::b>***
 AAAsB<%2?B	AAAsB<%2"**
NB[[]NBB[[]NBB;;r2;;r2;;r2;;r2::b>***	!AqD1a4K1beQrT*Q2qt,<2"
&B 
"AqD1a4K1beQrT*Q2qt,<2"::-M
;B JBBJBB;;r2::b>***;;r26""";;r26"""	 	Aq1ua!eaAbD\Aq":2"
&B 
!	Aq1ua!eaAbD\Aq":2"::-M
;B BBBBBB;;r2::b>***;;r26""";;r26""";;r2;;r2rD   c                  
   t         st        d       t        d      \  } }}}}d}t        |       }t	        || ddfd       }t	        || ddfd      }|j                  d      t        |      k(  sJ |j                  d      |t        |      z  k(  sJ |j                  d      dk(  sJ |j                  d      dk(  sJ t        g d	g d	d      }|j                  d      dk(  sJ |j                  d      dk(  sJ t        |       t        |       f}t        g || ddfd d
di}t        g || ddfdd
di}t        g || ddfd d
di}	t        g || ddfdd
di}
|j                  d      dk(  sJ |j                  d      |dz  k(  sJ |j                  d      dk(  sJ |j                  d      dk(  sJ |	j                  d      t        |      k(  sJ |	j                  d      |t        |      z  k(  sJ |
j                  d      dk(  sJ |
j                  d      dk(  sJ t        |       t        |       | f}t        g || ddfd d
di}t        g || ddfdd
di}t        g || ddfd d
di}	t        g || ddfdd
di}
|j                  d      dk(  sJ |j                  d      |dz  k(  sJ |j                  d      dk(  sJ |j                  d      dk(  sJ |	j                  d      t        |      k(  sJ |	j                  d      |t        |      z  k(  sJ |
j                  d      dk(  sJ |
j                  d      dk(  sJ t        | dz  |dz  z         }t        || ddf|ddfd       }t        || ddf|ddfd      }|j                  d      t        |      k(  sJ |j                  d      |t        |      z  k(  sJ |j                  d      dk(  sJ |j                  d      dk(  sJ t        | |z
        t        | |z         | |z
  f}t        g || ddf|ddfd  }t        g || ddf|ddfd }|j                  d      t        |      k(  sJ |j                  d      |t        |      z  k(  sJ |j                  d      dk(  sJ |j                  d      dk(  sJ t        t        | |z
        d      }t        || ddf|ddfd       }t        || ddf|ddfd      }|j                  d      t        |      k(  sJ |j                  d      |t        |      z  k(  sJ |j                  d      dk(  sJ |j                  d      dk(  sJ y )Nr+   r   z$%s$rV   r0   testFT)r   rR   r0   rU   r   r9   r   r-   r.   )r6   r'   r   r	   r   	get_labelr   r   r#   r   r   r   r   r    r   r!   )r9   r:   r   r`   rj   wrapperr   r;   r>   r@   rg   s              rB   test_series_labelsr)    s    #$O,MAq!QGq6D	taQZ	6B	taQZ	8B<<#d)+++<<5;!6666<<&(((<<'''	lL&	9B<<&(((<<'''FCFD		E	E2qz	E4	E	EB		G	G2qz	G6	G$	GB		F	F2qz	F4	F	FB		H	H2qz	H6	H%	HB<<#%%%<<3...<<&(((<<'''<<#d)+++<<5;!6666<<&(((<<'''FCFAD		E	E2qz	E4	E	EB		G	G2qz	G6	G$	GB		F	F2qz	F4	F	FB		H	H2qz	H6	H%	HB<<#%%%<<3...<<&(((<<'''<<#d)+++<<5;!6666<<&(((<<'''q!tad{D	!$B
QAJ	EB	!$B
QAJ	GB<<#d)+++<<5;!6666<<&(((<<'''AJAE
AE*D	 	E$	EB
	EQAJ	E	EB	 	G$	GB
	GQAJ	G	GB<<#d)+++<<5;!6666<<&(((<<'''c!a%j!D	q#rlQRL$	?B	q#rlQRL&	AB<<#d)+++<<5;!6666<<&(((<<'''rD   c            	      B   t         st        d       t        d      \  } }t        d| z        }t	        |t        |       z  |t        |       z  | ddt        z  fdddd      }|j                         \  }}}t	        |t        |       z  |t        |       z  | ddt        z  fddd	d      }|j                         \  }}	}
t         j                  ||      st         j                  ||	      rJ t         j                  ||
      sJ t	        |t        |       z  |t        |       z  | ddt        z  fdddd
       }|j                         \  }}}t	        |t        |       z  |t        |       z  | ddt        z  fddd	d       }|j                         \  }}}t         j                  ||      rt         j                  ||      rJ t         j                  ||      rt         j                  ||      sJ t         j                  ||      rt         j                  ||	      sJ y )Nr+   zt ur   r   r0   Fr.   )r2   rH   is_polarr   Tc                     d| z  S r  ru   ts    rB   r   z-test_is_polar_2d_parametric.<locals>.<lambda>@  s
    1Q3 rD   )r2   rH   r+  
color_funcc                     d| z  S r  ru   r-  s    rB   r   z-test_is_polar_2d_parametric.<locals>.<lambda>C  s
    !A# rD   )	r6   r'   r   r   r   r	   r   r7   rX   )r.  r`   rk   r;   r<   r  p1r>   thrl   p2r@   rA   r  p3rg   th4r4p4s                      rB   test_is_polar_2d_parametricr8  )  s    #$5>DAq
 	AE
A	CF
AAJAqt"uU
<BJBB	CF
AAJAqt"tE
;BIB2B#bkk"a.@AA;;r2 
 CF
AAJAqt"u
HBJBB	CF
AAJAqt"t
GB++-KCR;;r2B(;<<;;r22;;r2#666;;sBBKKA$666$6rD   c                     t         st        d       t        d      \  } }}| dz  dz
  dz  }t        || ddf|ddt        z  fddd	      }t        || ddf|ddt        z  fddd
	      }|j                         \  }}}|j                         \  }	}
}|t         j                  |      z  |t         j                  |      z  }}t         j                  |	|      sJ t         j                  |
|      sJ y )Nr+   zx, y, tr0   rR   r   r   r.   F)rH   r2   r+  T)	r6   r'   r   r   r   r7   r	   r   rX   )r9   r:   r.  r   r;   r>   r<   r  r  r?   r  r  x22y22s                 rB   test_is_polar_3dr<  J  s     #$i GAq!qD1Hq=D	!$AsaAF^
uu
.B	!$AsaAF^
ut
-BJBBJBBBFF2JRVVBZC;;r3;;r3rD   c                     t         st        d       t        d      \  } }}}}t         j                  ddd      }t         j	                  |      }t        ||d d      }|j                         \  }}	}
t         j                  ||      sJ t         j                  ||	      sJ t         j                  d	|z  |
      sJ |j                  sJ t        ||d
 d      }t        |j                               d	k(  sJ |j                  rJ t        t	        |       t        |       | dd	t        z  fddd       }|j                         \  }}}
t         j                  ||
      st         j                  ||
      rJ t        t	        |       t        |       | dd	t        z  fddd       }|j                         \  }}}
t         j                  |
||z        sJ t        t	        |       t        |       | dd	t        z  fddd       }|j                         \  }}}
t         j                  |
||z  t         j                  dd	t         j                  z  d      z        sJ t        t	        |       t        |       | | dd	t        z  fddd       }|j                         \  }}}}
t         j                  ||
      st         j                  ||
      rJ t        t	        |       t        |       | | dd	t        z  fddd       }|j                         \  }}}}
t         j                  |
||z  |z        sJ t        t	        |       t        |       | | dd	t        z  fddd       }|j                         \  }}}}
t         j                  |
||z  |z  t         j                  dd	t         j                  z  d      z        sJ t        t	        | d	z  |d	z  z         | dd	f|dd	fdddd       }|j                         \  }}}|j                  |||      }
t         j                  ||
      sJ t        t	        | d	z  |d	z  z         | dd	f|dd	fdddd       }|j                         \  }}}|j                  |||      }
t         j                  ||z  |
      sJ t        t	        | d	z  |d	z  z         | dd	f|dd	fdddd       }|j                         \  }}}|j                  |||      }
t         j                  ||z  |z  |
      sJ t!        d| || ddf|ddfdddd 	      }|j                         \  }}}}}|j                  |||||      }
t         j                  ||
      sJ t!        d| || ddf|ddfdddd 	      }|j                         \  }}}}}|j                  |||||      }
t         j                  ||z  |
      sJ t!        d| || ddf|ddfdddd 	      }|j                         \  }}}}}|j                  |||||      }
t         j                  ||z  |z  |
      sJ t!        d| || ddf|ddfdddd 	      }|j                         \  }}}}}|j                  |||||      }
t         j                  ||z  |z  |z  |z  |
      sJ t        ddd	| g| d	ddgd | did       }|j                         \  }}}
t         j                  |g d!      sJ t         j                  |g d"      sJ t         j                  d	|z  |
      sJ |j                  r|j"                  sJ t        ddd	| g| d	ddgd# | did       }t        |j                               d	k(  sJ |j                  rJ y )$Nr+   r   r   rU   r.   c                     d| z  S r  ru   r9   r:   s     rB   r   z!test_color_func.<locals>.<lambda>h  
    a!e rD   T)r/  r   r0   c                     d| z  S r  ru   r?  s     rB   r   z!test_color_func.<locals>.<lambda>o  r@  rD   Fr   c                     | S r   ru   r-  s    rB   r   z!test_color_func.<locals>.<lambda>t      1 rD   r2   rH   r/  c                     | |z  S r   ru   r?  s     rB   r   z!test_color_func.<locals>.<lambda>x  r@  rD   c                     | |z  |z  S r   ru   )r9   r:   r.  s      rB   r   z!test_color_func.<locals>.<lambda>|      Q rD   c                     | S r   ru   r-  s    rB   r   z!test_color_func.<locals>.<lambda>  rC  rD   c                     | |z  |z  S r   ru   r9   r:   r   s      rB   r   z!test_color_func.<locals>.<lambda>  rG  rD   c                     | |z  |z  |z  S r   ru   )r9   r:   r   r.  s       rB   r   z!test_color_func.<locals>.<lambda>  s    AEAIM rD   rV   c                     | S r   ru   r   s    rB   r   z!test_color_func.<locals>.<lambda>  s    1 rD   r2   rW   r{   r/  c                     | |z  S r   ru   r?  s     rB   r   z!test_color_func.<locals>.<lambda>  s
    a!e rD   c                     | |z  |z  S r   ru   rJ  s      rB   r   z!test_color_func.<locals>.<lambda>  s    Q rD   rR   c                     | S r   ru   r`   s    rB   r   z!test_color_func.<locals>.<lambda>  s    ! rD   c                     | |z  S r   ru   r`   rj   s     rB   r   z!test_color_func.<locals>.<lambda>  s
    a!e rD   c                     | |z  |z  S r   ru   rJ  s      rB   r   z!test_color_func.<locals>.<lambda>  s    Q rD   c                     | |z  |z  |z  |z  S r   ru   )r9   r:   r   r`   rj   s        rB   r   z!test_color_func.<locals>.<lambda>  s    q1uqy1}q7H rD   r   c                     d| z  S r  ru   r?  s     rB   r   z!test_color_func.<locals>.<lambda>  
    A rD   )r/  rS   r   )r   rR   r0   rR   r   c                     d| z  S r  ru   r?  s     rB   r   z!test_color_func.<locals>.<lambda>  rW  rD   )r6   r'   r   r   r	   r#   r7   rX   r   r8   r   r   r   r   r   eval_color_funcr    r   )r9   r:   r   r`   rj   r   rb   r   r   r   colr   r   r   r   s                  rB   test_color_funcr[  ]  sD    #$O,MAq!Q 
RB	B
&&*CR);DIAJJLMCc;;r3;;sC   ;;q2vs###???R);EJAqzz|!!!s1vs1v1ad|"	6A**,KBCB$r{{2s/CDDs1vs1v1ad|");	=A**,KBC;;sBG$$$s1vs1v1ad|")B	DA**,KBC;;sBGbkk!QruuWb&AABBBs1vs1vq1a2,"	6AjjlOBBB$r{{2s/CDDs1vs1vq1a2,")B	DAjjlOBB;;sBGbL)))s1vs1vq1a2,")I	KAjjlOBB;;sBGbL2;;q!BEE'2+FFGGG QTAqD[!1Ar1:2qz2"	>AJBB


BB
'C;;r3 QTAqD[!1Ar1:2qz2"1C	EAJBB


BB
'C;;rBw$$$ QTAqD[!1Ar1:2qz2"1J	LAJBB


BB
'C;;rBw|S)))1a!QQ1I"	-ABBB


BBB
/C;;r31a!QQ1I"!3	5ABBB


BBB
/C;;rBw$$$1a!QQ1I"!:	<ABBB


BBB
/C;;rBw|S)))1a!QQ1I"!H	JABBB


BBB
/C;;rBw|b(2-s333 	aAq\Aq!Q<%q!fT	CA**,KBC;;r<(((;;r<(((;;q2vs###??qxx''aAq\Aq!Q<%q!fU	DAqzz|!!!rD   c                     t         st        d       t        d      \  } }t        t	        |       t        |       | ddt        z  fddd       }|j                         \  }}}t         j                  |t         j                  |j                              sJ t        t	        |       t        |       | | ddt        z  fddd	       }|j                         \  }}}}t         j                  |t         j                  |j                              sJ t        t	        | dz  |dz  z         | d
df|d
dfdddd       }|j                         \  }}}t         j                  |j                  |      t         j                  |j                              sJ t        d| || ddf|ddfdddd 	      }|j                         \  }}}}}|j                  |||||      }t         j                  |t         j                  |j                              sJ y )Nr+   r,   r   r0   Fr.   c                      yNrR   ru   r-  s    rB   r   z,test_color_func_scalar_val.<locals>.<lambda>      rD   rD  c                      yr^  ru   r-  s    rB   r   z,test_color_func_scalar_val.<locals>.<lambda>  r_  rD   rV   c                      yr^  ru   r   s    rB   r   z,test_color_func_scalar_val.<locals>.<lambda>  r_  rD   rM  rR   c                      yr^  ru   rQ  s    rB   r   z,test_color_func_scalar_val.<locals>.<lambda>  r_  rD   )r6   r'   r   r   r	   r   r   r7   rX   r   r   r   r   rY  r    )	r9   r:   r   r   r   rZ  r   r   r   s	            rB   test_color_func_scalar_valrc    s    #$6?DAqs1vs1v1ad|"	6A**,KBC;;sBGGBHH-...s1vs1vq1a2,"	6AjjlOBB;;sBGGBHH-... QTAqD[!1Ar1:2qz2"	>AJBB;;q((,bggbhh.?@@@1a!QQ1I"	.ABBB


BBB
/C;;sBGGBHH-...rD   c            
         t         st        d       t        d      \  } t        t	              t              ddt        z  ft              ddd      }t        t	              t              ddt        z  fd	 ddd      }|j                         }t        |j                        sJ |j                         }t         j                  |d
   |d
         rJ t        t	        dz  | dz  z         t         t        f| t         t        ft        dz  | dz  z         ddd      }|j                          t        |j                        sJ g dg dt        t        fd       y )Nr+   r,   r   r0   Fr.   T)r/  r2   rH   r   c                 ,    t         j                  |       S r   r6   r	   r   s    rB   r   z,test_color_func_expression.<locals>.<lambda>  s    RVVAY rD   r   r4   )r/  r2   rW   r{   )rR   r0   rU   r   r4   c                  4    t        dt                     S )NT)r   r/  )r#   r   )r9   r   r   s   rB   r   z,test_color_func_expression.<locals>.<lambda>  s    b"Tc!fE rD   )r6   r'   r   r   r	   r   r   r7   callabler/  rX   r   r$   r  )	r:   r;   r>   r   r   r   r9   r   r   s	         @@@rB   test_color_func_expressionri    s@    #$6?DAq	AAAqtq6ER
>B	AAAqt&"T
KB 
BBMM"""	B{{2b62b6*** QTAqD[!1AsB<!bS"q!tad{#ea	AA JJLALL!!!	B	B
9EGrD   c                     t        d      \  } }}t        t        |       | ddfddd       }|j                  t	        |j
                        sJ t        t        |       t        |       | dd	t        z  fddd
       }|j                  t	        |j
                        sJ t        t        | d	z  |d	z  z         | dd	f|dd	fddd       }|j                  t	        |j
                        sJ y )Nr   r}   r4   Fr.   c                     | S r   ru   r   s    rB   r   z)test_line_surface_color.<locals>.<lambda>  s    Q rD   )r2   rH   
line_colorr   r0   c                     | S r   ru   r-  s    rB   r   z)test_line_surface_color.<locals>.<lambda>	  rC  rD   rV   c                     | S r   ru   r   s    rB   r   z)test_line_surface_color.<locals>.<lambda>  s    a rD   )rW   r{   surface_color)r   r   r   rl  rh  r/  r   r	   r   r   ro  )r9   r:   r   r   s       rB   test_line_surface_colorrp    s    
 i GAq!c!fq"aj5B	 ALL hq||&<<<s1vs1v1ad|"	6ALL hq||&<<< QTAqD[!1Ar1:2qz"K	1AOO#!,,)???)?rD   c            
         t         st        d       t        d      \  } }}d }t        |       t	        | dz         z  }t        || z        t	        | dz         z  }t        t        |      | ddfdd	      }t        t        |      | ddfdd|d
i      }|j                         }|j                         }	 |||	       t         j                  |d
   d      st         j                  |	d
   d      rJ t        t        |      t        |      | t         t        fdd	      }t        t        |      t        |      | t         t        fdd|d
i      }|j                         }|j                         }	 |||	       t         j                  |d
   d      st         j                  |	d
   d      rJ t        t        |      | ddf|ddfddd      }t        t        |      | ddf|ddfddd|d
i      }|j                         }|j                         }	 |||	       t         j                  |d
   d      st         j                  |	d
   d      rJ y )Nr+   zx y uc                     t        |       t        |      k(  sJ t        | |      D ]  \  }}t        j                  ||      rJ  y r   r   r   s       rB   r   z,test_complex_adaptive_false.<locals>.do_test  r   rD   r0   r}   r4   Fr.   r~   rR   r2   rH   rS   r   r-   rs   rU   r   )r2   rW   r{   rS   )r6   r'   r   r   r   r   r   r7   rX   r   r   r   r   )
r9   r:   r`   r   expr1expr2r;   r>   r   r   s
             rB   test_complex_adaptive_falserv    s    #$gGAq!'
 Gc1a4%j EQK#q!te*$E	r%y1b!*u	KB	r%y1b!*"aV
-BKKMEKKMEE5E!Ha(2;;uQx3KLL	5	2e9q2#rl"
B	5	2e9q2#rl"aV
-BKKMEKKMEE5E!Ha(2;;uQx3KLL	!"U)aQZ!S"2!
%B	!"U)aQZ!S"2!QF
4BKKMEKKMEE5E!Ha(2;;uQx3KLL3KrD   c            
         t         st        d       d } t        | ddd      }|j                          t        | ddd	      }|j                          |j                  |j                  cxk(  rd
k(  sJ  J d }d }t        ||dddt        z  fdd      }|j                          t        ||dddt        z  fdd	      }|j                          |j                  |j                  cxk(  rd
k(  sJ  J d }t        |||dddt        z  fdd      }|j                          t        |||dddt        z  fdd	      }|j                          |j                  |j                  cxk(  rd
k(  sJ  J d } t        | ddddd      }|j                          t        | ddddd      }|j                          |j                  |j                  cxk(  rd
k(  sJ  J d }d }d }t        |||ddt        fdddt        z  fddd      }|j                          |j                  d
k(  sJ t        t        d        t        t        d        y )Nr+   c                 ,    t         j                  |       S r   rf  r   s    rB   r   z.test_expr_is_lambda_function.<locals>.<lambda>C  s    "&&) rD   r9   r}   r4   TrU   r1   Fr.   r~   r/   c                 ,    t         j                  |       S r   rf  r   s    rB   r   z.test_expr_is_lambda_function.<locals>.<lambda>J      266!9 rD   c                 ,    t         j                  |       S r   r6   r   r   s    rB   r   z.test_expr_is_lambda_function.<locals>.<lambda>K  r{  rD   r9   r   r0   皙?r2   adaptive_goalc                     | S r   ru   r   s    rB   r   z.test_expr_is_lambda_function.<locals>.<lambda>T  s    1 rD   c                 >    t         j                  | dz  |dz  z         S r  rf  r?  s     rB   r   z.test_expr_is_lambda_function.<locals>.<lambda>]  s    RVVAqD1a4K( rD   )arV   r0   )br   rU   r   c                 2    t         j                  | |z         S r   rf  rS  s     rB   r   z.test_expr_is_lambda_function.<locals>.<lambda>f      bffQUm rD   c                 2    t         j                  | |z
        S r   r}  rS  s     rB   r   z.test_expr_is_lambda_function.<locals>.<lambda>g  r  rD   c                     | |z  S r   ru   rS  s     rB   r   z.test_expr_is_lambda_function.<locals>.<lambda>h  s
    a!e rD   r`   rj   c                      t        d d       S )Nc                     | S r   ru   r-  s    rB   r   z@test_expr_is_lambda_function.<locals>.<lambda>.<locals>.<lambda>n  s    Q rD   c                     | S r   ru   r-  s    rB   r   z@test_expr_is_lambda_function.<locals>.<lambda>.<locals>.<lambda>n  s    ! rD   r   ru   rD   rB   r   z.test_expr_is_lambda_function.<locals>.<lambda>n  s    l;D rD   c                      t        d dd      S )Nc                 ,    t         j                  |       S r   r}  r-  s    rB   r   z@test_expr_is_lambda_function.<locals>.<lambda>.<locals>.<lambda>o  s    q	 rD   ry  )r:   ir   )r!   ru   rD   rB   r   z.test_expr_is_lambda_function.<locals>.<lambda>o  s    ~.Al $ rD   )r6   r'   r   r7   labelr   r   r   r   r   r    r$   r  )rk   r;   r>   fxfyfzs         rB   test_expr_is_lambda_functionr  <  s0    #$A	q,Q	GBKKM	q,"	EBKKM88rxx%2%%%%%	B	B	Ba2S
*BKKM	Ba2"
BKKM88rxx%2%%%%%	B	BS!QrTNS
*BKKM	BS!QrTN"
BKKM88rxx%2%%%%%(A	!!\<2"
&BKKM	q,2"
&BKKM88rxx%2%%%%%	#B	#B	B	 Rc1b\CAbD>2"
&BKKM88r>>
9DE
9 $ %rD   c                  `   t        d      \  } }t        t        |       | ddfdd      }|j                  sJ t        t        |       | ddfdd      }|j                  rJ t	        t        |       t        |       | dd	fdd      }|j                  sJ t	        t        |       t        |       | dd	fdd      }|j                  rJ t        t        |       t        |       | | dd	fdd      }|j                  sJ t        t        |       t        |       | | dd	fdd      }|j                  rJ y )
NrF   rV   r0   r&  T)show_in_legendFr   rR   )r   r   r	   r  r   r   r   r   s      rB   test_show_in_legend_linesr  s  s0   6?DAqc!fq"aj&NAc!fq"aj&OAs1vs1v1ay&	As1vs1v1ay&	As1vs1vq1a)V	As1vs1vq1a)V	ArD   c                  `   t         st        d       d } t        d      }t        d      dz  }d}|dz  |dz  z   t        d      dz  z  |dz  |dz  z
  t        d      dz  z  z
  }t	        ||z
        |z
  }t        |g|      }t        ||dd	fd
dd      }t        |dd
dd      } | ||       y )Nr+   c                     t        t        dd      5  | j                         }|j                         }t        ||      D ]  \  }}t        j                  ||      rJ  	 d d d        y # 1 sw Y   y xY w)Nz)invalid value encountered in scalar powerFrM   )r%   r_   r7   r   r6   rX   r  r  r   r   r.  rj   s         rB   r   z:test_particular_case_1_with_adaptive_true.<locals>.do_test  sm    =!
 	)
 BBB )1{{1a((()	) 	) 	)s   A	A*A**A3rH   r0   rU   rJ   rR   r-   r.   r/   Tr1   rH   r-   r.   r6   r'   r   r   r   r   r   )	r   rH   r  epsilonxnr   	math_funcr;   r>   s	            rB   )test_particular_case_1_with_adaptive_truer    s     #$	) 	A	!qAG
Q$A+1a	 AqD1a4K1Q46#:	:BrAv; D!d#I	tab\2Q
 B	y."Q
 BBOrD   c                  `   t         st        d       d } t        d      }t        d      dz  }d}|dz  |dz  z   t        d      dz  z  |dz  |dz  z
  t        d      dz  z  z
  }t	        ||z
        |z
  }t        |g|      }t        ||dd	fd
dd	      }t        |dd
dd	      } | ||       y )Nr+   c                     | j                         }|j                         }t        ||      D ]  \  }}t        j                  ||      rJ  y r   )r7   r   r6   rX   r  s         rB   r   z;test_particular_case_1_with_adaptive_false.<locals>.do_test  sE    ZZ\ZZ\BK 	%DAq;;q!$$$	%rD   rH   r0   rU   rJ   rR   r-   r.   r/   Fr~   r  r  )	r   rH   r  r  r  r   r  r@   rg   s	            rB   *test_particular_case_1_with_adaptive_falser    s    
 #$% 	A	!qAG
Q$A+1a	 AqD1a4K1Q46#:	:BrAv; D!d#I	tab\2"
B	y.""
BBOrD   c            
         t         st        d       t        d      \  } }}}} t        d      |      }|j	                  |d      d| z  |z  |j	                  |      z  z   |dz  |z  z   }t        |||j                  |d      ||j	                  |      j                  |d      |i      }|d| d|d	|d
i}t        |j                  |ddfdd|      }	|	j                         \  }}
t         j                  |      j                         rJ t         j                  |
      j                         rJ t        d      \  }}}}t        d      dz  dt        z  t        t        d|z  t        z  |z  |z        |z  |d|f      z  z
  }|d|di}t        ||ddfdd|      }	|	j                         \  }}
t         j                  |      j                         rJ t         j                  |
      j                         rJ y )Nr+   zxi, omega_n, x0, v0, tr9   r0   r   )ics      ?g      ?g?g        d   Fr4   rs  z
x, T, n, mrR   r   r.   )r6   r'   r   r   diffr   r^   r   rhsr7   rZ   rY   r   r   r   r   )xiwnx0v0r.  r9   eqsolrS   r   r:   TrH   mfss                  rB   test_complex_params_number_evalr    s    #$ 89BBAaA	
1BaffQi/	/"a%!)	;B
QQVVAq\2qvvay~~a/CRH
IC
C
D
D
C	F 	cgg1c{Ua	A::<DAqxx{   xx{    &JAq!Q	
1QVs3q1urzA~'9#:Q#>Aq	JJ	JB	3	1F 	b1a*u	A::<DAqxx{   xx{    rD   c                  V   t         st        d       t        d      \  } }t        t	        |       t        | dz         z        }t        t	        || z        t        | dz         z        }t        || ddfdd      }t        || ddfd	d
      }t        || ddfd	d
|di      }t        t              5  |j                         }d d d        |j                         }|j                         }	t         j                  d         j                         rJ t         j                  |d         j                         rJ t         j                  |	d         j                         rJ t         j                  |d   |	d         rt         j                  |d   |	d         sJ y # 1 sw Y   xY w)Nr+   rF   r0   r-   r.   Tr~  r  Frs   r~   rR   rs  r   )r6   r'   r   r   r   r   r   r(   r_   r7   rZ   rY   rX   )
r9   r`   rt  ru  r;   r>   r@   r   r   data3s
             rB   test_complex_range_line_plot_1r    sz    #$6?DAqtAwadU#$EtAE{S!Q$Z'(E	uq#rlT
B	uq#rlUb	IB	uq#rlUb1v
B 
	( KKMEKKMExxa!%%'''xxa!%%'''xxa!%%''';;uQxq*r{{58U1X/NNN/N s   3FF(c                  @   t         st        d       t        d      \  } }t        t	        t        |             | ddfd      }t        t	        t        |             | ddfdd	      }t        t        d
d      5  |j                         }|j                         }|d   d   |d   d   g}|d   d   |d   d   g}|d   d   |d   d   g}|d   d   |d   d   g}	t         j                  ||      sJ t         j                  ||	      sJ 	 d d d        y # 1 sw Y   y xY w)Nr+   rF   y             y      @       Tr5   Fr.   r~   z!invalid value encountered in sqrtrM   r   r   rR   )
r6   r'   r   r   r\   r   r%   r_   r7   rX   )
r9   r`   r;   r>   r   r   ra   rc   rb   rd   s
             rB   test_complex_range_line_plot_2r    s.   
 #$
 6?DAq
 
s47|a-=	MB	s47|a-=

B	5!

 %
 [[][[]!uQxAr#!uQxAr#!uQxAr#!uQxAr#{{3$$${{3$$$% % %s   9BDDc                     t         st        d       t        d      } t        t	        |       t        | dz         z        }t        || ddfddd      }t        || ddfddd      }|j                         }t        t              5  |j                         }d d d        t         j                  |d	   d
      rJ t         j                  d	   d
      sJ y # 1 sw Y   @xY w)Nr+   r9   r0   r-   r.   F)r2   rH   r   TrR   r   )r6   r'   r   r   r   r   r   r7   r(   r_   rX   )r9   r   r;   r>   r   r   s         rB   test_force_real_evalr  2  s     #$Ad1gQTE
"#D	tab\ER
B	tab\ER
B	B		( [[]{{2a5!$$$;;r!ua    s   CCc                  6   t        d      \  } }t        t        | |z        | ddf|ddf      }|j                  sJ t        t        | |z        | ddf|ddfd      }|j                  sJ t        t        | |z        | ddf|ddfd      }|j                  rJ y )Nr,   rV   r0   T)clabelsF)r   r   r	   show_clabels)r9   r:   r   s      rB    test_contour_series_show_clabelsr  F  s     6?DAqc!A#hB
QAJ7A>>>c!A#hB
QAJEA>>>c!A#hB
QAJFA~~~rD   c                       t        d       t        t                ddf       t        t                ddf       t        t         fd       y )Nr9   r-   r.         $       y      $@       c                  4    t        t                ddf      S )Nr  y      $@       @)r   r   r   s   rB   r   z:test_LineOver1DRangeSeries_complex_range.<locals>.<lambda>^  s    &tAwFE0BC rD   )r   r   r   r$   r   r   s   @rB   (test_LineOver1DRangeSeries_complex_ranger  U  sE     	A$q'AsB<0$q'Avu#56
:CErD   c                     t         st        d       t        d      \  } d }t        t	              ddfdd      }t        t	              fddidd	      } |||d
di       t        t        fd       t        t              t	              ddfdd      }t        t              t	              fddidd	      } |||d
di       t        t        fd       t        t              t	              ddfdd      }t        t              t	              fddidd	      } |||d
di       t        t        fd       t        t        dz  dz  z         t         t        ft         t        fddd      }t        t        dz  dz  z         t         z  t        z  ft         z  t        z  fddiddd      } |||d
di       t        t        fd       t        t        fd       t        t        z
        t	        z         z
  ddfddfdd      }t        t        z
        t	        z         z
  dz  dfddz  fddidd      } |||d
di       t        t        fd       y )Nr+   zx, y, z, a, bc                 "   | j                         }|j                         }t        ||      D ]  \  }}t        j                  ||      rJ  ||_        |j                         }t        ||      D ]  \  }}t        j                  ||      sJ  y r   )r7   r   r6   rX   rS   )r;   r>   
new_paramsr   r   r`   rj   s          rB   r   z.test_symbolic_plotting_ranges.<locals>.do_testh  s    [[][[]BK 	%DAq;;q!$$$	%	[[]BK 	)DAq{{1a(((	)rD   r   rR   Fr.   r~   rS   r2   rH   r  r   c                  >    t        t               f did      S )NrR   r.   r   )r   r   r  r  r9   s   rB   r   z/test_symbolic_plotting_ranges.<locals>.<lambda>y  s!    &s1v1ay!Q2N rD   c                  T    t        t              t               f didd      S Nr   Fr.   r  )r   r	   r   r  s   rB   r   z/test_symbolic_plotting_ranges.<locals>.<lambda>  s,    'AAAq	q6ER1 rD   c            	      V    t        t              t               f didd      S r  )r   r	   r   r  s   rB   r   z/test_symbolic_plotting_ranges.<locals>.<lambda>  s.    'AAAq!9q6ER1 rD   r0   r4   r   rS   r2   rW   r{   c            	          t        t        dz  dz  z         t          z  t         z  ft         z  t        z  f diddd      S Nr0   rR   Fr4   r  r   r	   r   r  r  r9   r:   s   rB   r   z/test_symbolic_plotting_ranges.<locals>.<lambda>  sT    )#adQTk*:	
RC!GR!Vq2#'262Aq61$ rD   c            	          t        t        dz  dz  z         t          z  z   t         z  ft         z  t        z  f diddd      S r  r  r  s   rB   r   z/test_symbolic_plotting_ranges.<locals>.<lambda>  sX    )#adQTk*:	
RC!GaKa 1rcAgrAv"61v1$ rD   rV   rz   r   c            
      |    t        t        z
        t        z         z
  d z  dfddz  f didd      S )NrV   r0   rR   r4   r   )r    r	   r   r  s   rB   r   z/test_symbolic_plotting_ranges.<locals>.<lambda>  sK    (AE
CAJA261~2q1u~1v!# rD   )r6   r'   r   r   r   r$   r   r   r	   r   r   r   r    )r   r   r;   r>   r  r  r9   r:   s       @@@@rB   test_symbolic_plotting_rangesr  a  s   #$O,MAq!Q) 
s1v1ay5B	GB	s1v1ay!Q1"
BBQQ$% :NP 
 AAAq	ER	PB	AAAq	1aA,"
BBQQ$% :	12 
 AAAq!9"
B	AAAq!91a|er
3BBQQ$% :	12 
"#adQTk"2QRL1rc2,1
$B	!#adQTk"2Qaa4H	
RC!GR!VaAq\1
$B BQQ$% :	$%
 :	$%
 
!AE
CAJA2qzAr1:!
KB	 AE
CAJA261~2q1u~1a|a
)B BQQ$% :	#$rD   c                     t         st        d       t        d      } t        |       t        j
                  z   d| t        j
                  z
  dz  z
  z  }t        t        dd      5  t        || dd	fdd
t        t        dd                  }|j                         \  }}t         j                  |      j                         rJ t         j                  t         j                  |            dk(  sJ t        |      d
kD  sJ 	 d d d        t!        t        |             t#        |       z  }t!        t        |             t%        |       z  }t        t        dd      5  t'        ||| ddfdd
t        t        dd                  }|j                         \  }}}t         j                  |      j                         rJ t         j                  t         j                  |            dk(  sJ t         j                  t         j                  |            dk(  sJ t        |      d
kD  sJ 	 d d d        y # 1 sw Y   1xY w# 1 sw Y   y xY w)Nr+   r9   rR   r0   z5NumPy is unable to evaluate with complex numbers someFrM   r   r   r  r   r   )r2   rH   excluder         r   )r6   r'   r   r   r   Halfr%   r]   r   listranger7   rZ   rY   count_nonzeror8   r   r	   r   r   )r9   r   r   r   r   e1e2pps           rB   test_exclude_pointsr    s   #$A!Hqvv!q166zAo"56D	I!

 

 "$D##r1&(B88B<##%%%-2222w}}
 
U1XQ	B	U1XQ	B	I!

 
 #2rAq":q"&(ZZ\
B88B<##%%%-333-3332w}} 
 
 s   %BH1CH>1H;>Ic            	         t         st        d       t        d      \  } }d| dz  d| dz  z  z   | z   z  }t        |j	                  | t
        |z  dz  t        z              }t        ||ddfdd	d
d	      }t        ||ddfdd	d
d      }t        ||ddfdd	d
ddi      }|j                         \  }}|j                         \  }}	|j                         \  }
}t         j                  ||      sJ t        d ||	|fD              sJ t         j                  ||	      rJ t         j                  ||      rJ t         j                  |	|      rJ y )Nr+   r,   rR   rU   r0   gh㈵>g     j@r   Fr.   )r   r2   rH   unwrapTperiodr   c              3   d   K   | ](  }t         j                  |      j                           * y wr   )r6   rZ   rY   )rw   r.  s     rB   ry   ztest_unwrap.<locals>.<genexpr>  s"     ;288A;??$$;s   .0)r6   r'   r   r   r^   r   r   r   r7   rX   r   )r9   r:   r   r;   r>   r@   r<   r  r?   r  rA   r  s               rB   test_unwrapr    sS   #$6?DAq1qAv!"DtyyAaCE"H%&D	ta%5e"U
,B	ta%5e"T
+B	ta%5e"h]
4B[[]FB[[]FB[[]FB;;r2;r2rl;;;;{{2r"""{{2r"""{{2r""""rD   N)Tsympyr   r   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   sympy.externalr   sympy.plotting.seriesr   r   r   r   r   r    r!   r"   r#   sympy.testing.pytestr$   r%   r&   r'   r(   r6   rC   rp   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r$  r)  r8  r<  r[  rc  ri  rp  rv  r  r  r  r  r  r  r  r  r  r  r  r  r  ru   rD   rB   <module>r     sc        
 )  
 M L7':m#`Q8,'TCFL,:HVLN^",J)X<*~'B%8F`R$N"6"0JXvH(V7B &aH/<G<@((MV4%n 0  @8*!ZO6 % %B!(	EL$^"J#rD   