
    \h                        S SK JrJr  S SKJr  S SKJrJr  S SKJ	r	  S SK
Jr  S SKJrJrJr  S SKJrJr  S SKJr  S S	KJr  S S
KJrJr  S SKJrJrJr  S SKJr  S SK J!r!  S SK"r"\" 5         SS jr#SSS.S jr$S r%\S 5       r&S r'S r(S r)g)    )Ipi)Eq)Symbolsymbols)re)exp)cossintan)AndOr)plot_implicit)
unset_show)NamedTemporaryFilemkdtemp)skipwarnsXFAIL)import_module)TmpFileManagerN c                 ,    [        SU SS9R                  $ )Nz.pngF)suffixdirdelete)r   namer   r   s     _/var/www/auris/envauris/lib/python3.13/site-packages/sympy/plotting/tests/test_plot_implicit.pytmp_filer       s    s5**.$/    r   r   c                    [        U /UQ70 UD6nUR                  [        X!S95        UR                  R	                  5         g )Nr   )r   saver    _backendclose)exprr   r   argskwargsps         r   plot_and_saver+      s7    d,T,V,AFF8'(JJr!   c                    [        5       n[        R                  " U5        [        S5      n[        S5      n[	        [        U[        U5      5      USS4USS4XS9  [	        [        US-  US-  U-
  5      USS4US	S
4XS9  [	        USU-  :  USS4USS4XS9  [	        US[        U5      -  :  USS4USS4XS9  [	        US[        U5      -  [        U5      -  :  USS4USS4XS9  [	        X2S-  :*  USS4USS4XS9  [	        [        US-  US-  U-
  5      US9  [	        [        US-  US-  U-
  5      SUS9  [	        [        US-  US-  U-
  5      SSUS9  [	        X2:  USS4US9  [	        [        U[        U5      :  X2S-   :  5      US9  [	        [        X2:  X2* :  5      US9  [	        US-  S-
  USS4US9  [	        US-  S-
  US9  [	        X2:  SUS9  [	        X2:  SUS9  [	        U[        U5      :  SUS9  [	        U[        U5      :  SUS9  [	        [        U[        U5      :  [        X2:  [        X25      5      5      US9  [	        U[        [        U-  5      -
  US9  [	        US-  S-
  SUS9  g )Nxy      r"            )r   F)adaptiver   i  )r9   nr   )depthr   zAn implicit plot)titler   )r   r   
tmp_folderr   r+   r   r
   r   r   r   r	   r   r   )r   temp_dirr-   r.   s       r   plot_implicit_testsr?      s   yHh'sAsA"QA-!RaQZdQ"QT1a4!8$q"ajAJT1!a!e)aQZAJT1!a#a&j.1b!*AJT1!q3q6zCF**QAJAJT1!!t)aQZAJT1 "QT1a4!8$(3"QT1a4!8$u(C"QT1a4!8$uJ!%!R2#a#a&j!!e),(;"QUAF#2!Q$(QAJH5!Q$()!%rx0!%qh/!c!f*u(;!c!f*u(;#a#a&j"QUBqH"56HE!c"q&k/x0!Q$("4(Cr!   c                     [        SS[        4S9n U (       a   [        5       n[        R                  " U5        [        S5      n[        S5      n[        [        SS9   [        [        U[        [        U5      [        [        U5      -  -   5      5      SUS	9  S S S 5        [        R                  " 5         g [        S
5        g ! , (       d  f       N0= f! [        R                  " 5         f = f)N
matplotlib1.1.0min_module_versioncatchr-   r.   z%Adaptive meshing could not be applied)matchtestr"   "Matplotlib not the default backend)r   RuntimeErrorr   r   r=   r   r   UserWarningr+   r   r   r
   r   r   cleanupr   )rA   r>   r-   r.   s       r   test_no_adaptive_meshingrL   B   s    |P\_J	%yH%%h/sAsA {*QRbBs1v#a&'8$9:XV S ""$12 SR ""$s$   AC ;CC 
CC C*c                      [        S5      u  p[        U S-  US-  -   S-
  SSS9nUR                  S   R                  S:X  d   e[        U S-  US-  -   S-
  SSS9nUR                  S   R                  S:X  d   eg )	Nzx, yr2   r6   greenF)
line_colorshowr   r)r   r   _seriesrO   )r-   r.   r*   s      r   test_line_colorrS   V   s    6?DAadQTkAo'FA99Q<""g---adQTkAo#EBA99Q<""c)))r!   c                      [        SS[        4S9n U (       a,   [        S5        [        5         [        R
                  " 5         g [        S5        g ! [        R
                  " 5         f = f)NrA   rB   rC   rG   rH   )r   rI   r?   rS   r   rK   r   )rA   s    r   test_matplotlibrU   ]   sN    |P\_J	%'""$12 ""$s   A A'c                  `   [        SS[        4S9n U (       d  [        S5        SSKJn  [
        R                  R                  [
        R                  R                  [        5      5      n [        5       n[        R                  " U5        [        S5      u  pEUS-
  S	-  US	-  -   S	:  nUS-   S	-  US	-  -   S	:  n[        US
S9n[
        R                  R                  US5      n	[!        Xg-  XE5      n
U
R#                  U5        U" XS5        [        USS9n[
        R                  R                  US5      n	[!        Xg-  XE5      n
U
R#                  U5        U" XS5        [        USS9n[
        R                  R                  US5      n	[!        U) XE5      n
U
R#                  U5        U" XS5        [        USS9n[
        R                  R                  US5      n	[!        Xg-  XE5      n
U
R#                  U5        U" XS5        [        R$                  " 5         g ! [        R$                  " 5         f = f)NrA   rB   rC   rH   r   )compare_imageszx yr6   r2   test_region_andr   ztest_region_and.pngg{Gzt?test_region_orztest_region_or.pngtest_region_notztest_region_not.pngtest_region_xorztest_region_xor.png)r   rI   r   matplotlib.testing.comparerW   ospathdirnameabspath__file__r   r   r=   r   r    joinr   r$   rK   )rA   rW   test_directoryr>   r-   r.   r1r2test_filenamecmp_filenamer*   s              r   rX   rX   i   s   |P\_J129WW__RWW__X%>?N!!9!!(+u~!eaZ!Q$"!eaZ!Q$" X4EFww||N4IJ"'1(	}|E: X4DEww||N4HI"'1(	}|E: X4EFww||N4IJ2#q$	}|E: X4EFww||N4IJ"'1(	}|E:  s   *FH H-)Nr   )*sympy.core.numbersr   r   sympy.core.relationalr   sympy.core.symbolr   r   $sympy.functions.elementary.complexesr   &sympy.functions.elementary.exponentialr	   (sympy.functions.elementary.trigonometricr
   r   r   sympy.logic.boolalgr   r   sympy.plotting.plot_implicitr   sympy.plotting.plotr   tempfiler   r   sympy.testing.pytestr   r   r   sympy.externalr   sympy.testing.tmpfilesr   r]   r    r+   r?   rL   rS   rU   rX    r!   r   <module>rv      sw    & $ / 3 6 D D ) 6 * 0 3 3 ( 1 	 / %'D "DH 3 3&*	3)!r!   