ó
~9­\c           @   sµ  d  d l  m Z m Z m Z m Z m Z m Z m Z m Z m	 Z	 m
 Z
 m Z m Z m Z m Z m Z m Z d  d l m Z m Z m Z m Z m Z d  d l m Z m Z d  d l m Z d  d l m Z m Z m  Z  d  d l! m Z d  d l" m# Z# d  d l$ m% Z% d  d l& Z& e ƒ  d	 d d
 „  ƒ  YZ' d „  Z( d „  Z) d „  Z* d „  Z+ d „  Z, d „  Z- d „  Z. d „  Z/ d „  Z0 d „  Z1 d „  Z2 d „  Z3 d „  Z4 d „  Z5 d „  Z6 d S(   iÿÿÿÿ(   t   pit   sint   cost   Symbolt   Integralt   Sumt   sqrtt   logt   oot   LambertWt   It   meijergt	   exp_polart   Maxt	   Piecewiset   And(   t   plott   plot_parametrict   plot3d_parametric_linet   plot3dt   plot3d_parametric_surface(   t
   unset_showt   plot_contour(   t   lambdify(   t   skipt   raisest   warns(   t   import_module(   t   NamedTemporaryFileNt   TmpFileManagerc           B   s/   e  Z g  Z e d  d „ ƒ Z e d „  ƒ Z RS(   t    c         C   s-   |  j  j t d | d d ƒ j ƒ |  j  d S(   Nt   prefixt   suffixs   .pngiÿÿÿÿ(   t	   tmp_filest   appendR   t   name(   t   clsR#   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   tmp_file   s    "c         C   s=   x6 |  j  D]+ } y t j | ƒ Wq
 t k
 r4 q
 Xq
 Wd  S(   N(   R!   t   ost   removet   OSError(   R$   t   file(    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   cleanup   s
    (   t   __name__t
   __module__R!   t   classmethodR%   R*   (    (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR      s   c            s  t  j } t d ƒ ‰  t d ƒ ‰ t d ƒ } t ˆ  ƒ } t ˆ  t ˆ  ƒ ˆ  t ˆ  ƒ ƒ } | j | ƒ d „  | d _ d | d _ d | _ d	 | _	 d
 | d _
 t | _ d  | _ d! | _ | j | d |  ƒ ƒ | j j ƒ  | j t ˆ  d ƒ ƒ | j t ˆ  d ˆ  d ƒ d ƒ | j | d |  ƒ ƒ t ˆ  d ˆ  d d f ƒ | d <| j | d |  ƒ ƒ | j j ƒ  t t ˆ  ƒ ˆ  d t d t f ƒ } | j | d |  ƒ ƒ | j j ƒ  t t ˆ  ƒ ƒ } | j | d |  ƒ ƒ | j j ƒ  t ˆ  d ˆ  d d f f ˆ  d ˆ  d d f f ƒ } | j | d |  ƒ ƒ | j j ƒ  t t ‡  ‡ f d †  ƒ t t d ˆ  d k f d t f ƒ ˆ  d d f ƒ } | j | d |  ƒ ƒ | j j ƒ  t t ˆ  ˆ  d k  f ˆ  d t f ƒ ˆ  d d f ƒ } | j | d |  ƒ ƒ | j j ƒ  t ˆ  ƒ } t d ƒ } | j | ƒ | j | d |  ƒ ƒ | j j ƒ  t d ˆ  d k  f ˆ  t d ˆ  k ˆ  d k  ƒ f ˆ  d t d ˆ  k ˆ  d k  ƒ f ˆ  d ˆ  d k f ƒ } t | ˆ  d d f ƒ } | j | d |  ƒ ƒ | j j ƒ  d  S("   Nt   xt   yt   zc         S   s   |  S(   N(    (   t   a(    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   <lambda>4   R   i    t   bi   s	   Big titles
   the x axiss   straight lineiñÿÿÿi   s   %s_basic_options_and_colorsi   i   s   %s_plot_extend_appendiþÿÿÿs   %s_plot_setitemi   s   %s_line_explicits   %s_line_default_rangeiûÿÿÿi   iýÿÿÿs   %s_line_multiple_rangec              s   t  ˆ  ˆ ƒ S(   N(   R   (    (   R.   R/   (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   S   R   iÿÿÿÿs   %s_plot_piecewises   %s_plot_piecewise_2s   %s_horizontal_lines   %s_plot_piecewise_3(   i   i   (   iñÿÿÿi   (   R   R%   R   R   R   R   t   extendt
   line_colort   titlet   xlabelt   labelt   Truet   legendt   aspect_ratiot   xlimt   savet   _backendt   closeR"   R    R   t
   ValueErrorR   R   (   R#   R%   R0   t   pt   p1t   p2t   f(    (   R.   R/   s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   plot_and_save_1&   sb    	#					" &5370;c      	   C   sý  t  j } t d ƒ } t d ƒ } t d ƒ } t t | ƒ t | ƒ ƒ j | ƒ  ƒ t t | ƒ t | ƒ | d d f ƒ } | j | d |  ƒ ƒ | j j ƒ  t t | ƒ t | ƒ f | t | ƒ f ƒ } | j | d |  ƒ ƒ | j j ƒ  t t | ƒ t | ƒ | d d	 f f | t | ƒ | d d f f ƒ } | j | d
 |  ƒ ƒ | j j ƒ  t | t | ƒ d d ƒ} | j | d |  ƒ ƒ | j j ƒ  t t | ƒ t | ƒ d t	 d d ƒ} | j | d |  ƒ ƒ | j j ƒ  t
 t | ƒ t | ƒ | ƒ } | j | d |  ƒ ƒ | j j ƒ  t
 t | ƒ t | ƒ | | d d f f t | ƒ t | ƒ | | d d	 f f ƒ } | j | d |  ƒ ƒ | j j ƒ  t
 t | ƒ t | ƒ | d d ƒ} | j | d |  ƒ ƒ | j j ƒ  t | | ƒ } | j | d |  ƒ ƒ | j j ƒ  t | | | | | d d f ƒ } | j | d |  ƒ ƒ | j j ƒ  t | | | d d	 f | d d	 f f | | | d d	 f | d d	 f f ƒ } | j | d |  ƒ ƒ | j j ƒ  t t | | ƒ t | | ƒ | | ƒ } | j | d |  ƒ ƒ | j j ƒ  t | t | ƒ | t | ƒ | | d d f | d d f f t | | ƒ t | | ƒ | | | d d f | d d f f ƒ } | j | d |  ƒ ƒ | j j ƒ  t t | ƒ t | ƒ | d d f | d d f ƒ } | j | d |  ƒ ƒ | j j ƒ  t | d | d | d	 | d	 | d d f | d d f ƒ } | j | d |  ƒ ƒ | j j ƒ  t | d | d | d d f | d d f f | d	 | d	 | d d	 f | d d	 f f ƒ } | j | d |  ƒ ƒ | j j ƒ  d  S(   NR.   R/   R0   iûÿÿÿi   s   %s_parametric_ranges   %s_parametric_multipleiýÿÿÿi   s   %s_parametric_multiple_rangest   depthi   s   %s_recursion_deptht   adaptivet   nb_of_pointsiô  s   %s_adaptives
   %s_3d_lines   %s_3d_line_multiplei   s   %s_3d_line_pointss
   %s_surfaces   %s_surface_multiples   %s_surface_multiple_rangess   %s_parametric_surfaces   %s_contour_ploti   (   R   R%   R   R   R   R   R=   R>   R?   t   FalseR   R   R   R   (   R#   R%   R.   R/   R0   RA   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   plot_and_save_2l   sr    	%'-E'N$$K*8B4?]c         C   sJ  t  j } t d ƒ } t d ƒ } t d ƒ } t t | ƒ ƒ } d „  | d _ | j | d |  ƒ ƒ d „  | d _ | j | d |  ƒ ƒ | j j ƒ  t | t | ƒ | t	 | ƒ | d d	 f ƒ } d
 „  | d _ | j | d |  ƒ ƒ d „  | d _ | j | d |  ƒ ƒ d „  | d _ | j | d |  ƒ ƒ | j j ƒ  t
 t | ƒ d t | ƒ t	 d | ƒ t	 | ƒ d t	 | ƒ t	 d | ƒ d t d | ƒ | d d t f ƒ } t | t d | ƒ ƒ | d _ | j | d |  ƒ ƒ d „  | d _ | j | d |  ƒ ƒ d „  | d _ | j | d |  ƒ ƒ | j j ƒ  t t | ƒ | | d d t f | d d f ƒ } d „  | d _ | j | d |  ƒ ƒ d „  | d _ | j | d |  ƒ ƒ d  „  | d _ | j | d! |  ƒ ƒ t | | | f t | d" t d | d ƒ ƒ | d _ | j | d# |  ƒ ƒ | j j ƒ  t | t	 d | ƒ | t d | ƒ | | d$ d% f | d$ d% f ƒ } d& „  | d _ | j | d' |  ƒ ƒ d( „  | d _ | j | d) |  ƒ ƒ t | | | f t | d | d | d ƒ ƒ | d _ | j | d* |  ƒ ƒ | j j ƒ  d  S(+   NR.   R/   R0   c         S   s   |  S(   N(    (   R1   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   Õ   R   i    s   %s_colors_line_arity1c         S   s   | S(   N(    (   R1   R3   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   Ø   R   s   %s_colors_line_arity2i
   c         S   s   |  S(   N(    (   R1   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   Ý   R   s   %s_colors_param_line_arity1c         S   s   |  S(   N(    (   R1   R3   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   à   R   s   %s_colors_param_line_arity2ac         S   s   | S(   N(    (   R1   R3   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   ã   R   s   %s_colors_param_line_arity2bgš™™™™™¹?i   i   i   s   %s_colors_3d_line_arity1c         S   s   | S(   N(    (   R1   R3   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   í   R   s   %s_colors_3d_line_arity2c         S   s   | S(   N(    (   R1   R3   t   c(    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   ï   R   s   %s_colors_3d_line_arity3i   iûÿÿÿi   c         S   s   |  S(   N(    (   R1   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   ô   R   s   %s_colors_surface_arity1c         S   s   | S(   N(    (   R1   R3   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   ö   R   s   %s_colors_surface_arity2c         S   s   | S(   N(    (   R1   R3   RK   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   ø   R   s   %s_colors_surface_arity3ai   s   %s_colors_surface_arity3biÿÿÿÿi   c         S   s   |  S(   N(    (   R1   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2      R   s   %s_colors_param_surf_arity1c         S   s   |  | S(   N(    (   R1   R3   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2     R   s   %s_colors_param_surf_arity2s   %s_colors_param_surf_arity3(   R   R%   R   R   R   R5   R=   R>   R?   R   R   R    t	   lambdify_R   t   surface_colorR   R   (   R#   R%   R.   R/   R0   RA   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   plot_and_save_3É   s`    	/(% 29(9c      
   C   sÄ   t  j } t d ƒ } t d ƒ } t d ƒ } t t d d ƒ t t t | ƒ d d t | d d ƒ ƒ | d | f ƒ } t	 | | d d	 f ƒ } | j
 | d
 |  ƒ ƒ | j j ƒ  Wd  QXd  S(   NR.   R/   R0   t   matchs/   The evaluation of the expression is problematici   i   i    i   s   %s_advanced_integral(   R   R%   R   R   t   UserWarningR   R   R   R   R   R=   R>   R?   (   R#   R%   R.   R/   R0   t   iRA   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   plot_and_save_4  s    	>c         C   sÿ   t  j } t d ƒ } t d ƒ } t d ƒ } t d | | | d t f ƒ } t | | d d f ƒ } | j | d |  ƒ ƒ | j j ƒ  t t d | | d | f ƒ | d d f d t	 ƒ} t
 | d	 _ t
 | d	 _ | j | d
 |  ƒ ƒ | j j ƒ  d  S(   NR.   R/   R0   i   i   i
   s   %s_advanced_inf_sumt   showi    s   %s_advanced_fin_sum(   R   R%   R   R   R   R   R=   R>   R?   RI   R9   t   only_integerst   steps(   R#   R%   R.   R/   R0   t   sRA   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   plot_and_save_5  s    	 4c      	   C   sw  t  j } t d ƒ } t d ƒ } t d ƒ } t t | ƒ t t | ƒ ƒ j | ƒ  ƒ t t t | ƒ ƒ ƒ j | ƒ  ƒ t t	 | ƒ ƒ j | ƒ  ƒ t t t	 | ƒ ƒ ƒ j | ƒ  ƒ t t
 d d f d f d d d d f d f d | d t t t ƒ d ƒ t
 d d f d f d d d d f d f d | d t t t ƒ d ƒ d t | d	 d
 f ƒ j | ƒ  ƒ d  S(   NR.   R/   R0   i   i   i   i    i0   gíµ ÷Æ°>g{®Gáz„?(    (    (    (    (   R   R%   R   R   R   R
   R   R=   R   R	   R   R   R    (   R#   R%   R.   R/   R0   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   plot_and_save_61  s    	*#"M)c          C   sN   t  d d d d t f ƒ}  |  r@ z t d ƒ Wd  t j ƒ  Xn
 t d ƒ d  S(   Nt
   matplotlibt   min_module_versions   1.1.0t   catcht   tests"   Matplotlib not the default backend(   R   t   RuntimeErrorRE   R   R*   R   (   RY   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   test_matplotlib_1F  s    c          C   sN   t  d d d d t f ƒ}  |  r@ z t d ƒ Wd  t j ƒ  Xn
 t d ƒ d  S(   NRY   RZ   s   1.1.0R[   R\   s"   Matplotlib not the default backend(   R   R]   RJ   R   R*   R   (   RY   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   test_matplotlib_2R  s    c          C   sN   t  d d d d t f ƒ}  |  r@ z t d ƒ Wd  t j ƒ  Xn
 t d ƒ d  S(   NRY   RZ   s   1.1.0R[   R\   s"   Matplotlib not the default backend(   R   R]   RN   R   R*   R   (   RY   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   test_matplotlib_3^  s    c          C   sN   t  d d d d t f ƒ}  |  r@ z t d ƒ Wd  t j ƒ  Xn
 t d ƒ d  S(   NRY   RZ   s   1.1.0R[   R\   s"   Matplotlib not the default backend(   R   R]   RR   R   R*   R   (   RY   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   test_matplotlib_4j  s    c          C   sN   t  d d d d t f ƒ}  |  r@ z t d ƒ Wd  t j ƒ  Xn
 t d ƒ d  S(   NRY   RZ   s   1.1.0R[   R\   s"   Matplotlib not the default backend(   R   R]   RW   R   R*   R   (   RY   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   test_matplotlib_5v  s    c          C   sN   t  d d d d t f ƒ}  |  r@ z t d ƒ Wd  t j ƒ  Xn
 t d ƒ d  S(   NRY   RZ   s   1.1.0R[   R\   s"   Matplotlib not the default backend(   R   R]   RX   R   R*   R   (   RY   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   test_matplotlib_6‚  s    c          C   s›   t  d ƒ }  t |  g t |  d ƒ ƒ } t d d ƒ d k sB t ‚ t d d ƒ d k s] t ‚ t  d ƒ }  t |  g |  d ƒ } | d ƒ d k s— t ‚ d  S(   NR.   i   i   i   s   x-3i   (   R   R   R   t   AssertionError(   R.   RD   (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   test_experimental_lambify  s    c          C   sÙ   t  d d d d t f ƒ}  |  s. t d ƒ n  t d ƒ } t | ƒ } t | d ƒ } t | d ƒ } | j | d ƒ t | j ƒ d k s’ t ‚ t	 t
 ƒ  | j | ƒ Wd  QXt	 t
 ƒ  | j | j ƒ Wd  QXd  S(	   NRY   RZ   s   1.1.0R[   s"   Matplotlib not the default backendR.   i   i    (   R   R]   R   R   R   R"   t   lent   _seriesRd   R   t	   TypeError(   RY   R.   RB   RC   t   p3(    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   test_append_issue_7140  s    c             s   d d l  m }  d d l m ‰  t d d d d t f ƒ} | sN t d ƒ n  t d	 ƒ } t | ƒ ‰ t	 ˆ d
 ˆ  j
 ˆ  j
 f d d ƒ} | j j ƒ  t	 ˆ d
 d d ˆ  j
 ˆ  j
 f ƒ} | j j ƒ  t	 ˆ d
 d d |  d ƒ |  d ƒ f ƒ} | j j ƒ  t	 ˆ d
 |  d ƒ |  d ƒ f d d ƒ} | j j ƒ  t t ‡  ‡ f d †  ƒ t t ‡  ‡ f d †  ƒ t t ‡  ‡ f d †  ƒ t t ‡  ‡ f d †  ƒ d  S(   Niÿÿÿÿ(   t   sympify(   t   SRY   RZ   s   1.1.0R[   s"   Matplotlib not the default backendR.   R<   t   ylimi   s   -3.14s   3.14c              s    t  ˆ d ˆ  j d f d d ƒS(   NR<   i   Rm   iÿÿÿÿ(   iÿÿÿÿi   (   R   t   ImaginaryUnit(    (   Rl   t   eqn(    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   É  R   c              s   t  ˆ d d d d ˆ  j f ƒS(   NR<   iÿÿÿÿi   Rm   (   iÿÿÿÿi   (   R   Rn   (    (   Rl   Ro   (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   Ì  R   c              s    t  ˆ d ˆ  j d f d d ƒS(   NR<   i   Rm   iÿÿÿÿ(   iÿÿÿÿi   (   R   t   Infinity(    (   Rl   Ro   (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   Ï  R   c              s   t  ˆ d d d d ˆ  j f ƒS(   NR<   iÿÿÿÿi   Rm   (   iÿÿÿÿi   (   R   Rp   (    (   Rl   Ro   (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyR2   Ò  R   (   iÿÿÿÿi   (   iÿÿÿÿi   (   iÿÿÿÿi   (   iÿÿÿÿi   (   t   sympy.core.sympifyRk   t   sympy.core.singletonRl   R   R]   R   R   R   R   t   PiR>   R?   R   R@   (   Rk   RY   R.   RA   (    (   Rl   Ro   s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   test_issue_15265±  s.    %%**(    (7   t   sympyR    R   R   R   R   R   R   R   R   R	   R
   R   R   R   R   R   t   sympy.plottingR   R   R   R   R   t   sympy.plotting.plotR   R   t   sympy.utilitiesR   RL   t   sympy.utilities.pytestR   R   R   t$   sympy.plotting.experimental_lambdifyt   sympy.externalR   t   tempfileR   R&   R   RE   RJ   RN   RR   RW   RX   R^   R_   R`   Ra   Rb   Rc   Re   Rj   Rt   (    (    (    s=   lib/python2.7/site-packages/sympy/plotting/tests/test_plot.pyt   <module>   s2   j(	F	]	?											