
    \hf                        S SK JrJrJrJrJrJrJrJrJ	r	J
r
JrJrJrJrJrJrJrJrJrJrJrJrJr  S SKJr  S SKJrJrJrJrJrJ r J!r!J"r"J#r#  S SK$J%r%J&r&J'r'J(r(J)r)  \" S5      r*S r+S r,S r-S	 r.S
 r/S r0S r1S r2S r3S r4S r5S r6S r7S r8S r9S r:S r;S r<S r=S r>S r?S r@S rAS rBS rCS rDS  rES! rFS" rGS# rH\'S$ 5       rIS% rJS& rKS' rL\'S( 5       rMS) rNS* rOS+ rPS, rQS- rRS. rSg/)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                  j   [         (       d  [        S5        [        S5      u  p[        [	        U 5      U SS4SSSS9nUR                  5       u  p4[        [	        U 5      U SS4SSS	S9nUR                  5       u  pd[        [	        U 5      U SS4SSS
9nUR                  5       u  p[        U5      [        U5      s=:  a  [        U5      :  d   e   e[        [        U 5      [	        U 5      U SS[        -  4SSS9nUR                  5       u  n  n[        [        U 5      [	        U 5      U SS[        -  4SS	S9nUR                  5       u  n  n[        [        U 5      [	        U 5      U SS[        -  4SS
9nUR                  5       u  n  n[        U5      [        U5      s=:  a  [        U5      :  d   e   eg )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	            X/var/www/auris/envauris/lib/python3.13/site-packages/sympy/plotting/tests/test_series.pytest_adaptiverC      s   2#$6?DA	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                  H   [         (       d  [        S5        [        S5      u  p[        [	        U 5      U [
        * [
        4SSSS9nUR                  5       u  p4[        [	        U 5      U [
        * [
        4SSSSS9nUR                  5       u  pg[        [	        U 5      U [
        * [
        4SSSS	S9nUR                  5       u  p[        [	        U 5      U [
        * [
        4SSS
S9nUR                  5       u  p[         R                  X65      (       a4  [         R                  X95      (       a  [         R                  X<5      (       d   e[         R                  [         R                  U5      5      (       a   e[         R                  [         R                  U
5      5      (       a   e[         R                  [         R                  U5      5      (       d   e[         R                  [         R                  U5      5      (       d   e[        UR                  5      [        UR                  5      s=:X  a  S:X  d   e   e[        UR                  5      S:X  d   e[         R                  [         R                  UR                  5      [         R
                  S-  5      (       d   e[        [        SSS9   [        [        U 5      U SS4SSSS9n[        [        U 5      U SS4SSSSS9n[        [        U 5      U SS4SSS
S9nUR                  5       u  p4UR                  5       u  pgUR                  5       u  p[         R                  X65      (       a  [         R                  X95      (       d   e[         R                  [         R                  U5      5      (       a   e[         R                  [         R                  U5      5      (       a-  [         R                  [         R                  U5      5      (       d   e[         R                  XGSS9(       a   e[        UR                  5      S:X  d   e S S S 5        [        [	        X-  5      U [
        * [
        4US0SSSS9nUR                  5       u  p4[        [	        X-  5      U [
        * [
        4US0SSSSS9nUR                  5       u  pg[        [	        X-  5      U [
        * [
        4US0SSSS	S9nUR                  5       u  p[        [	        X-  5      U [
        * [
        4US0SSS
S9nUR                  5       u  p[         R                  X65      (       a4  [         R                  X95      (       a  [         R                  X<5      (       d   e[         R                  [         R                  U5      5      (       a   e[         R                  [         R                  U
5      5      (       a   e[         R                  [         R                  U5      5      (       d   e[         R                  [         R                  U5      5      (       d   e[        UR                  5      [        UR                  5      s=:X  a  S:X  d   e   e[        UR                  5      S:X  d   e[         R                  [         R                  UR                  5      [         R
                  S-  5      (       d   e[        [        SSS9   [        SSS9u  p[!        S5      S-  nU["        U-  -   U-  n[%        U5      ['        U5      nn[)        UR+                  US5      UR+                  US5      USS4SSSS9n[)        UR+                  US5      UR+                  US5      USS4SSSS9nS S S 5        [-        [.        5         UR                  5       u  p4n[         R                  U5      R                  5       (       a   eUR                  5       u  pgn[         R                  U5      R                  5       (       d   e S S S 5        [        [        SSS9   X-  U ["        -  W-  -   W-  n[%        U5      ['        U5      nn[)        UR+                  US5      UR+                  US5      USS4U S0SSSS9n[)        UR+                  US5      UR+                  US5      USS4U S0SSSS9nS S S 5        [-        [.        5         UR                  5       u  p4n[         R                  U5      R                  5       (       a   eUR                  5       u  pgn[         R                  U5      R                  5       (       d   e S S S 5        g ! , (       d  f       GN)= f! , (       d  f       GN= f! , (       d  f       GNq= f! , (       d  f       N= f! , (       d  f       g = f)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   2#$6?DA	s1vB3|$U
4B{{}HC	s1vB3|$Tt
=B{{}HC	s1vB3|$Tu
>B{{}HC	s1vB3|$Z
9B{{}HC;;s  R[[%:%:r{{3?T?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=;;=;;=;;={{3$$S)>)>>>66"((3-((((vvbhhsm$$)>)>>>;;s4;8882%%&",,,'

* 
s15zAsB<A$U
4B{{}HC	s15zAsB<A$Tt
=B{{}HC	s15zAsB<A$Tu
>B{{}HC	s15zAsB<A$Z
9B{{}HC;;s  R[[%:%:r{{3?T?TTTvvbhhsm$$$$vvbhhsm$$$$66"((3-    66"((3-    r!!"c"*<*<&=BBBBBBr!!"a''';;rvvb00125519====	L!


 vD)aD1HQYN!ube1#AFF1bM166!R=1b!*d8#AFF1bM166!R=1b!*d7

 
	(#88C=$$&&&&#xx}  """"	 
) 
L!


 UQUQY"!ube1#AFF1bM166!R=AJ1vt%9 $AFF1bM166!R=AJ1vt$8

 
	(#88C=$$&&&&#xx}  """"	 
)	(Y

 

X

 

 
)	(

 

 
)	(sA   /E:eB"e
A;e0BfA;f
e
e-0
e?
f
f!c                  N   [         (       d  [        S5        [        S5      u  pn[        [        [
        4 HJ  n[        SS0U5      n[        S/ SQ0U5      n[        SS0U5      n[        S XEU4 5       5      (       a  MJ   e   [        [        [        [        4 Hb  n[        SS0U5      n[        S/ SQ0U5      n[        SSS	.U5      nUS   US
   s=:X  a  S:X  d   e   e[        S XV4 5       5      (       a  Mb   e   [        [        U 5      U SS4SSS9R                  5         g )Nr+   zx:zrH   r.   )r.         rW   c              3   J   #    U  H  nS U;   =(       a    US    S:H  v   M     g7f)rW   r.   N .0kws     rB   	<genexpr>4test_number_discretization_points.<locals>.<genexpr>   s$     M_rDBJ2BtHN2_s   !#rr   rW   n2r|   c              3   N   #    U  H  oS    S:H  =(       a    US   S:H  v   M     g7f)rW   r.   r|   rr   Nru   rv   s     rB   ry   rz      s&     N:RtHN8DR8:s   #%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      s(    2#$enGA!$&< (#rB7(#|)<bA($R8Mc_MMMMM  (8O(#rB7(#|)<bA(")=rB4yCI++++++NC:NNNNN #a&1b!*uENNPrD   c                    ^^ [         (       d  [        S5        [         R                  SSS5      m[         R                  T5      n [         R                  SSS5      m[	        TU 5      nUR
                  (       a   e[        [        UU4S j5        [	        TU 5      nUR                  5       u  p#[         R                  TU5      (       d   e[         R                  X5      (       d   eUR
                  (       a   eg )Nr+   rU   r.   rr   c                     > [        T T5      $ Nr#   )xxrd   s   rB   <lambda>#test_list2dseries.<locals>.<lambda>   s    |B4rD   )
r6   r'   linspacer	   r#   is_parametricr$   
ValueErrorr7   rX   )rb   sxxsyysr   rd   s       @@rB   test_list2dseriesr      s    2#$	RB	B
&&*C
++b!R
 C 	RA
:45 	RAzz|HC;;r3;;s    rD   c            	      @   [        S5      u  pp#n[        [        U 5      U SS45      nUR                  (       a   e[        U[        U 5      -  U SS4US0S9nUR                  (       d   e[	        [        U 5      [        U 5      U SS45      nUR                  (       a   e[	        U[        U 5      -  U[        U 5      -  U SS4US0S9nUR                  (       d   e[        [        U 5      [        U 5      X SS45      nUR                  (       a   e[        U[        U 5      -  U[        U 5      -  X SS4US0S9nUR                  (       d   e[        [        X-  5      U SS4USS45      nUR                  (       a   e[        U[        X-  5      -  U SS4USS4US0S9nUR                  (       d   e[        [        X-  5      U SS4USS45      nUR                  (       a   e[        U[        X-  5      -  U SS4USS4US0S9nUR                  (       d   e[        U[        U5      -  U[        U5      -  X4-   USS4USS45      nUR                  (       a   e[        U[        X@-  5      -  U[        U5      -  X4-   USS4USS4U S0S9nUR                  (       d   eg )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,MA!c!fq"aj1Aa#a&j1b!*aVDAs1vs1v2qz:Aq3q6z1s1v:2qz1v	As1vs1vqb!*=Aq3q6z1s1v:qb!*1v	A QUaQZ!RDA SZ!RaQZ1v	Ac!%j1b!*q"aj9Aa#ae*nq"aj1b!*1v	ACF
AAJ	
B
QAJ	 ACJCF
AE	
B
QAJ1v	/ArD   c                  	   [         (       d  [        S5        [        S5      u  pn[        X SS4SSSS9nUR	                  5       u  pE[         R                  US   US	   -
  US
   US   -
  5      (       d   e[        X SS4SSSS9nUR	                  5       u  pE[         R                  US   US	   -
  US
   US   -
  5      (       a   e[        [        U 5      [        U 5      U [        S-  S[        -  4SSSS9nUR	                  5       u    pV[         R                  US   US	   -
  US
   US   -
  5      (       d   e[        [        U 5      [        U 5      U [        S-  S[        -  4SSSS9nUR	                  5       u    pV[         R                  US   US	   -
  US
   US   -
  5      (       a   e[        [        U 5      [        U 5      X [        S-  S[        -  4SSSS9nUR	                  5       u      pV[         R                  US   US	   -
  US
   US   -
  5      (       d   e[        [        U 5      [        U 5      X [        S-  S[        -  4SSSS9nUR	                  5       u      pV[         R                  US   US	   -
  US
   US   -
  5      (       a   e[        [        U S-  US-  -   5      U SS4USS4SSSS9nUR	                  5       u  pGn[         R                  US   US   -
  US   US   -
  5      (       d   e[         R                  US   US   -
  US   US   -
  5      (       d   e[        [        U S-  US-  -   5      U SS4USS4SSSS9nUR	                  5       u  pGn[         R                  US   US   -
  US   US   -
  5      (       a   e[         R                  US   US   -
  US   US   -
  5      (       a   e[        [        U S-  US-  -   5      S	:  U SS4USS4SSSSSS9nUR	                  5       u  pG  n[         R                  US   US   -
  US   US   -
  5      (       d   e[         R                  US   US   -
  US   US   -
  5      (       d   e[        [        U S-  US-  -   5      S	:  U SS4USS4SSSSS9nUR	                  5       u  pG  n[         R                  US   US   -
  US   US   -
  5      (       a   e[         R                  US   US   -
  US   US   -
  5      (       a   eg )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      sH   2#$i GA!aQer	AJJLEB::bebemRVbf_5555aQer	AJJLEBzz"Q%"Q%-B"R&9999AABFC"H-	A **,KAq::eAhq)59uRy+@AAAAAABFC"H-	A **,KAqzz%(U1X-uRy59/DEEEEAArAvsRx05B	A ZZ\NAq!::eAhq)59uRy+@AAAAAArAvsRx05B	A ZZ\NAq!zz%(U1X-uRy59/DEEEE AFQ!VOq!Qi!Qb	*A 

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

IBAzz"T(RX-r%y2e9/DEEEEzz"T(RX-r%y2e9/DEEEEAFQ!VOq 1a)aAY"Xh	HA ::<LBAq::bhD)2e9r%y+@AAAA::bhD)2e9r%y+@AAAAAFQ!VOq 1a)aAY
U55	:A ::<LBAqzz"T(RX-r%y2e9/DEEEEzz"T(RX-r%y2e9/DEEEEErD   c            	      t   [         (       d  [        S5        [        S5      u  pp#n[        / SQ/ SQ5      n[	        UR
                  [        5      (       d   e[        SUSS45      n[	        UR
                  [        5      (       d   e[        [        U5      [        U5      US[        45      n[	        UR
                  [        5      (       d   e[        [        U5      [        U5      X"SS	[        -  45      n[	        UR
                  [        5      (       d   e[        X#-   US
S	4USS45      n[	        UR
                  [        5      (       d   e[        X#-   US
S	4USS45      n[	        UR
                  [        5      (       d   e[        SX#USS4USS45      n[	        UR
                  [        5      (       d   eg )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   @  so   2#$K(MA!Y	*Aannd++++a!R,Aannd++++s1vs1v1bz:Aannd++++s1vs1vqaR.AAannd++++ B
QAJ?Aannd++++aeaQZ!R4Aannd++++1!QQ1I>Aannd++++rD   c            	         [         (       d  [        S5        [        S5      u  pp#[        SUSS45      nUR	                  5       u  pV[        U5      [        U5      :X  d   e[         R                  US:H  5      (       d   e[        SUSS4SSS9nUR	                  5       u  pV[        U5      [        U5      s=:X  a  S:X  d   e   e[         R                  US:H  5      (       d   e[        [        U5      SUS	[        45      nUR	                  5       u  pVn[        U5      [        U5      :X  a  [        U5      [        U5      :X  d   e[         R                  US:H  5      (       d   e[        S[        U5      US	[        45      nUR	                  5       u  pVn[        U5      [        U5      :X  a  [        U5      [        U5      :X  d   e[         R                  US:H  5      (       d   e[        [        U5      SUS	[        4SS
9nUR	                  5       u  pVn[        U5      [        U5      :X  a  [        U5      [        U5      :X  d   e[         R                  US:H  5      (       d   e[        S[        U5      US	[        4SS
9nUR	                  5       u  pVn[        U5      [        U5      :X  a  [        U5      [        U5      :X  d   e[         R                  US:H  5      (       d   e[        [        U5      [        U5      SUS	S[        -  45      nUR	                  5       u  pVp[        U5      [        U5      :X  a0  [        U5      [        U5      :X  a  [        U5      [        U5      :X  d   e[         R                  US:H  5      (       d   e[        [        U5      SXS	S[        -  45      nUR	                  5       u  pVp[        U5      [        U5      :X  a0  [        U5      [        U5      :X  a  [        U5      [        U5      :X  d   e[         R                  US:H  5      (       d   e[        S[        U5      XS	S[        -  45      nUR	                  5       u  pVp[        U5      [        U5      :X  a0  [        U5      [        U5      :X  a  [        U5      [        U5      :X  d   e[         R                  US:H  5      (       d   e[        SUSS4USS45      nUR	                  5       u  pVnUR                  UR                  :X  a  UR                  UR                  :X  d   e[         R                  US:H  5      (       d   e[        SXUS	S4US	S45      nUR	                  5       u  pVpn
UR                  UR                  s=:X  a3  UR                  s=:X  a"  U	R                  s=:X  a  U
R                  :X  d   e   e[         R                  US:H  5      (       d   e[        SSX!S	S4US	S45      nUR	                  5       u  pVpn
UR                  UR                  s=:X  a3  UR                  s=:X  a"  U	R                  s=:X  a  U
R                  :X  d   e   e[         R                  US:H  5      (       d   e[        USSUS	S4US	S45      nUR	                  5       u  pVpn
UR                  UR                  s=:X  a3  UR                  s=:X  a"  U	R                  s=:X  a  U
R                  :X  d   e   e[         R                  US:H  5      (       d   eg )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    2#$"JA! 	a!R,AZZ\FBr7c"g66"'???a!RerBAZZ\FBr7c"g######66"'???s1vq1a*5AJJLMBEGs2wSWE
%:;;66"'???q#a&1a*5AJJLMBEGs2wSWE
%:;;66"'???s1vq1a*uEAJJLMBEGs2wSWE
%:;;66"'???q#a&1a*uEAJJLMBEGs2wSWE
%:;;66"'???s1vs1vq1aR.AA

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

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

BBGs2wSWB%7c"gU>STT66"'??? QAJB
;AJBBHH rxx288';<<66"'???1!QQ1I>ABBB88rxxC288CrxxC288CCCCC66"'???1aQQ1I>ABBB88rxxC288CrxxC288CCCCC66"'???1a!QQ1I>ABBB88rxxC288CrxxC288CCCCC66"'???rD   c            
      R   [         (       d  [        S5        [        S5      u  pp#[        [	        U 5      U SS4SSSS9nUR                  5       u  pV[        U5      S	:X  d   eUS
   S:X  a	  US   S:X  d   e[        [        U 5      [	        U 5      U S
S[        -  4SSSS9nUR                  5       u    pg[        U5      S:X  d   eUS
   S
:X  a	  US   S:X  d   e[        [        U 5      [	        U 5      X S
S[        -  4SSSS9nUR                  5       u      pg[        U5      S:X  d   eUS
   S
:X  a	  US   S:X  d   e[        [        U S-  US-  -   5      U SS4USS4SSSS9nUR                  5       u  pXnUR                  UR                  s=:X  a  S:X  d   e   e[         R                  US S 2S
4   S[         R                  S5      -  -
  S
5      (       d   e[         R                  US
S S 24   [         R                  SSS5      -
  S
5      (       d   e[         R                  US S 2S
4   [         R                  SSS5      -
  S
5      (       d   e[         R                  US
S S 24   S[         R                  S5      -  -
  S
5      (       d   eS[	        SU-  SU-  -   5      -   n	U	[        U5      -  [	        U5      -  U	[	        U5      -  [	        U5      -  U	[        U5      -  4n
[!        / U
QUS
S[        -  4PUS
[        4PSP7SSS.6nUR                  5       u  pXpnUR                  UR                  s=:X  a:  UR                  s=:X  a)  UR                  s=:X  a  UR                  s=:X  a  S:X  d   e   e[        SU SS4SSSS9nUR                  5       u  pV[        U5      S	:X  d   eUS
   S:X  a	  US   S:X  d   e[        [        U 5      SU S
S[        -  4SSSS9nUR                  5       u    pg[        U5      S:X  d   eUS
   S
:X  a	  US   S:X  d   e[        SU SS4USS4SSSS9nUR                  5       u  pXnUR                  UR                  s=:X  a  S:X  d   e   e[         R                  US S 2S
4   S[         R                  S5      -  -
  S
5      (       d   e[         R                  US
S S 24   [         R                  SSS5      -
  S
5      (       d   e[         R                  US S 2S
4   [         R                  SSS5      -
  S
5      (       d   e[         R                  US
S S 24   S[         R                  S5      -  -
  S
5      (       d   eS[	        SU-  SU-  -   5      -   n	U	[        U5      -  [	        U5      -  SU	[        U5      -  4n
[!        / U
QUS
S[        -  4PUS
[        4PSP7SSS.6nUR                  5       u  pXpnUR                  UR                  s=:X  a:  UR                  s=:X  a)  UR                  s=:X  a  UR                  s=:X  a  S:X  d   e   eg )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   2#$&JA!c!fq$nbd	,AJJLEBr7b==a5B;2b6Q;&&s1vs1v1a"f~rd	,AjjlGAqq6Q;;Q4192!##s1vs1vqaR."d	,AJAq!q6Q;;Q4192!## QTAqD[!1AtS>	
D#d	,A 

IBA88rxx*7*****;;r!Q$x2"33Q7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8	CAAA	CF
SV	CF
SV	CF
D
 	  	, 	,1a"f~ 	,1bz 	,2 	,d	,ABBB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

IBA88rxx*7*****;;r!Q$x2"33Q7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8	CAAA	CF
SV		CF
D
 	  	, 	,1a"f~ 	,1bz 	,2 	,d	,ABBB88rxxM288MrxxM288MvMMMMMrD   c            	      >   [         (       d  [        S5        [        S5      u  p[        [	        U 5      U SS4SSSS9nUR
                  (       d  UR                  (       d   e[        [	        U 5      U SS4SSSS9nUR
                  (       a  UR                  (       a   e[        / S	Q/ S
QSSS9nUR
                  (       d  UR                  (       d   e[        / S	Q/ S
QSSS9nUR
                  (       a  UR                  (       a   e[        [	        U 5      [        U 5      U SS4SSS9nUR
                  (       d  UR                  (       d   e[        [	        U 5      [        U 5      U SS4SSS9nUR
                  (       a  UR                  (       a   e[        [	        U 5      [        U 5      X SS4SSS9nUR
                  (       d  UR                  (       d   e[        [	        U 5      [        U 5      X SS4SSS9nUR
                  (       a  UR                  (       a   eg )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    2#$6?DAc!fq"aj"$	(A

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

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

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

++s1vs1vqb!*	(A::q{{++{rD   c                      [        S5      u  p[        U S-  US-  -   5      nU SS4USS44n[        U/UQ76 nUR                  (       d   e[        U/UQ7SS06nUR                  (       d   e[        U/UQ7SS06nUR                  (       a   eg )Nr,   r0   rV   r   TF)r   r	   r   r   )r9   r:   r   rangesr   s        rB   test_is_filled_2dr     s    6?DAq!tad{DQZ!R#Fd$V$A;;;d4V4t4A;;;d5V5u5A{{?{rD   c            
      L   [         (       d  [        S5        [        S5      u  pS n[        [	        U 5      U SS4SSSSS	9n[        [	        U 5      U SS4SSSS
S	9nU" X45        [        / SQ/ SQSS9n[        / SQ/ SQS
S9nU" X45        [        [	        U 5      [        U 5      U SS4SSSS	9n[        [	        U 5      [        U 5      U SS4SSS
S	9nU" X45        [        [	        U 5      [        U 5      X SS4SSSS	9n[        [	        U 5      [        U 5      X SS4SSS
S	9nU" X45        g )Nr+   rF   c                 F   U R                   (       d6  U R                  (       a%  U R                  5       u  p#UR                  5       u  pCOU R                   (       a:  U R                  (       a)  U R                  5       u  n  nUR                  5       u  n  nOuU R                   (       d:  U R                  (       a)  U R                  5       u  n  nUR                  5       u  n  nO*U R                  5       u  n    nUR                  5       u  n    n[	        U5      [	        U5      :w  d   eg r   )r   	is_2Dliner7   	is_3Dliner8   )r;   r>   ra   r=   rc   s        rB   do_test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   +  s0   2#$6?DA$ 
s1v2qz2"E
+B	s1v2qz2"D
*BBO	i%	8B	i$	7BBO	AAB
"E
+B	AAB
"D
*BBO	AAr1:"E
+B	AAr1:"D
*BBOrD   c                  R   [         (       d  [        S5        [        S5      u  pp#S n[        U [	        U5      -  USS4U S0SS9n[        [	        U5      USS4S	SS
9nU" UR                  5       UR                  5       5        [        U [	        U5      -  U [        U5      -  USS4U S0SS9n[        [	        U5      [        U5      USS4S	SS
9nU" UR                  5       UR                  5       5        [        U [	        U5      -  U [        U5      -  X-  USS4U S0SS9n[        [	        U5      [        U5      XSS4S	SS
9nU" UR                  5       UR                  5       5        [        U [	        US-  US-  -   5      -  USS4USS4U S0SSS9n[        [	        US-  US-  -   5      USS4USS4S	SSS9nU" UR                  5       UR                  5       5        [        U [	        X-   5      -  [        X-   5      X-
  USS4USS4U S0SSS9n[        [	        X-   5      [        X-   5      X-
  USS4USS4S	SSS9nU" UR                  5       UR                  5       5        [        US-  S-   US-  S-
  -  5      n[        X-  USS4S	SS U S0S9n[        XsSS4S	SS S9nU" UR                  5       UR                  5       5        [        US-  S-   US-  S-
  -  5      n[        X-  USS4SSU S0S9n[        XsSS4S	SSS9nU" UR                  5       UR                  5       5        g )Nr+   r   c                     [        U 5      [        U5      :X  d   e[        X5       H!  u  p#[        R                  X#5      (       a  M!   e   g r   r8   zipr6   rX   data1data2d1d2s       rB   r   &test_interactive_data.<locals>.do_test_  >    5zSZ'''%'FB;;r&&&& (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  sP    2#$"JA!'
 
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2qz1v
B 
 AAr1:"
BBKKM2;;=)	!	CQa  1b!*q"aj1v"
&B 
"AFQ!VOq"aj1b!*2"
&B BKKM2;;=)	 	CJAE
AEAr1:2qz1v"
&B 
!AE
CJ2qzAr1:2"
'B BKKM2;;=) qAvza1fqj)*D	qx!ReraV
%B	tQZ%2
BBKKM2;;=) qAvza1fqj)*D	qx!Rr81v
B	tQZ"h
0BBKKM2;;=)rD   c                    ^^^ [         (       d  [        S5        [        S5      u  mmm[        / SQ/ SQ5      n U R                  (       a   e[        [        U4S j5        [        [        UUU4S j5        [        [        T5      /[        T5      /TS0S9n U R                  (       d   e[        TSS	S
/S
S	ST/TS	0S9n U R                  5       u  p[         R                  U/ SQ5      (       d   e[         R                  U/ SQ5      (       d   eU R                  (       a   e[        / SQ/ SQTS0S9n U R                  (       d   e[        U R                  [        5      (       d   e[        U R                  [        5      (       d   eg )Nr+   x, y, ur   c                  D   > [        [        T 5      /[        T 5      /5      $ r   r#   r	   r   r9   s   rB   r   /test_list2dseries_interactive.<locals>.<lambda>  s    |SVHs1vh?rD   c                  J   > [        [        T5      T/[        T5      S/T S0S9$ )Nr0   rR   r   r   )r`   r9   r:   s   rB   r   r     s"    c!fa[3q61+q!fErD   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     sC   2#$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            	         [         (       d  [        S5        [        S5      u  p[        [	        [        U * 5      5      U SS4SS SS9n[        [	        [        U * 5      5      U SS4SSSS9nUR                  5       u  pEUR                  5       u  pg[         R                  US:  5      (       d   e[         R                  US:  5      (       d   e[        [	        [        U * 5      5      U S	S4S
SS SS9n[        [	        [        U * 5      5      U S	S4S
SSSS9nUR                  5       u  pEUR                  5       u  pg[         R                  XF5      (       d   e[         R                  XW5      (       a   eg )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     sD    2#$6?DA	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;;s    {{3$$$$$rD   c            
      t   [        S5      u  pp#[        [        U5      USS45      n[        U5      S:X  d   eSS0n[        [        U5      USS440 UD6n[        U5      S:X  d   eSS0n[        [        U5      USS440 UD6n[        U5      S	:X  d   eSS
0n[        [        U5      USS440 UD6n[        U5      S:X  d   eSS0n[        [        U5      USS440 UD6n[        U5      S:X  d   e[        [        X-  5      USS4U S0S9n[        U5      S:X  d   e[        [        X-  5      X* SU-  4U SUS0S9n[        U5      S:X  d   e[	        [        U5      [        U5      USS45      n[        U5      S:X  d   e[	        [        X-  5      [        U5      USS4U S0S9n[        U5      S:X  d   e[	        [        X-  5      [        U5      X* SU-  4U SUS0S9n[        U5      S:X  d   e[        [        U5      [        U5      XSS45      n[        U5      S:X  d   e[        [        X-  5      [        U5      XSS4U S0S9n[        U5      S:X  d   e[        [        X-  5      [        U5      XU * SU-  4U SUS0S9n[        U5      S:X  d   e[        [        X-  5      USS4USS45      n[        U5      S:X  d   e[        [        X-  U-  5      USS4USS4U S0S9n[        U5      S:X  d   e[        [        X-  U-  5      USU -  S4USSU -  4U S0S9n[        U5      S:X  d   e[        [        X-  5      USS4USS45      n[        U5      S:X  d   e[        [        X-  U-  5      USS4USS4U S0S9n[        U5      S:X  d   e[        [        X-  5      [        X-  5      X-  USS4USS45      n[        U5      S:X  d   e[        [        X-  U-  5      [        X-  5      X-  USS4USS4U S0S9n[        U5      S :X  d   e[        X:  US!S"4US#S$45      n[        U5      S%:X  d   eg )&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   "JA!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!%j1b!*aVDAq6ffffc!%j1b!A#,1a|LAq6ffffs1vs1v2qz:Aq6YYYYs15z3q6Ar1:q!fMAq6{{{{s15z3q6Ar1Q3<AqQRTAq6{{{{s1vs1vqb!*=Aq6____s13xQAJ1vNAq6  B  B  B  Bs13xQAaCL!QPQSTVAq6  B  B  B  B QUaQZ!RDAq6```` QUQY!RaQZQRTUPVWAq6  C  C  C  C QUQY!RT12qs|UVXYTZ[Aq6  C  C  C  Cc!%j1b!*q"aj9Aq6VVVVc!%!)nq"aj1b!*aVLAq6xxxxAE
CJ	
B
QAJ	 Aq6||||AEAIAE
AE	
B
QAJ1v	/Aq6  _  _  _  _quq"aj1b!*5Aq6____rD   c            	      0   [         (       d  [        S5        [        S5      u  pp#[        / SQ/ SQSS9nUR                  (       d   e[        / SQ/ SQSS9nUR                  (       a   e[        [        U5      [        U5      USS	4SS9nUR                  (       d   e[        [        U5      [        U5      USS	4SS9nUR                  (       a   e[        [        U5      [        U5      XSS	4SS9nUR                  (       d   e[        [        U5      [        U5      XSS	4SS9nUR                  (       a   e[        [        X-  5      USS	4US
S4SS9nUR                  (       d   e[        [        X-  5      USS	4US
S4SS9nUR                  (       a   e[        [        X-  5      [        X-  5      X-  USS	4US
S4SS9nUR                  (       d   e[        [        X-  5      [        X-  5      X-  USS	4US
S4SS9nUR                  (       a   eg )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   2#$"JA!\<=A88O8\<>Axx<s1vs1v2qz$GA88O8s1vs1v2qz%HAxx<s1vs1vqb!*	A88O8s1vs1vqb!*	Axx< QUaQZ!R	A88O8 QUaQZ!R	Axx<AE
CJ	
B
QAJt	-A88O8AE
CJ	
B
QAJu	.Axx<xrD   c            
         [        S5      u  pp#[        [        U S-  US-  -   5      U SS4USS45      n[        U[        U5      -  U[	        U5      -  UUSS4USS[
        -  45      nUR                  UR                  :X  d   e[        [        U S-  US-  -   5      U SS4USS4SS9n[        U[        U5      -  U[	        U5      -  UUSS4USS[
        -  4SS9nUR                  UR                  :X  d   e[        [        U S-  US-  -   5      U SS4USS4SS9n[        U[        U5      -  U[	        U5      -  UUSS4USS[
        -  4SS9nUR                  UR                  :X  d   eg )	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    &JA! 
"#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                    ^ [         (       d  [        S5        [        S5      u  pnS n[        [	        SX-  -  U SS45      USS4SS	S
9mTR                  5       u  pE[        [	        SU -  U SU45      USS4SS	S
9nUR                  5       u  px[        [	        X -  U SU45      USS4US0S	S9n	U	R                  5       u  pUR                  [        5      nU
R                  [        5      n
U" Xx/X/5        [        [	        SU -  U SU45      USS4S	S9m[        [        SSS9   [        [        U4S j5        S S S 5        g ! , (       d  f       g = f)Nr+   r   c                     [        U 5      [        U5      :X  d   e[        X5       H!  u  p#[        R                  X#5      (       a  M!   e   g r   r   r   s       rB   r   test_sums.<locals>.do_teste  r   rD   rR   rG   r0   r.   FTr   )rS   r   r5   z&The evaluation with NumPy/SciPy failedrM   c                  $   > T R                  5       $ r   )r7   )r   s   rB   r   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  ^  sO   2#$i GA!'
 	c!af*q!Tl;aBZd	,AZZ\FB	s1q51a)4q!Rjd
,B{{}HC	s151a)4q!Rj1vT
+B{{}HC
**U
C
**U
CSJ
#c!a%!Q3aBZ	A	6

 	y./
 
 
s   !D??
Ec                     [         (       d  [        S5        [        S5      u  pp#n[        [	        U 5      U S[
        -  S[
        -  4SSS9n[        [	        U 5      U S[
        -  S[
        -  4SS[         R                  S9n[        [	        U 5      U S[
        -  S[
        -  4SS[         R                  S	9n[        [	        U 5      U S[
        -  S[
        -  4SS[         R                  [         R                  S
9nUR                  5       u  pUR                  5       u  pUR                  5       u  pUR                  5       u  nn[         R                  U	S   S[         R
                  -  5      (       a/  [         R                  U	S   S[         R
                  -  5      (       d   eU
R                  5       S:  a  U
R                  5       S:  d   e[         R                  US   S5      (       a  [         R                  US   S5      (       d   eUR                  5       S:  a  UR                  5       S:  d   e[         R                  US   S[         R
                  -  5      (       a/  [         R                  US   S[         R
                  -  5      (       d   eUR                  5       S:  a  UR                  5       S:  d   e[         R                  US   S5      (       a  [         R                  US   S5      (       d   eUR                  5       S:  a  UR                  5       S:  d   e[         R                  S[         R
                  -  S[         R
                  -  S5      n[         R	                  U5      n[        UU5      n[        UU[         R                  [         R                  S9nUR                  5       u  pUR                  5       u  p[         R                  U	S   S[         R
                  -  5      (       a/  [         R                  U	S   S[         R
                  -  5      (       d   eU
R                  5       S:  a  U
R                  5       S:  d   e[         R                  US   S5      (       a  [         R                  US   S5      (       d   eUR                  5       S:  a  UR                  5       S:  d   e[        [        U 5      [	        U 5      U [
        * [
        4SSS9n[        [        U 5      [	        U 5      U [
        * [
        4SS[         R                  [         R                  [         R                  S9nUR                  5       u  pnUR                  5       u  pn[         R                  U	[         R!                  U5      5      (       d   e[         R                  U
[         R!                  U5      5      (       d   e[         R                  U[         R!                  U5      5      (       d   e[#        [        U 5      [	        U 5      X [
        * [
        4SSS9n[#        [        U 5      [	        U 5      X [
        * [
        4SS[         R                  S9nUR                  5       u  pnnUR                  5       u  pnn[         R                  X5      (       d   e[         R                  X5      (       d   e[         R                  UU5      (       d   e[         R                  U[         R!                  U5      5      (       d   e[%        [	        U S-  US-  -   5      U S[
        -  S[
        -  4US[
        -  S[
        -  4SSSS9n[%        [	        U S-  US-  -   5      U S[
        -  S[
        -  4US[
        -  S[
        -  4SSS[         R                  S S S9	nUR                  5       u  pnUR                  5       u  pn[         R                  U	[         R!                  U5      5      (       d   e[         R                  XS-  5      (       d   e[         R                  UUS-  5      (       d   e['        X4-   X4-
  X4-  USS[
        -  4US[
        4SSSS9n['        X4-   X4-
  X4-  USS[
        -  4US[
        4SSS[         R                  S S S9nUR                  5       u  pnnnUR                  5       u  pnnn[         R                  U	[         R!                  U5      5      (       d   e[         R                  XS-  5      (       d   e[         R                  UUS-  5      (       d   e[         R                  UU5      (       d   e[         R                  UU5      (       d   eg )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                     SU -  $ Nr0   ru   r   s    rB   r   'test_apply_transforms.<locals>.<lambda>      AaCrD   c                     SU -  $ NrU   ru   r   s    rB   r   r        acrD   )r2   rW   r|   r  r  tzrU   c                     SU -  $ r  ru   r   s    rB   r   r    r  rD   c                     SU -  $ r  ru   r   s    rB   r   r    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,    sO    2#$K(MA!	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FFFHtO"&&(S.11::beT""rzz"R&#'>'>>>FFHtO"&&(S.11::beRX&&2::bfag+F+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FFFHtO"&&(S.11::beT""rzz"R&#'>'>>>FFHsNB//	AARCu
<B	AARCu::"**
5B JBBJBB;;r2::b>****;;r2::b>****;;r2::b>****
 AAsB<%2?B	AAsB<%2"**
NB[[]NBB[[]NBB;;r;;r;;r2;;r2::b>****	!AqD1a4K1beQrT*Q2qt,<2"
&B 
"AqD1a4K1beQrT*Q2qt,<2"::-M
;B JBBJBB;;r2::b>****;;r6"""";;r26""""	 	quaeaAbD\Aq":2"
&B 
!	quaeaAbD\Aq":2"::-M
;B BBBBBB;;r2::b>****;;r6"""";;r26"""";;r2;;r2rD   c                     [         (       d  [        S5        [        S5      u  pp#nSn[        U 5      n[	        X`SS4S 5      n[	        X`SS4S5      nUR                  S5      [        U5      :X  d   eUR                  S5      U[        U5      -  :X  d   eUR                  S5      S:X  d   eUR                  S5      S:X  d   e[        / S	Q/ S	QS5      nUR                  S5      S:X  d   eUR                  S5      S:X  d   e[        U 5      [        U 5      4n[        / UQU SS4PS P7S
S06n[        / UQU SS4PSP7S
S06n[        / UQU SS4PS P7S
S06n	[        / UQU SS4PSP7S
S06n
UR                  S5      S:X  d   eUR                  S5      US-  :X  d   eUR                  S5      S:X  d   eUR                  S5      S:X  d   eU	R                  S5      [        U5      :X  d   eU	R                  S5      U[        U5      -  :X  d   eU
R                  S5      S:X  d   eU
R                  S5      S:X  d   e[        U 5      [        U 5      U 4n[        / UQU SS4PS P7S
S06n[        / UQU SS4PSP7S
S06n[        / UQU SS4PS P7S
S06n	[        / UQU SS4PSP7S
S06n
UR                  S5      S:X  d   eUR                  S5      US-  :X  d   eUR                  S5      S:X  d   eUR                  S5      S:X  d   eU	R                  S5      [        U5      :X  d   eU	R                  S5      U[        U5      -  :X  d   eU
R                  S5      S:X  d   eU
R                  S5      S:X  d   e[        U S-  US-  -   5      n[        X`SS4USS4S 5      n[        X`SS4USS4S5      nUR                  S5      [        U5      :X  d   eUR                  S5      U[        U5      -  :X  d   eUR                  S5      S:X  d   eUR                  S5      S:X  d   e[        X-
  5      [        X-   5      X-
  4n[        / UQU SS4PUSS4PS P76 n[        / UQU SS4PUSS4PSP76 nUR                  S5      [        U5      :X  d   eUR                  S5      U[        U5      -  :X  d   eUR                  S5      S:X  d   eUR                  S5      S:X  d   e[        [        X-
  5      S5      n[        X`SS4USS4S 5      n[        X`SS4USS4S5      nUR                  S5      [        U5      :X  d   eUR                  S5      U[        U5      -  :X  d   eUR                  S5      S:X  d   eUR                  S5      S:X  d   eg )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_labelsr1    s    2#$O,MA!Gq6D	tQZ	6B	t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<<&(((<<'''JAE
AE*D	 	E$	EB
	EQAJ	E	EB	 	G$	GB
	GQAJ	G	GB<<#d)+++<<5;!6666<<&(((<<'''c!%j!D	#rlQRL$	?B	#rlQRL&	AB<<#d)+++<<5;!6666<<&(((<<'''rD   c            
      z   [         (       d  [        S5        [        S5      u  p[        SU -  5      n[	        U[        U 5      -  U[        U 5      -  U SS[        -  4SSSSS9nUR                  5       u  pEn[	        U[        U 5      -  U[        U 5      -  U SS[        -  4SSS	SS9nUR                  5       u  pn
[         R                  XH5      (       d  [         R                  XY5      (       a   e[         R                  Xj5      (       d   e[	        U[        U 5      -  U[        U 5      -  U SS[        -  4SSSS
 S9nUR                  5       u  pn[	        U[        U 5      -  U[        U 5      -  U SS[        -  4SSS	S S9nUR                  5       u  nnn[         R                  UU5      (       a  [         R                  Xn5      (       a   e[         R                  X5      (       a  [         R                  X5      (       d   e[         R                  UU5      (       a  [         R                  UU	5      (       d   eg )Nr+   zt ur   r   r0   Fr.   )r2   rH   is_polarr   Tc                     SU -  $ r  ru   ts    rB   r   -test_is_polar_2d_parametric.<locals>.<lambda>@  s    1Q3rD   )r2   rH   r3  
color_funcc                     SU -  $ r  ru   r5  s    rB   r   r7  C  s    !A#rD   )	r6   r'   r   r   r   r	   r   r7   rX   )r6  r`   rk   r;   r<   r  p1r>   thrl   p2r@   rA   r!  p3rg   th4r4p4s                      rB   test_is_polar_2d_parametricrA  )  s    2#$5>DA
 	AE
A	CF
AAJAqt"uU
<BJBB	CF
AAJAqt"tE
;BIB2B##bkk".@.@AA;;r 
 CF
AAJAqt"u
HBJBB	CF
AAJAqt"t
GB++-KCR;;r2B(;(;<<;;r2;;r#6#666;;sBBKKA$6$666$6rD   c            	         [         (       d  [        S5        [        S5      u  pnU S-  S-
  S-  n[        X0SS4USS[        -  4SSSS	9n[        X0SS4USS[        -  4SSS
S	9nUR                  5       u  pgnUR                  5       u  pnU[         R                  U5      -  U[         R                  U5      -  p[         R                  X5      (       d   e[         R                  X5      (       d   eg )Nr+   zx, y, tr0   rR   r   r   r.   F)rH   r2   r3  T)	r6   r'   r   r   r   r7   r	   r   rX   )r9   r:   r6  r   r;   r>   r<   r  r&  r?   r   r'  x22y22s                 rB   test_is_polar_3drE  J  s     2#$i GA!qD1Hq=D	!$AsaAF^
uu
.B	!$AsaAF^
ut
-BJBBJBBBFF2JRVVBZ;;r;;rrD   c                     [         (       d  [        S5        [        S5      u  pp#n[         R                  SSS5      n[         R	                  U5      n[        XVS SS9nUR                  5       u  pn
[         R                  XX5      (       d   e[         R                  Xi5      (       d   e[         R                  S	U-  U
5      (       d   eUR                  (       d   e[        XVS
 SS9n[        UR                  5       5      S	:X  d   eUR                  (       a   e[        [	        U 5      [        U 5      U SS	[        -  4SSS S9nUR                  5       u  p[n
[         R                  XZ5      (       d  [         R                  X5      (       a   e[        [	        U 5      [        U 5      U SS	[        -  4SSS S9nUR                  5       u  p[n
[         R                  XU-  5      (       d   e[        [	        U 5      [        U 5      U SS	[        -  4SSS S9nUR                  5       u  p[n
[         R                  XU-  [         R                  SS	[         R                  -  S5      -  5      (       d   e[        [	        U 5      [        U 5      X SS	[        -  4SSS S9nUR                  5       u  p[p[         R                  XZ5      (       d  [         R                  X5      (       a   e[        [	        U 5      [        U 5      X SS	[        -  4SSS S9nUR                  5       u  p[p[         R                  XU-  U-  5      (       d   e[        [	        U 5      [        U 5      X SS	[        -  4SSS S9nUR                  5       u  p[p[         R                  XU-  U-  [         R                  SS	[         R                  -  S5      -  5      (       d   e[        [	        U S	-  US	-  -   5      U SS	4USS	4SSSS S9nUR                  5       u  p[nUR                  X[U5      n
[         R                  XZ5      (       d   e[        [	        U S	-  US	-  -   5      U SS	4USS	4SSSS S9nUR                  5       u  p[nUR                  X[U5      n
[         R                  X[-  U
5      (       d   e[        [	        U S	-  US	-  -   5      U SS	4USS	4SSSS S9nUR                  5       u  p[nUR                  X[U5      n
[         R                  X[-  U-  U
5      (       d   e[!        SXU SS4USS4SSSS S9	nUR                  5       u  p[pnUR                  X[XU5      n
[         R                  X5      (       d   e[!        SXU SS4USS4SSSS S9	nUR                  5       u  p[pnUR                  X[XU5      n
[         R                  X-  U
5      (       d   e[!        SXU SS4USS4SSSS S9	nUR                  5       u  p[pnUR                  X[XU5      n
[         R                  X[-  U-  U
5      (       d   e[!        SXU SS4USS4SSSS S9	nUR                  5       u  p[pnUR                  X[XU5      n
[         R                  X[-  U-  U-  U-  U
5      (       d   e[        SSS	U /U S	SS/S U S0SS 9nUR                  5       u  p[n
[         R                  U/ S!Q5      (       d   e[         R                  U/ S"Q5      (       d   e[         R                  S	U-  U
5      (       d   eUR                  (       a  UR"                  (       d   e[        SSS	U /U S	SS/S# U S0SS 9n[        UR                  5       5      S	:X  d   eUR                  (       a   eg )$Nr+   r   r   rU   r.   c                     SU -  $ r  ru   r9   r:   s     rB   r   !test_color_func.<locals>.<lambda>h      a!erD   T)r8  r   r0   c                     SU -  $ r  ru   rH  s     rB   r   rI  o  rJ  rD   Fr   c                     U $ r   ru   r5  s    rB   r   rI  t      1rD   r2   rH   r8  c                 
    X-  $ r   ru   rH  s     rB   r   rI  x  s    aerD   c                     X-  U-  $ r   ru   )r9   r:   r6  s      rB   r   rI  |  
    rD   c                     U $ r   ru   r5  s    rB   r   rI    rM  rD   c                     X-  U-  $ r   ru   r9   r:   r   s      rB   r   rI    rQ  rD   c                     X-  U-  U-  $ r   ru   )r9   r:   r   r6  s       rB   r   rI    s    AEAIMrD   rV   c                     U $ r   ru   r   s    rB   r   rI    s    1rD   r2   rW   r|   r8  c                 
    X-  $ r   ru   rH  s     rB   r   rI    s    aerD   c                     X-  U-  $ r   ru   rT  s      rB   r   rI    s
    rD   rR   c                     U $ r   ru   r`   s    rB   r   rI    s    !rD   c                 
    X-  $ r   ru   r`   rj   s     rB   r   rI    s    aerD   c                     X-  U-  $ r   ru   rT  s      rB   r   rI    s
    rD   c                     X-  U-  U-  U-  $ r   ru   )r9   r:   r   r`   rj   s        rB   r   rI    s    quqy1}q7HrD   r   c                     SU -  $ r  ru   rH  s     rB   r   rI        ArD   )r8  rS   r   )r   rR   r0   rR   r   c                     SU -  $ r  ru   rH  s     rB   r   rI    ra  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_funcre  ]  s    2#$O,MA! 
RB	B
&&*CR);DIAJJLMCc;;r;;s    ;;q2vs####???R);EJAqzz|!!!s1vs1v1ad|"	6A**,KBCB$$r{{2/C/CDDs1vs1v1ad|");	=A**,KBC;;sG$$$$s1vs1v1ad|")B	DA**,KBC;;sGbkk!QruuWb&AABBBBs1vs1vqa2,"	6AjjlOBBB$$r{{2/C/CDDs1vs1vqa2,")B	DAjjlOBB;;sGbL))))s1vs1vqa2,")I	KAjjlOBB;;sGbL2;;q!BEE'2+FFGGGG QTAqD[!1Ar1:2qz2"	>AJBB


BB
'C;;r QTAqD[!1Ar1:2qz2"1C	EAJBB


BB
'C;;rw$$$$ QTAqD[!1Ar1:2qz2"1J	LAJBB


BB
'C;;rw|S))))1!QQ1I"	-ABBB


BBB
/C;;r1!QQ1I"!3	5ABBB


BBB
/C;;rw$$$$1!QQ1I"!:	<ABBB


BBB
/C;;rw|S))))1!QQ1I"!H	JABBB


BBB
/C;;rw|b(2-s3333 	aAq\Aq!Q<%q!fT	CA**,KBC;;r<((((;;r<((((;;q2vs####??qxx''aAq\Aq!Q<%q!fU	DAqzz|!!!rD   c                  "   [         (       d  [        S5        [        S5      u  p[        [	        U 5      [        U 5      U SS[        -  4SSS S9nUR                  5       u  p4n[         R                  U[         R                  UR                  5      5      (       d   e[        [	        U 5      [        U 5      X SS[        -  4SSS	 S9nUR                  5       u  p4pe[         R                  U[         R                  UR                  5      5      (       d   e[        [	        U S-  US-  -   5      U S
S4US
S4SSSS S9nUR                  5       u  p4n[         R                  UR                  U5      [         R                  UR                  5      5      (       d   e[        SXU SS4USS4SSSS S9	nUR                  5       u  p4pgnUR                  X4XgU5      n[         R                  U[         R                  UR                  5      5      (       d   eg )Nr+   r,   r   r0   Fr.   c                     gNrR   ru   r5  s    rB   r   ,test_color_func_scalar_val.<locals>.<lambda>      1rD   rN  c                     grh  ru   r5  s    rB   r   ri    rj  rD   rV   c                     grh  ru   r   s    rB   r   ri    s    1rD   rW  rR   c                     grh  ru   r[  s    rB   r   ri    s    1rD   )r6   r'   r   r   r	   r   r   r7   rX   r   r   r   r   rc  r    )	r9   r:   r   r   r   rd  r   r   r   s	            rB   test_color_func_scalar_valrn    s    2#$6?DAs1vs1v1ad|"	6A**,KBC;;sBGGBHH-....s1vs1vqa2,"	6AjjlOBB;;sBGGBHH-.... QTAqD[!1Ar1:2qz2"	>AJBB;;q((,bggbhh.?@@@@1!QQ1I"	.ABBB


BBB
/C;;sBGGBHH-....rD   c            
        ^^^ [         (       d  [        S5        [        S5      u  mn [        [	        T5      [        T5      TSS[        -  4[        T5      SSSS9n[        [	        T5      [        T5      TSS[        -  4S	 SSSS9nUR                  5       n[        UR                  5      (       d   eUR                  5       n[         R                  US
   US
   5      (       a   e[        [	        TS-  U S-  -   5      T[        * [        4U [        * [        4[        TS-  U S-  -   5      SSSS9nUR                  5         [        UR                  5      (       d   e/ SQm/ SQm[        [        UUU4S j5        g )Nr+   r,   r   r0   Fr.   T)r8  r2   rH   r   c                 ,    [         R                  U 5      $ r   r6   r	   r   s    rB   r   ,test_color_func_expression.<locals>.<lambda>  s    RVVAYrD   r   r4   )r8  r2   rW   r|   )rR   r0   rU   r   r4   c                  .   > [        TTS[        T 5      S9$ )NT)r   r8  )r#   r   )r9   r   r   s   rB   r   rr    s    b"Tc!fErD   )r6   r'   r   r   r	   r   r   r7   callabler8  rX   r   r$   r
  )	r:   r;   r>   r   r   r   r9   r   r   s	         @@@rB   test_color_func_expressionru    sK    2#$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            	         [        S5      u  pn[        [        U 5      U SS4SSS S9nUR                  c  [	        UR
                  5      (       d   e[        [        U 5      [        U 5      U SS	[        -  4SSS
 S9nUR                  c  [	        UR
                  5      (       d   e[        [        U S	-  US	-  -   5      U SS	4USS	4SSS S9nUR                  c  [	        UR
                  5      (       d   eg )Nr   r~   r4   Fr.   c                     U $ r   ru   r   s    rB   r   )test_line_surface_color.<locals>.<lambda>  s    QrD   )r2   rH   
line_colorr   r0   c                     U $ r   ru   r5  s    rB   r   rx  	  rM  rD   rV   c                     U $ r   ru   r   s    rB   r   rx    s    arD   )rW   r|   surface_color)r   r   r   ry  rt  r8  r   r	   r   r   r|  )r9   r:   r   r   s       rB   test_line_surface_colorr}    s    
 i GA!c!fq"aj5B	 ALL hq||&<&<<<s1vs1v1ad|"	6ALL hq||&<&<<< QTAqD[!1Ar1:2qz"K	1AOO#!,,)?)???)?rD   c            
         [         (       d  [        S5        [        S5      u  pnS n[        U 5      [	        U S-  * 5      -  n[        X -  5      [	        U S-  * 5      -  n[        [        U5      U SS4SSS	9n[        [        U5      U SS4SSUS
0S9nUR                  5       nUR                  5       n	U" X5        [         R                  US
   S5      (       d  [         R                  U	S
   S5      (       a   e[        [        U5      [        U5      U [        * [        4SSS	9n[        [        U5      [        U5      U [        * [        4SSUS
0S9nUR                  5       nUR                  5       n	U" X5        [         R                  US
   S5      (       d  [         R                  U	S
   S5      (       a   e[        [        U5      U SS4USS4SSSS9n[        [        U5      U SS4USS4SSSUS
0S9nUR                  5       nUR                  5       n	U" X5        [         R                  US
   S5      (       d  [         R                  U	S
   S5      (       a   eg )Nr+   zx y uc                     [        U 5      [        U5      :X  d   e[        X5       H!  u  p#[        R                  X#5      (       a  M!   e   g r   r   r   s       rB   r   ,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_falser    s$    2#$gGA!'
 Gc1a4%j EK#q!te*$E	r%y1b!*u	KB	r%y1b!*"aV
-BKKMEKKMEEE!Ha((2;;uQx3K3KLL	5	2e9q2#rl"
B	5	2e9q2#rl"aV
-BKKMEKKMEEE!Ha((2;;uQx3K3KLL	!"U)aQZ!S"2!
%B	!"U)aQZ!S"2!QF
4BKKMEKKMEEE!Ha((2;;uQx3K3KLL3KrD   c                  t   [         (       d  [        S5        S n [        U SSSS9nUR                  5         [        U SSSS	9nUR                  5         UR                  UR                  s=:X  a  S
:X  d   e   eS nS n[        X4SSS[        -  4SSS9nUR                  5         [        X4SSS[        -  4SSS	9nUR                  5         UR                  UR                  s=:X  a  S
:X  d   e   eS n[        X4USSS[        -  4SSS9nUR                  5         [        X4USSS[        -  4SSS	9nUR                  5         UR                  UR                  s=:X  a  S
:X  d   e   eS n [        U SSSSSS9nUR                  5         [        U SSSSSS9nUR                  5         UR                  UR                  s=:X  a  S
:X  d   e   eS nS nS n[        X4USS[        4SSS[        -  4SSSS9nUR                  5         UR                  S
:X  d   e[        [        S 5        [        [        S 5        g )Nr+   c                 ,    [         R                  U 5      $ r   rq  r   s    rB   r   .test_expr_is_lambda_function.<locals>.<lambda>C  s    "&&)rD   r9   r~   r4   TrU   r1   Fr.   r   r/   c                 ,    [         R                  U 5      $ r   rq  r   s    rB   r   r  J      266!9rD   c                 ,    [         R                  U 5      $ r   r6   r   r   s    rB   r   r  K  r  rD   r9   r   r0   皙?r2   adaptive_goalc                     U $ r   ru   r   s    rB   r   r  T  s    1rD   c                 >    [         R                  U S-  US-  -   5      $ r  rq  rH  s     rB   r   r  ]  s    RVVAqD1a4K(rD   )arV   r0   )br   rU   r   c                 0    [         R                  X-   5      $ r   rq  r]  s     rB   r   r  f      bffQUmrD   c                 0    [         R                  X-
  5      $ r   r  r]  s     rB   r   r  g  r  rD   c                 
    X-  $ r   ru   r]  s     rB   r   r  h  s    aerD   r`   rj   c                      [        S S 5      $ )Nc                     U $ r   ru   r5  s    rB   r   @test_expr_is_lambda_function.<locals>.<lambda>.<locals>.<lambda>n  s    QrD   c                     U $ r   ru   r5  s    rB   r   r  n  s    !rD   r   ru   rD   rB   r   r  n  s    l;DrD   c                      [        S SS5      $ )Nc                 ,    [         R                  U 5      $ r   r  r5  s    rB   r   r  o  s    q	rD   r  )r:   ir   )r!   ru   rD   rB   r   r  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  <  s(    2#$A	q,Q	GBKKM	q,"	EBKKM88rxx%2%%%%%	B	B	a2S
*BKKM	a2"
BKKM88rxx%2%%%%%	B	S!QrTNS
*BKKM	S!QrTN"
BKKM88rxx%2%%%%%(A	!!\<2"
&BKKM	q,2"
&BKKM88rxx%2%%%%%	#B	#B	B	 c1b\CAbD>2"
&BKKM88r>>
9DE
9 $ %rD   c            	      r   [        S5      u  p[        [        U 5      U SS4SSS9nUR                  (       d   e[        [        U 5      U SS4SSS9nUR                  (       a   e[	        [        U 5      [        U 5      U SS	4SSS9nUR                  (       d   e[	        [        U 5      [        U 5      U SS	4SSS9nUR                  (       a   e[        [        U 5      [        U 5      X SS	4SSS9nUR                  (       d   e[        [        U 5      [        U 5      X SS	4SSS9nUR                  (       a   eg )
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  s*   6?DAc!fq"aj&NAc!fq"aj&OAs1vs1v1ay&	As1vs1v1ay&	As1vs1vqa)V	As1vs1vqa)V	ArD   c                  X   [         (       d  [        S5        S n [        S5      n[        S5      S-  nSnUS-  US-  -   [        S5      S-  -  US-  US-  -
  [        S5      S-  -  -
  n[	        XB-
  5      U-
  n[        U/U5      n[        XQSS	4S
SSS9n[        USS
SSS9nU " Xx5        g )Nr+   c                     [        [        SSS9   U R                  5       nUR                  5       n[        X#5       H!  u  pE[        R                  XE5      (       a  M!   e   S S S 5        g ! , (       d  f       g = f)Nz)invalid value encountered in scalar powerFrM   )r%   r_   r7   r   r6   rX   r  r  r   r   r6  rj   s         rB   r   :test_particular_case_1_with_adaptive_true.<locals>.do_test  s`    =!

 BBB{{1(((( $
 
 
s   A	A*A**
A8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     2#$	) 	A	!qAG
Q$A+1a	 AqD1a4K1Q46#:	:Brv; D!d#I	tb\2Q
 B	y."Q
 BBOrD   c                  X   [         (       d  [        S5        S n [        S5      n[        S5      S-  nSnUS-  US-  -   [        S5      S-  -  US-  US-  -
  [        S5      S-  -  -
  n[	        XB-
  5      U-
  n[        U/U5      n[        XQSS	4S
SS	S9n[        USS
SS	S9nU " Xx5        g )Nr+   c                     U R                  5       nUR                  5       n[        X#5       H!  u  pE[        R                  XE5      (       a  M!   e   g r   )r7   r   r6   rX   r  s         rB   r   ;test_particular_case_1_with_adaptive_false.<locals>.do_test  s=    ZZ\ZZ\KDA;;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    
 2#$% 	A	!qAG
Q$A+1a	 AqD1a4K1Q46#:	:Brv; D!d#I	tb\2"
B	y.""
BBOrD   c            
         [         (       d  [        S5        [        S5      u  pp#n[        S5      " U5      nUR	                  US5      SU -  U-  UR	                  U5      -  -   US-  U-  -   n[        XeUR                  US5      X%R	                  U5      R                  US5      U0S9nUSU SUS	US
0n[        UR                  USS4SSUS9n	U	R                  5       u  pZ[         R                  U5      R                  5       (       a   e[         R                  U
5      R                  5       (       a   e[        S5      u  p[p[        S5      S-  S[        -  [        [        SU-  [        -  U-  U-  5      U-  USU45      -  -
  nUSUS0n[        XSS4SSUS9n	U	R                  5       u  pZ[         R                  U5      R                  5       (       a   e[         R                  U
5      R                  5       (       a   eg )Nr+   zxi, omega_n, x0, v0, tr9   r0   r   )ics      ?g      ?g?g        d   Fr4   r  z
x, T, n, mrR   r   r.   )r6   r'   r   r   diffr   r^   r   rhsr7   rZ   rY   r   r   r   r   )xiwnx0v0r6  r9   eqsolrS   r   r:   TrH   mfss                  rB   test_complex_params_number_evalr    s    2#$ 89BBAaA	
1BaffQi/	/"a%!)	;B
QVVAq\2vvay~~a/CRH
IC
C
D
D
C	F 	cgg1c{Ua	A::<DAxx{    xx{     &JA!	
1QVs3q1urzA~'9#:Q#>Aq	JJ	JB	3	1F 	ba*u	A::<DAxx{    xx{     rD   c                     [         (       d  [        S5        [        S5      u  p[        [	        U 5      [        U S-  * 5      -  5      n[        [	        X-  5      [        U S-  * 5      -  5      n[        X SS4SSS9n[        X SS4S	S
S9n[        X0SS4S	S
US0S9n[        [        5         UR                  5       nS S S 5        UR                  5       nUR                  5       n	[         R                  WS   5      R                  5       (       a   e[         R                  US   5      R                  5       (       a   e[         R                  U	S   5      R                  5       (       a   e[         R                  US   U	S   5      (       a!  [         R                  US   U	S   5      (       d   eg ! , (       d  f       N= f)Nr+   rF   r0   r-   r.   Tr  r  Frs   r   rR   r  r   )r6   r'   r   r   r   r   r   r(   r_   r7   rZ   rY   rX   )
r9   r`   r  r  r;   r>   r@   r   r   data3s
             rB   test_complex_range_line_plot_1r    sz    2#$6?DAtAwadU#$EtAE{S!Q$Z'(E	u#rlT
B	u#rlUb	IB	u#rlUb1v
B 
	( 
)KKMEKKMExxa!%%''''xxa!%%''''xxa!%%'''';;uQxq**r{{58U1X/N/NNN/N 
)	(s   *F//
F=c                  P   [         (       d  [        S5        [        S5      u  p[        [	        [        U 5      5      U SS4SS9n[        [	        [        U 5      5      U SS4SSS	9n[        [        S
SS9   UR                  5       nUR                  5       nUS   S   US   S   /nUS   S   US   S   /nUS   S   US   S   /nUS   S   US   S   /n	[         R                  Xg5      (       d   e[         R                  X5      (       d   e S S S 5        g ! , (       d  f       g = f)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+   
 2#$
 6?DA
 
s47|a-=	MB	s47|a-=

B	5!


 [[][[]!uQxAr#!uQxAr#!uQxAr#!uQxAr#{{3$$$${{3$$$$

 

 

s   4BD
D%c                     [         (       d  [        S5        [        S5      n [        [	        U 5      [        U S-  * 5      -  5      n[        XSS4SSSS9n[        XSS4SSSS9nUR                  5       n[        [        5         UR                  5       nS S S 5        [         R                  US	   S
5      (       a   e[         R                  WS	   S
5      (       d   eg ! , (       d  f       NO= f)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     2#$Ad1gQTE
"#D	tb\ER
B	tb\ER
B	B		([[] 
){{2a5!$$$$;;r!ua     
)	(s   C
C+c                  @   [        S5      u  p[        [        X-  5      U SS4USS45      nUR                  (       d   e[        [        X-  5      U SS4USS4SS9nUR                  (       d   e[        [        X-  5      U SS4USS4SS9nUR                  (       a   eg )Nr,   rV   r0   T)clabelsF)r   r   r	   show_clabels)r9   r:   r   s      rB    test_contour_series_show_clabelsr  F  s     6?DAc!#hB
QAJ7A>>>c!#hB
QAJEA>>>c!#hB
QAJFA~~~rD   c                     ^  [        S5      m [        [        T 5      T SS45        [        [        T 5      T SS45        [        [        U 4S j5        g )Nr9   r-   r.         $       y      $@       c                  4   > [        [        T 5      T SS45      $ )Nr  y      $@       @)r   r   r   s   rB   r   :test_LineOver1DRangeSeries_complex_range.<locals>.<lambda>^  s    &tAwFE0BCrD   )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                  Z  ^^^^ [         (       d  [        S5        [        S5      u  mmn mmS n[        [	        T5      TSS4SSS9n[        [	        T5      TTT4TSTS0SSS	9nU" X#TS
TS05        [        [        UUU4S j5        [        [        T5      [	        T5      TSS4SSS9n[        [        T5      [	        T5      TTT4TSTS0SSS	9nU" X#TS
TS05        [        [        UUU4S j5        [        [        T5      [	        T5      TTSS4SSS9n[        [        T5      [	        T5      TTTT4TSTS0SSS	9nU" X#TS
TS05        [        [        UUU4S j5        [        [        TS-  TS-  -   5      T[        * [        4T[        * [        4SSSS9n[        [        TS-  TS-  -   5      T[        * T-  [        T-  4T[        * T-  [        T-  4TSTS0SSSS9nU" X#TS
TS05        [        [        UUUU4S j5        [        [        UUUU4S j5        [        [        TT-
  5      [	        TT-   5      TT-
  TSS4TSS4SSS9n[        [        TT-
  5      [	        TT-   5      TT-
  TST-  S4TSST-  4TSTS0SSS9nU" X#TS
TS05        [        [        UUUU4S j5        g )Nr+   zx, y, z, a, bc                 0   U R                  5       nUR                  5       n[        X45       H!  u  pV[        R                  XV5      (       a  M!   e   X!l        UR                  5       n[        X45       H!  u  pV[        R                  XV5      (       d  M!   e   g r   )r7   r   r6   rX   rS   )r;   r>   
new_paramsr   r   r`   rj   s          rB   r   .test_symbolic_plotting_ranges.<locals>.do_testh  sr    [[][[]KDA;;q$$$$  	[[]KDA{{1((((  rD   r   rR   Fr.   r   rS   r2   rH   r  r   c                  8   > [        [        T5      TT T4T S0SS9$ )NrR   r.   r   )r   r   r  r  r9   s   rB   r   /test_symbolic_plotting_ranges.<locals>.<lambda>y  s    &s1v1ay!Q2NrD   c            	      N   > [        [        T5      [        T5      TT T4T S0SSS9$ Nr   Fr.   r  )r   r	   r   r  s   rB   r   r    s*    'AAAq	q6ER1rD   c            
      P   > [        [        T5      [        T5      TTT T4T S0SSS9$ r  )r   r	   r   r  s   rB   r   r    s,    'AAAq!9q6ER1rD   r0   r4   r   rS   r2   rW   r|   c            
         > [        [        TS-  TS-  -   5      T[        * T -  [        T -  4T[        * T-  [        T-  4T S0SSSS9$ Nr0   rR   Fr4   r  r   r	   r   r  r  r9   r:   s   rB   r   r    sR    )#adQTk*:	
RC!GR!Vq2#'262Aq61$rD   c            
         > [        [        TS-  TS-  -   5      T[        * T -  T-   [        T -  4T[        * T-  [        T-  4T S0SSSS9$ r  r  r  s   rB   r   r    sV    )#adQTk*:	
RC!GaKa 1rcAgrAv"61v1$rD   rV   r{   r   c                  v   > [        [        TT-
  5      [        TT-   5      TT-
  TST -  S4TSST-  4T S0SSS9$ )NrV   r0   rR   r4   r   )r    r	   r   r  s   rB   r   r    sI    (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   2#$O,MAq!Q) 
s1v1ay5B	GB	s1v1ay!Q1"
BBQQ$% :NP 
 AAAq	ER	PB	AAAq	1aA,"
BBQQ$% :	12 
 AAAq!9"
B	AAAq!91a|er
3BBQQ$% :	12 
"#adQTk"2QRL1rc2,1
$B	!#adQTk"2Qaa4H	
RC!GR!VaAq\1
$B BQQ$% :	$%
 :	$%
 
!AE
CAJA2qzAr1:!
KB	 AE
CAJA261~2q1u~1a|a
)B BQQ$% :	#$rD   c                     [         (       d  [        S5        [        S5      n [        U 5      [        R
                  -   SU [        R
                  -
  S-  -
  -  n[        [        SSS9   [        XSS	4SS
[        [        SS5      5      S9nUR                  5       u  p4[         R                  U5      R                  5       (       a   e[         R                  [         R                  U5      5      S:X  d   e[        U5      S
:  d   e S S S 5        [!        [        U 5      5      [#        U 5      -  n[!        [        U 5      5      [%        U 5      -  n[        [        SSS9   ['        XVU SS4SS
[        [        SS5      5      S9nUR                  5       u  p4n[         R                  U5      R                  5       (       a   e[         R                  [         R                  U5      5      S:X  d   e[         R                  [         R                  U5      5      S:X  d   e[        U5      S
:  d   e S S S 5        g ! , (       d  f       GN6= f! , (       d  f       g = f)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   2#$A!Hqvv!q166zAo"56D	I!


 "$D##r1&(88B<##%%%%-2222w}}

 
U1XQ	B	U1XQ	B	I!


 #2Aq":q"&(ZZ\
88B<##%%%%-333-3332w}}

 



 



 

s   'BH5CI5
I
Ic            	         [         (       d  [        S5        [        S5      u  pSU S-  SU S-  -  -   U -   -  n[        UR	                  U [
        U-  S-  [        -  5      5      n[        X!SS4SS	S
S	S9n[        X!SS4SS	S
SS9n[        X!SS4SS	S
SS0S9nUR                  5       u  pgUR                  5       u  pUR                  5       u  p[         R                  Xh5      (       d   e[        S XyU4 5       5      (       d   e[         R                  Xy5      (       a   e[         R                  X{5      (       a   e[         R                  X5      (       a   eg )Nr+   r,   rR   rU   r0   gh㈵>g     j@r   Fr.   )r   r2   rH   unwrapTperiodr   c              3   r   #    U  H-  n[         R                  U5      R                  5       (       + v   M/     g 7fr   )r6   rZ   rY   )rw   r6  s     rB   ry   test_unwrap.<locals>.<genexpr>  s%     ;l288A;??$$$ls   57)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    sL   2#$6?DA1qAv!"DtyyAaCE"H%&D	t%5e"U
,B	t%5e"T
+B	t%5e"h]
4B[[]FB[[]FB[[]FB;;r;rrl;;;;;{{2""""{{2""""{{2"""""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,  r1  rA  rE  re  rn  ru  r}  r  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   