ó
¡¼™\c           @   s+  d  d l  m Z d  d l m Z d  d l Z d  d l Z d  d l Z d  d l m	 Z	 m
 Z
 d  d l m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m Z m  Z  m! Z! m" Z" 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/ m0 Z0 m1 Z1 m2 Z2 m3 Z3 m4 Z4 m5 Z5 m6 Z6 m7 Z7 m8 Z8 m9 Z9 m: Z: m; Z; m< Z< m= Z= m> Z> m? Z? m@ Z@ mA ZA mB ZB mC ZC mD ZD mE ZE d  d lF mG ZG d  d lH mI ZI d  d lJ mK ZK mL ZL d  d	 l mM ZM d  d
 lN mO ZO d  d lP mQ ZQ d  d lR mS ZS mT ZT d  d l Z e ZU eQ d ƒ ZV eQ d ƒ ZW eQ d ƒ ZX eQ d ƒ ZY eQ d ƒ ZZ eZ r¬d  d l[ Z[ d e[ j\ d <n  e d ƒ \ Z] Z^ Z_ Z` d „  Za d „  Zb d „  Zc d „  Zd d „  Ze d „  Zf d „  Zg d „  Zh d „  Zi d „  Zj eO d „  ƒ Zk eO d  „  ƒ Zl eO d! „  ƒ Zm eO d" „  ƒ Zn eO d# „  ƒ Zo d$ „  Zp d% „  Zq d& „  Zr d' „  Zs d( „  Zt d) „  Zu d* „  Zv d+ „  Zw d, „  Zx d- „  Zy d. „  Zz d/ „  Z{ d0 „  Z| d1 „  Z} d2 „  Z~ d3 „  Z d4 „  Z€ d5 „  Z d6 „  Z‚ d7 „  Zƒ d8 „  Z„ d9 „  Z… d: „  Z† d; „  Z‡ d< „  Zˆ d= „  Z‰ d> „  ZŠ d? „  Z‹ d@ „  ZŒ dA „  Z dB „  ZŽ dC „  Z dD „  Z dE „  Z‘ dF „  Z’ dG „  Z“ dH „  Z” dI „  Z• dJ „  Z– dK „  Z— dL „  Z˜ dM „  Z™ dN „  Zš dO „  Z› dP „  Zœ dQ „  Z dR „  Zž dS „  ZŸ dT „  Z  dU „  Z¡ dV „  Z¢ dW „  Z£ dX „  Z¤ dY „  Z¥ dZ „  Z¦ d[ „  Z§ d\ „  Z¨ d] „  Z© d^ „  Zª d_ „  Z« d` „  Z¬ da „  Z­ db „  Z® dc „  Z¯ dd „  Z° de „  Z± df „  Z² dg „  Z³ dh „  Z´ di „  Zµ dj „  Z¶ dk „  Z· dl „  Z¸ dm „  Z¹ dn „  Zº do „  Z» dp „  Z¼ dq „  Z½ d S(r   iÿÿÿÿ(   t   LooseVersion(   t   productN(   t   XFAILt   raises(:   t   symbolst   lambdifyt   sqrtt   sint   cost   tant   pit   acost   acosht   Rationalt   Floatt   Matrixt   Lambdat	   Piecewiset   expt   Integralt   oot   It   Abst   Functiont   truet   falset   Andt   Ort   Nott   ITEt   Mint   Maxt   floort   difft   IndexedBaset   Sumt
   DotProductt   Eqt   Dummyt   sinct   erft   erfct	   factorialt   gammat   loggammat   digammat   RisingFactorialt   besseljt   besselyt   besselit   besselkt   St   MatrixSymbolt
   chebyshevtt
   chebyshevut   legendret   hermitet   laguerret
   gegenbauert   assoc_legendret   assoc_laguerret   jacobi(   t   LambdaPrinter(   t   NumPyPrinter(   t   implemented_functiont	   lambdastr(   t   skip(   t   conserve_mpmath_dps(   t   import_module(   t
   uppergammat
   lowergammat   numpyt   scipys   scipy.specialt   numexprt
   tensorflowt   2t   TF_CPP_MIN_LOG_LEVELs   w,x,y,zc              s>   t  g  d ƒ ‰  t t ‡  f d †  ƒ ˆ  ƒ  d k s: t ‚ d  S(   Ni   c              s
   ˆ  d ƒ S(   Niÿÿÿÿ(    (    (   t   f(    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   <lambda>/   t    (   R   R   t	   TypeErrort   AssertionError(    (    (   RM   sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_no_args-   s    c          C   s/   t  t d t ƒ }  |  d ƒ d k s+ t ‚ d  S(   Ni   i   (   R   t   xRQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_single_arg3   s    c          C   s8   t  t t g t t ƒ }  |  d d ƒ d k s4 t ‚ d  S(   Ni   i   i   (   R   RS   t   yRQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_list_args8   s    c             s,  t  t t g g t t g ƒ ‰  ˆ  d d g ƒ d d g k sB t ‚ t t ‡  f d †  ƒ t  t t f t t f g t t t t g ƒ ‰ ˆ d d ƒ d d d d g k s¬ t ‚ t t ‡ f d †  ƒ t  t t g g t g t g t t t t g ƒ }  |  d	 d
 g g d g d ƒ d	 d
 d d g k s(t ‚ d  S(   Ni[   i   c              s   ˆ  d d ƒ S(   Ni   i   (    (    (   t   f1(    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   @   RO   i   i   iI   i   c              s   ˆ  d d ƒ S(   Ni   i   (    (    (   t   f2(    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   D   RO   i
   i4   i   i,   (   i   i   (   iI   i   (   R   t   wRS   RQ   R   RP   RU   t   z(   t   f3(    (   RW   RX   sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_nested_args=   s    $-'0c              se   t  d d ƒ ‰  ˆ  d d d ƒ d
 k s- t ‚ ˆ  d d d ƒ d k sK t ‚ t t ‡  f d	 †  ƒ d  S(   Ns   x,y,zs   z,y,xi   i   i   g      ð?g       @g      @c              s
   ˆ  d ƒ S(   Ni    (    (    (   RM   (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   O   RO   (   i   i   i   (   g      @g       @g      ð?(   R   RQ   R   RP   (    (    (   RM   sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_str_argsJ   s    c          C   s\   d „  }  t  t t t ƒ i |  d 6ƒ } | d ƒ d k s@ t ‚ | d ƒ d k sX t ‚ d  S(   Nc         S   s   d S(   Ni   (    (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   S   RO   R   gš™™™™™¹?i   id   (   R   RS   R   RQ   (   t   myfuncRM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_own_namespace_1R   s    	c          C   s\   d „  }  t  t t t ƒ i |  d 6ƒ } | d ƒ d k s@ t ‚ | d ƒ d k sX t ‚ d  S(   Nc         S   s   d S(   Ni   (    (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyR^   Z   s    R   gš™™™™™¹?i   id   (   R   RS   R   RQ   (   R^   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_own_namespace_2Y   s    	c          C   s4   t  t t t ƒ t ƒ }  |  d ƒ d k s0 t ‚ d  S(   Ni    g        (   R   RS   R   t   mathRQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_own_modulea   s    c           C   s$   t  t d „  ƒ t  t d „  ƒ d  S(   Nc           S   s
   t  d ƒ S(   Ni   (   R   (    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   h   RO   c           S   s   t  d d g ƒ S(   Ni   i   (   R   (    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   j   RO   (   R   RP   (    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_bad_argsf   s    c          C   sn   t  t t t i d d 6ƒ }  |  d ƒ d k s5 t ‚ t  t t t i d d 6ƒ }  |  d ƒ d k sj t ‚ d  S(   Ng…ëQ¸	@R
   i    y              ð?R   i   y      ð?      ð?(   R   RS   R
   RQ   R   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt
   test_atomsm   s    c          C   s³   d t  j _ t  j d ƒ }  t t t t ƒ d ƒ } | t ƒ t t ƒ k sQ t ‚ d } | | t d d ƒ ƒ j	 ƒ  t
 t |  ƒ ƒ k  o” | k  n sŸ t ‚ t t d „  ƒ d  S(   Ni2   s4   0.19866933079506121545941262711838975037020672954020t   sympygVçž¯Ò<i   i   c           S   s   t  t t t ƒ d ƒ S(   NRe   (   R   RS   t   arctan(    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   ‚   RO   (   t   mpmatht   mpt   dpst   mpfR   RS   R   RQ   R   t   evalfR   t   strR   t	   NameError(   t   sin02RM   t   prec(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_sympy_lambday   s    Hc             s€   d t  j _ t  j d ƒ }  t t t t ƒ d ƒ ‰  d } | ˆ  d ƒ |  k  o[ | k  n sf t ‚ t t	 ‡  f d †  ƒ d  S(   Ni2   s4   0.19866933079506121545941262711838975037020672954020Ra   gVçž¯Ò<gš™™™™™É?c              s
   ˆ  t  ƒ S(   N(   RS   (    (   RM   (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   Œ   RO   (
   Rg   Rh   Ri   Rj   R   RS   R   RQ   R   RP   (   Rn   Ro   (    (   RM   sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_math_lambda…   s    -c             s‰   d t  j _ t  j d ƒ }  t t t t ƒ d ƒ ‰  d } | ˆ  t  j d ƒ ƒ |  k  od | k  n so t ‚ t t	 ‡  f d †  ƒ d  S(   Ni2   s4   0.19866933079506121545941262711838975037020672954020Rg   góÄnµÂ5s   0.2c              s
   ˆ  t  ƒ S(   N(   RS   (    (   RM   (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   —   RO   (
   Rg   Rh   Ri   Rj   R   RS   R   RQ   R   RP   (   Rn   Ro   (    (   RM   sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_mpmath_lambda   s    6c          C   sd   d t  j _ t  j d ƒ }  t t |  d ƒ } d } | | d ƒ |  k  oU | k  n s` t ‚ d  S(   Ni2   s4   0.19866933079506121545941262711838975037020672954020Rg   góÄnµÂ5i    (   Rg   Rh   Ri   Rj   R   RS   RQ   (   Rn   RM   Ro   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_number_precision›   s
    c           C   sO   d t  j _ t t d t j d ƒ d ƒ ƒ  ƒ t t j d ƒ ƒ k sK t ‚ d  S(   Nid   Rg   (    (   Rg   Rh   Ri   Rl   R   R
   Rk   RQ   (    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_mpmath_precision£   s    c          C   s[   d d l  m }  xD |  j ƒ  D]6 \ } } | t j k s> t ‚ | t j k s t ‚ q Wd  S(   Niÿÿÿÿ(   t   MATH_TRANSLATIONS(   t   sympy.utilities.lambdifyRu   t   itemsRe   t   __dict__RQ   Ra   (   Ru   t   symt   mat(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_math_transl­   s    c          C   sg   d d l  m }  xP |  j ƒ  D]B \ } } | t j k sJ | d k sJ t ‚ | t j k s t ‚ q Wd  S(   Niÿÿÿÿ(   t   MPMATH_TRANSLATIONSR   (   Rv   R|   Rw   Re   Rx   RQ   Rg   (   R|   Ry   Rz   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_mpmath_transl´   s    !c          C   sn   t  s t d ƒ n  d d l m }  xD |  j ƒ  D]6 \ } } | t j k sQ t ‚ | t  j k s0 t ‚ q0 Wd  S(   Ns   numpy not installed.iÿÿÿÿ(   t   NUMPY_TRANSLATIONS(   RG   RB   Rv   R~   Rw   Re   Rx   RQ   (   R~   Ry   t   nump(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numpy_transl»   s    c          C   s€   t  s t d ƒ n  d d l m }  xV |  j ƒ  D]H \ } } | t j k sQ t ‚ | t  j k s0 | t  j j k s0 t ‚ q0 Wd  S(   Ns   scipy not installed.iÿÿÿÿ(   t   SCIPY_TRANSLATIONS(	   RH   RB   Rv   R   Rw   Re   Rx   RQ   t   special(   R   Ry   t   scip(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_scipy_translÅ   s    c          C   sn   t  s t d ƒ n  d d l m }  xD |  j ƒ  D]6 \ } } | t j k sQ t ‚ | t  j k s0 t ‚ q0 Wd  S(   Ns   tensorflow not installediÿÿÿÿ(   t   TENSORFLOW_TRANSLATIONS(   RJ   RB   Rv   R…   Rw   Re   Rx   RQ   (   R…   Ry   t   tens(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_tensorflow_translÏ   s    c          C   s_   t  s t d ƒ n  t t t t ƒ d ƒ }  |  d ƒ d k sC t ‚ |  d ƒ d k s[ t ‚ d  S(   Ns   numpy not installed.RG   iÿÿÿÿi   (   RG   RB   R   RS   R   RQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numpy_translation_absÙ   s
    c          C   sÚ   t  s t d ƒ n  d d l m }  d } t t t f } x› |  j j ƒ  D]Š } | | k r` qH n  t	 | ƒ } t
 | d ƒ r‹ | j d } n d	 } | |  } t | | | Œ  d
 d ƒ} | d | Œ  d  k	 sH t ‚ qH Wd  S(   Ns   numexpr not installed.iÿÿÿÿ(   t   NumExprPrintert   wheret   complext   containst   _nargsi    i   t   modulesRI   (   RŠ   R‹   RŒ   (   i   (   RI   RB   t   sympy.printing.lambdareprR‰   RS   RU   RZ   t   _numexpr_functionst   keysR3   t   hasattrR   R   t   NoneRQ   (   R‰   t	   blacklistt	   arg_tupleRy   t   ssymt   nargst   argsRM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numexpr_printerâ   s    
c          C   s   t  s t d ƒ n  t s& t d ƒ n  t d ƒ }  t |  j d d „  ƒ\ } } t | | f |  d t  g d t ƒ} t j j d
 ƒ \ } } | | | ƒ d  S(   Ns   numexpr not installed.s   numpy not installed.s   b*a - sqrt(a**2)t   keyc         S   s   |  j  S(   N(   t   name(   t   s(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   ÿ   RO   RŽ   t   dummifyi   i   (   i   i   (	   RI   RB   RG   R3   t   sortedt   free_symbolsR   t   Falset   random(   t   exprt   at   bt   func_numexprt   foot   bar(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_issue_9334ù   s    $c          C   s§   t  t t d ƒ }  |  d ƒ d k s+ t ‚ |  d ƒ d k sC t ‚ |  d ƒ d k s[ t ‚ |  d ƒ d k ss t ‚ |  d ƒ d k s‹ t ‚ |  d ƒ d k s£ t ‚ d  S(	   Ni   iÿÿÿÿi   i    iþÿÿÿi   g      @g      @(   R   RS   RQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_exponentiation  s    c          C   s›   t  t t t ƒ ƒ }  |  d ƒ d k s- t ‚ |  d ƒ d k sE t ‚ |  d ƒ d k s] t ‚ t |  d ƒ d ƒ d	 k  s t ‚ |  d
 ƒ d k s— t ‚ d  S(   Ni    g        i   g      ð?i   g       @i   g9´Èv¾Ÿö?gü©ñÒMbP?g      @g      @(   R   RS   R   RQ   t   abs(   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt	   test_sqrt  s    "c          C   só   t  t g t t ƒ t t ƒ g d ƒ }  |  t ƒ } d } | | d d k  oY | k  n sd t ‚ | | d k  o€ | k  n s‹ t ‚ |  d ƒ } d } | | d d k  o½ | k  n sÈ t ‚ | | d k  oä | k  n sï t ‚ d  S(   NRa   g•dyáý¥=i    i   gn†ðù!	@gñhãˆµøä>(   R   RS   R   R   R
   RQ   (   RM   t   dRo   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt	   test_trig  s    '+'+c              sw   t  t t t f t t t f ƒ ‰  ˆ  d d d ƒ d k s? t ‚ ˆ  d d d ƒ d	 k s] t ‚ t t ‡  f d †  ƒ d  S(
   Ni   i   i   g      ð?g       @g      @c              s
   ˆ  d ƒ S(   Ni    (    (    (   RM   (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   -  RO   (   i   i   i   (   g      @g       @g      ð?(   R   RS   RU   RZ   RQ   R   RP   (    (    (   RM   sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_vector_simple(  s    !c              s   t  t d t d t f ƒ ‰  t t ‡  f d †  ƒ ˆ  d ƒ d
 k sK t ‚ ˆ  d ƒ d k sc t ‚ ˆ  d	 ƒ d k s{ t ‚ d  S(   Niÿÿÿÿi   c              s
   ˆ  d ƒ S(   Ni    (    (    (   RM   (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   2  RO   g      ð¿g      ð?i   g      à¿g      à?iþÿÿÿ(   g      ð¿g      ð?(   g      à¿g      à?(   g      à?g      à¿(   R   RS   R   t   ZeroDivisionErrorRQ   (    (    (   RM   sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_vector_discontinuous0  s
    c          C   sw   t  t g t t ƒ t t ƒ g d ƒ }  |  t ƒ } t | d d ƒ d k  sS t ‚ t | d d ƒ d k  ss t ‚ d  S(   NRa   i    i   g-Cëâ6?(   R   RS   R   R   R
   Rª   RQ   (   RM   R¬   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_trig_symbolic8  s    ' c          C   st   t  t g t t ƒ t t ƒ g ƒ }  |  d ƒ } t | d d ƒ d k  sP t ‚ t | d d ƒ d k  sp t ‚ d  S(   Ngn†ðù!	@i    i   g-Cëâ6?(   R   RS   R   R   Rª   RQ   (   RM   R¬   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_trig_float?  s    $ c          C   sâ   t  t t d ƒ }  |  d ƒ d k s+ t ‚ t  t t t g t t t g ƒ }  |  d d d ƒ d d d g k ss t ‚ t  t t t ƒ ƒ }  |  d ƒ d k s  t ‚ t  t t f t t t ƒ d ƒ }  |  d d ƒ d k sÞ t ‚ d  S(   Ni   i   i   i   g       @i    i   (   R   RS   RQ   RU   RZ   R   R   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt	   test_docsF  s    !'#c          C   s@   t  t t f t t ƒ d d ƒ}  |  d d ƒ d k s< t ‚ d  S(   NRŽ   Ra   i    i   (   R   RS   RU   R   RQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt	   test_mathQ  s    !c          C   sr   t  t t t ƒ d ƒ }  t |  d ƒ t ƒ s4 t ‚ t  t t t ƒ d d d ƒ}  t |  d ƒ t ƒ sn t ‚ d  S(   Ni   RŽ   Ra   (   R   RS   R   t
   isinstancet   floatRQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_sinV  s    c          C   s’  t  t t t g t t ƒ d t t g g ƒ }  t  d d g t d ƒ d d g g ƒ } t t t t f |  d d ƒ} | d d d ƒ | k s” t ‚ t t t t f |  |  g f d d ƒ} | d d d ƒ | | g f k sâ t ‚ t  t t t f ƒ j t t f ƒ } t  t t f ƒ } t  d d g d d g g ƒ } t | | d d ƒd d ƒ | k sat ‚ t | j | d d ƒd d ƒ | k sŽt ‚ d  S(   Ni   i   i   i   RŽ   Re   i    (	   R   RS   RU   R   RZ   R   RQ   t   jacobiant   T(   t   At   solRM   t   Jt   v(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_matrix]  s    0(''%*c             sê  t  s t d ƒ n  t t t t g t t ƒ d t t g g ƒ }  t  j d d g t  j d ƒ d d g g ƒ } t t t t f |  d g ƒ } t  j	 j
 | d d d ƒ | ƒ t | d d d ƒ t  j ƒ sÒ t ‚ d t f d „  ƒ  Y} | t t d g d g d	 g g ƒ ƒ ‰ t t ˆ ƒ } t  j d ƒ ‰  t  j | ˆ  ƒ d	 k ƒ sNt ‚ t d t d t d t ƒ } t t d i d d 6|  ƒ } t t ˆ d | ƒ} t  j | ˆ  ƒ d	 k ƒ s¾t ‚ t | ƒ ‰ t t ‡  ‡ ‡ f d †  ƒ d  S(   Ns   numpy not installed.i   i   i   i   RG   t   dotc           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyR¿   w  s   i    i   t   allow_unknown_functionst   inlinet   fully_qualified_modulest   user_functionst   printerc              s   t  t ˆ d ˆ ƒˆ  ƒ S(   NRÆ   (   R   RS   (    (   t   inpt   p3t	   x_dot_mtx(    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   …  RO   (   i   i   (   RG   RB   R   RS   RU   R   RZ   t   arrayR   t   testingt   assert_allcloseRµ   t   ndarrayRQ   R   t   zerost   allt   dictR    t   TrueR?   R   t	   Exception(   Rº   t   sol_arrRM   R¿   t   f_dot1t	   strict_kwt   p2t   f_dot2(    (   RÇ   RÈ   RÉ   sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numpy_matrixk  s$    0.$'!!c          C   s   t  s t d ƒ n  t d t g d d g g ƒ }  t t |  j d d ƒ} t  j j | d ƒ t  j d d g d d g g ƒ ƒ d  S(   Ns   numpy not installed.i   i    RŽ   RG   i   (	   RG   RB   R   RS   R   R¹   RË   t   assert_array_equalRÊ   (   Rº   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numpy_transposeˆ  s
    c          C   sE  t  s t d ƒ n  t t t t g ƒ }  t t t t g t |  |  ƒ d d ƒ} t t t t g t |  |  j ƒ d d ƒ} t t t t g t |  j |  ƒ d d ƒ} t t t t g t |  |  j ƒ d d ƒ} | d d d ƒ | d d d ƒ k o6| d d d ƒ k o6| d d d ƒ k o6t  j	 d g ƒ k n sAt
 ‚ d  S(   Ns   numpy not installedRŽ   RG   i   i   i   i   (   RG   RB   R   RS   RU   RZ   R   R$   R¹   RÊ   RQ   (   Rº   RW   RX   R[   t   f4(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numpy_dotproduct  s    '***c          C   s‚   t  s t d ƒ n  t d t g d d g g ƒ }  t t |  d d d ƒ} t  j j | d ƒ t  j d d g d d g g ƒ ƒ d  S(	   Ns   numpy not installed.i   i    iÿÿÿÿRŽ   RG   i   iþÿÿÿ(   RG   RB   R   RS   R   RË   RÙ   RÊ   (   Rº   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numpy_inverse   s
    c          C   sã   t  s t d ƒ n  t t t t g t t ƒ d t t g g ƒ }  t  j d d g t  j d ƒ d d g g ƒ } t t t t f |  i t  j	 d 6d g ƒ } t  j
 j | d d d ƒ | ƒ t | d d d ƒ t  j	 ƒ sß t ‚ d  S(   Ns   numpy not installed.i   i   i   i   t   ImmutableDenseMatrixRG   (   RG   RB   R   RS   RU   R   RZ   RÊ   R   t   matrixRË   RÌ   Rµ   RQ   (   Rº   RÓ   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numpy_old_matrix¨  s    0.+c          C   s  t  s t d ƒ n  t d t t d k  f t t d k  f d t t f ƒ }  t t t g |  d d ƒ} t  j d d ƒ t | t  j	 d g ƒ t  j	 d	 g ƒ ƒ ƒ d k s¯ t
 ‚ t t | t  j	 d g ƒ t  j	 d g ƒ ƒ ƒ ƒ d
 k sî t
 ‚ t  j d d ƒ d  S(   Ns   numpy not installed.i   iÿÿÿÿRŽ   RG   t   dividet   ignorei    g      à?t   inft   warn(   RG   RB   R   RS   RU   RÑ   R   t   seterrR¶   RÊ   RQ   Rl   (   t   pRM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt    test_python_div_zero_issue_11306²  s    89?c          C   sJ  d  d g }  t r" |  j d ƒ n  t r8 |  j d ƒ n  x‚ |  D]z } t t t d ƒ t d | ƒ} | d ƒ d k s| t ‚ t t t t d ƒ t ƒ d | ƒ} | d ƒ d k s? t ‚ q? Wx† t	 t
 t g |  ƒ D]o \ } } t t | t ƒ d | ƒ} | d	 ƒ d k st ‚ | d ƒ d k s*t ‚ | d ƒ d k sÓ t ‚ qÓ Wd  S(   NRa   RG   Rg   i   RŽ   i   g      à?i    iÿÿÿÿi   y              @i   y      @      @(   R“   RG   t   appendRg   R   RS   R3   RQ   R    R   R   Rª   (   t   modst   modRM   t   absfuncRŽ   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_issue9474½  s    %"c          C   s  t  s t d ƒ n  t s& t d ƒ n  t t d t d ƒ }  t d |  t ƒ } t j d d d ƒ } } t j d ƒ d | d	 } t t t f | d
 d ƒ| | ƒ } t t t f | d
 d ƒ| | ƒ } t j	 j
 | | d d ƒt j	 j
 | | d d ƒd  S(   Ns   numexpr not installed.s   numpy not installed.i   i   i
   i   g       @iýÿÿÿiþÿÿÿRŽ   RG   RI   t   rtolg»½×Ùß|Û=(   RI   RB   RG   R   RS   RU   R!   t   linspaceR   RË   RÌ   (   t   rR¢   t   xnt   ynt   fv_exactt   fv_numpyt
   fv_numexpr(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_issue_9871Ð  s    $$c          C   s  t  s t d ƒ n  t t t d k  f t d t d k f d t f ƒ }  t t |  d d ƒ} t  j j | t  j d ƒ ƒ t  j	 d d	 d d d d d
 d d d g
 ƒ ƒ t t t t t d k f t t d k  f ƒ ƒ } t  j j | t  j	 d d d	 g ƒ ƒ t  j	 d	 t  j
 d	 g ƒ ƒ d  S(   Ns   numpy not installed.i   i   i   i    RŽ   RG   i
   i   i$   i1   i@   iQ   iÿÿÿÿ(   RG   RB   R   RS   RÑ   R   RË   RÙ   t   arangeRÊ   t   nan(   t   piecesRM   t
   nodef_func(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numpy_piecewiseã  s    4.1$c          C   sç  t  s t d ƒ n  t t t f t t t ƒ d d ƒ}  t t t t f t t t t ƒ d d ƒ} t t t f t t t ƒ d d ƒ} t t t t f t t t t ƒ d d ƒ} t t t t ƒ d d ƒ} t  j	 t
 t
 g ƒ } t  j	 t t
 g ƒ } t  j	 t
 t g ƒ } t  j j |  | | ƒ t  j	 t t
 g ƒ ƒ t  j j | | | | ƒ t  j	 t t g ƒ ƒ t  j j | | | ƒ t  j	 t
 t
 g ƒ ƒ t  j j | | | | ƒ t  j	 t
 t
 g ƒ ƒ t  j j | | ƒ t  j	 t
 t g ƒ ƒ d  S(   Ns   numpy not installed.RŽ   RG   (   RG   RB   R   RS   RU   R   RZ   R   R   RÊ   RÑ   R    RË   RÙ   (   t   and_funct
   and_func_3t   or_funct	   or_func_3t   not_funct   arr1t   arr2t   arr3(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numpy_logical_opsð  s    $*$*+.+.c          C   sE  t  s t d ƒ n  t t t g t d t g g ƒ }  t t d g t t ƒ g g ƒ } t t t t f |  | d d ƒ} t  j j	 | d d d ƒ t  j
 d	 g d
 g g ƒ ƒ t  j j	 | d d d ƒ t  j
 d g d
 g g ƒ ƒ t t t t f |  |  |  d d ƒ} t  j j	 | d d d ƒ t  j
 d d g d d g g ƒ ƒ d  S(   Ns   numpy not installed.i   i   RŽ   RG   g      à?i   i   g      ú?g      @g      à¿g      ö?g     R@g     Ð]@iŸ   iû   (   RG   RB   R   RS   RU   RZ   R   R   RË   RÙ   RÊ   (   t   xmatt   ymatt   mat_funcRM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numpy_matmul  s    """44&'c          C   s=  t  s t d ƒ n  t s& t d ƒ n  t  j j d d d ƒ \ }  } } t t ƒ t t ƒ t	 t
 ƒ d t t
 t ƒ t t t t
 ƒ ƒ t t t
 ƒ t d t t t ƒ ƒ t t d t t d ƒ } t t t t
 f | d d ƒ} t t t t
 f | d d ƒ} t  j | |  | | ƒ | |  | | ƒ ƒ s9t ‚ d  S(	   Ns   numpy not installed.s   numexpr not installed.i   i€   i   RŽ   RG   RI   (   RG   RB   RI   R¡   t   randnR   RS   R   RU   R	   RZ   R   R   R   R   R   R   R   t   allcloseRQ   (   R£   R¤   t   cR¢   t   npfunct   nefunc(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numpy_numexpr  s    !†c          C   s  t  s t d ƒ n  t s& t d ƒ n  t  j j d d ƒ \ }  } t d t f i t d „  ƒ d 6ƒ } t t	 d | t	 ƒ d	 d
 ƒ} t  j
 | |  ƒ |  d ƒ s¨ t ‚ t t d ƒ d „  ƒ } t t	 t f | t	 t ƒ d	 d
 ƒ} t  j
 | |  | ƒ d |  | d ƒ st ‚ d  S(   Ns   numpy not installed.s   numexpr not installed.i   i
   t   ufc         S   s   | d d S(   Ni   i   (    (   RS   RU   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   %  RO   t   evali   RŽ   RI   c         S   s   d |  | d S(   Ni   i   (    (   RS   RU   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   )  RO   (   RG   RB   RI   R¡   R  t   typeR   t   classmethodR   RS   R	  RQ   R@   RU   (   R£   R¤   R  t   func(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numexpr_userfunctions  s    #$c          C   s—   t  s t d ƒ n  t t t ƒ t d t d ƒ ƒ }  t t |  d d ƒ} t  j d d t  j ƒ} t  j	 ƒ  } | | ƒ j
 d | ƒ d	 k s“ t ‚ d  S(
   Ns   tensorflow not installed.i   i   RŽ   RJ   i    t   dtypet   sessiong      à?(   RJ   RB   R   R   RS   R   R   t   constantt   float32t   SessionR  RQ   (   R¢   R  R£   Rœ   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_tensorflow_basic_math.  s    #c          C   s¡   t  s t d ƒ n  t t t ƒ t d t d ƒ ƒ }  t t |  d d ƒ} t  j d t  j ƒ } t  j	 ƒ  } | | ƒ j
 d | d i d	 | 6ƒ d
 k s t ‚ d  S(   Ns   tensorflow not installed.i   i   RŽ   RJ   R  R  t	   feed_dicti    g      à?(   RJ   RB   R   R   RS   R   R   t   placeholderR  R  R  RQ   (   R¢   R  R£   Rœ   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_tensorflow_placeholders8  s    #c          C   sÕ   t  s t d ƒ n  t t t ƒ t d t d ƒ ƒ }  t t |  d d ƒ} t  j d d t  j ƒ} t  j	 ƒ  } t
 t  j ƒ d k  rš | j t  j ƒ  ƒ n | j t  j ƒ  ƒ | | ƒ j d	 | ƒ d
 k sÑ t ‚ d  S(   Ns   tensorflow not installed.i   i   RŽ   RJ   i    R  s   1.0R  g      à?(   RJ   RB   R   R   RS   R   R   t   VariableR  R  t   Vt   __version__t   runt   initialize_all_variablest   global_variables_initializerR  RQ   (   R¢   R  R£   Rœ   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_tensorflow_variablesB  s    #c          C   s¡   t  s t d ƒ n  t t t t t ƒ t ƒ ƒ }  t t t g |  d d ƒ} t  j t	 ƒ } t  j t
 ƒ } t  j ƒ  } | | | ƒ j d | ƒ d k s t ‚ d  S(   Ns   tensorflow not installed.RŽ   RJ   R  i    (   RJ   RB   R   R   R   RS   RU   R   R  R    RÑ   R  R  RQ   (   R¢   R  R£   R¤   Rœ   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt"   test_tensorflow_logical_operationsP  s    c          C   s  t  s t d ƒ n  t d t t d ƒ f d t d k  f d t d k f ƒ }  t t |  d d ƒ} t  j d t  j ƒ } t  j ƒ  } | | ƒ j	 d | d	 i d | 6ƒ d k s³ t
 ‚ | | ƒ j	 d | d	 i d | 6ƒ d k sä t
 ‚ | | ƒ j	 d | d	 i d | 6ƒ d k st
 ‚ d  S(
   Ns   tensorflow not installed.i    iÿÿÿÿi   RŽ   RJ   R  R  R  (   RJ   RB   R   R%   RS   R   R  R  R  R  RQ   (   R¢   R  R£   Rœ   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_tensorflow_piecewise[  s    911c          C   s•   t  s t d ƒ n  t t t t d ƒ }  t t |  d d ƒ} t  j d t  j ƒ } t  j ƒ  } | | ƒ j d | d i d | 6ƒ d	 k s‘ t	 ‚ d  S(
   Ns   tensorflow not installed.i   RŽ   RJ   R  R  R  iþÿÿÿi   (
   RJ   RB   R   RS   R   R  R  R  R  RQ   (   R¢   R  R£   Rœ   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_tensorflow_multi_maxg  s    c          C   s•   t  s t d ƒ n  t t t t d ƒ }  t t |  d d ƒ} t  j d t  j ƒ } t  j ƒ  } | | ƒ j d | d i d | 6ƒ d k s‘ t	 ‚ d  S(	   Ns   tensorflow not installed.i   RŽ   RJ   R  R  R  iþÿÿÿ(
   RJ   RB   R   RS   R   R  R  R  R  RQ   (   R¢   R  R£   Rœ   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_tensorflow_multi_minq  s    c          C   s„   t  s t d ƒ n  t d k }  t t |  d d ƒ} t  j d t  j ƒ } t  j ƒ  } | | ƒ j d | d i d | 6ƒ s€ t ‚ d  S(	   Ns   tensorflow not installed.i    RŽ   RJ   R  R  R  i   (	   RJ   RB   RS   R   R  R  R  R  RQ   (   R¢   R  R£   Rœ   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_tensorflow_relational{  s    c          C   s‚   t  t t t d ƒ ƒ }  t t t |  t ƒ t t t f ƒ d d ƒ} | t ƒ t t t d ƒ t t t f ƒ k s~ t ‚ d  S(   Ni   RŽ   Re   (   R   RS   R   R   R   R   RQ   (   RM   t   l(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_integral…  s    .c          C   s3   t  t t t ƒ }  |  t ƒ t t k s/ t ‚ d  S(   N(   R   RS   RU   RZ   RQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_sym_single_arg  s    c          C   s@   t  t t g t t t ƒ }  |  d d ƒ d t k s< t ‚ d  S(   Ni   i   i   (   R   RS   RU   RZ   RQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_sym_list_args’  s    c          C   sp   t  t t t d ƒ ƒ }  t t t |  t ƒ t t t f ƒ d d ƒ} | t ƒ j ƒ  t t	 ƒ k sl t
 ‚ d  S(   Ni   RŽ   Re   (   R   RS   R   R   R   R   RU   t   doitR   R
   RQ   (   RM   R)  (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_sym_integral—  s    .c          C   s¾   i d „  d 6}  i d „  d 6d „  d 6} t  j d ƒ } t  j d ƒ } t t | t ƒ d |  d f ƒ} | d ƒ d	 k s t ‚ t t | t ƒ d | d f ƒ} | d ƒ d	 k sº t ‚ d  S(
   Nc         S   s   d S(   Ns   first f(    (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   ¤  RO   RM   c         S   s   d S(   Ns   second f(    (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   ¥  RO   c         S   s   d S(   Ns
   function g(    (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   ¦  RO   t   gRŽ   Re   i   s   first f(   Re   R   R   RS   RQ   (   t   n1t   n2RM   R/  t   if1t   if2(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_namespace_order  s    !!c          C   s&   t  j d ƒ }  t |  |  d d ƒd  S(   NRS   RŽ   u   math(   Re   t   SymbolR   (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_namespace_type°  s    c             s,  t  d d „  ƒ ‰  t  d d „  ƒ }  t t ˆ  t ƒ ƒ } t t |  t ƒ ƒ } t ˆ  t ƒ ƒ t |  t ƒ ƒ k sx t ‚ | d ƒ d k s t ‚ | d ƒ t j d ƒ k s± t ‚ t j d ƒ } t	 | d ƒ sÖ t ‚ t  | d „  ƒ } t	 | d ƒ sý t ‚ t  d d	 „  ƒ ‰ t
 t ‡  ‡ f d
 †  ƒ d  S(   NRM   c         S   s   d |  S(   Ni   (    (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   º  RO   c         S   s   t  j |  ƒ S(   N(   Ra   R   (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   »  RO   i   i   R^   t   _imp_c         S   s   d |  S(   Ni   (    (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   Ä  RO   c         S   s   |  d S(   Nie   (    (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   Ç  RO   c              s   t  t ˆ  ˆ t ƒ ƒ ƒ S(   N(   R   RS   (    (   RM   RX   (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   È  RO   (   R@   R   RS   Rl   RQ   Ra   R   Re   R   R’   R   t
   ValueError(   R/  t   l1t   l2R  t   my_f(    (   RM   RX   sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt	   test_imps·  s    *!c             sl   xe t  d t t f ƒ D]N \ }  ‰  ‡  f d †  } t d | ƒ } | |  ƒ } | | |  ƒ k s t ‚ q Wd  S(   Ni    g        i   g       @c            s   |  d k r ˆ  ‚ n  d S(   Ni    i   (    (   R£   (   t   error_class(    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyR^   Õ  s    	RM   (   i    g        i   g       @(   R   RP   R8  R@   RQ   (   t   valR^   RM   R¢   (    (   R=  sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_imps_errorsË  s
    "c           C   s   t  t d „  ƒ d  S(   Nc           S   s   t  t d „  ƒ S(   Nc         S   s   |  S(   N(    (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   à  RO   (   R@   R   (    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   à  RO   (   R   R8  (    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_imps_wrong_argsß  s    c          C   s  t  j }  t t |  t ƒ ƒ d ƒ d k s0 t ‚ t t d |  t ƒ ƒ d ƒ d k s[ t ‚ t t t f t |  t ƒ ƒ d d ƒ d k s t ‚ t d d „  ƒ }  t t |  t ƒ ƒ d ƒ d k sÈ t ‚ t t d |  t ƒ ƒ d ƒ d k só t ‚ t t t f t |  t ƒ ƒ d d ƒ d k s't ‚ t t |  t ƒ t f ƒ } | d ƒ d k sZt ‚ t t |  t ƒ t g ƒ } | d ƒ d	 d g k s“t ‚ t t |  t ƒ |  t ƒ t f g ƒ } | d ƒ d	 d g k sØt ‚ t t i t |  t ƒ 6ƒ } | d ƒ i d d	 6k st ‚ t t i t |  t ƒ 6ƒ } | d ƒ i d d	 6k sNt ‚ t t i |  t ƒ t 6ƒ } | d ƒ i d	 d 6k s‰t ‚ i d
 „  d 6} t t |  t ƒ | ƒ } | d ƒ d	 k sÉt ‚ t t |  t ƒ | d t ƒ} | d ƒ d k sÿt ‚ d  S(   Ni    i   i   RM   c         S   s   |  d S(   Nid   (    (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   ë  RO   id   ie   i   ig   c         S   s   |  d S(   Nic   (    (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   ý  RO   t   use_impsif   (   ig   i   (   ig   i   (   Re   R   R   RS   RQ   RU   R@   R    (   RM   t   lamR¬   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_lambdify_impsã  s2    	'+4'+4'c             sc  t  d ƒ ‰ t d ƒ ‰  t d ƒ ‰ t  d ƒ }  d ˆ  ˆ ƒ d ˆ ˆ ƒ } t ˆ  ˆ ƒ ˆ ˆ ƒ f | ƒ } | d d ƒ d k sŠ t ‚ t t ˆ ƒ d t ˆ ƒ d ƒ } | ˆ  ˆ ƒ ƒ d ˆ  ˆ ƒ d k sÙ t ‚ t |  ˆ f d |  ˆ ƒ } | d d ƒ d	 k st ‚ t t ‡  ‡ ‡ f d
 †  ƒ t t ‡  ‡ f d †  ƒ t t ‡  ‡ f d †  ƒ d  S(   Nt   tt   Ft   Gs   \alphai   i   i	   i   i   c              s1   t  ˆ  ˆ ƒ ˆ ˆ ƒ ˆ  ˆ ƒ ˆ ˆ ƒ d ƒ S(   Ni   (   R   (    (   RE  RF  RD  (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN     RO   c              s%   t  d ˆ  ˆ ƒ d ˆ  ˆ ƒ d ƒ S(   Ni   i   (   R   (    (   RE  RD  (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN     RO   c              s%   t  d ˆ  ˆ ƒ d ˆ  ˆ ƒ d ƒ S(   Ni   i   i   (   R   (    (   RE  RD  (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN     RO   (   R   R   R   RQ   R   R   t   SyntaxError(   t   alphat	   some_exprRB  (    (   RE  RF  RD  sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_dummification  s    !#,c          C   sm   t  j d d d ƒ }  t |  |  ƒ } | d ƒ d k s< t ‚ t |  |  d t ƒ} | d ƒ d k si t ‚ d  S(   Ns   {v}i   i   R   (   Re   R4   R   RQ   RÑ   (   t   curlyvRB  (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_curly_matrix_symbol  s
    c          C   sA   t  d ƒ }  |  d } t |  | ƒ } | d ƒ d k s= t ‚ d  S(   Nt   ifi   g      @g       @(   R   R   RQ   (   t	   python_ifR¢   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_python_keywords#  s    
c          C   s®   t  t t t t f t t t t ƒ }  d j ƒ  } |  j j ƒ  t | ƒ  | k sX t ‚ t	 d ƒ } t  | t
 | ƒ ƒ }  d j ƒ  } |  j j ƒ  t | ƒ  | k sª t ‚ d  S(   NsO   Created with lambdify. Signature:

func(w, x, y, z)

Expression:

w + x + y + zs   a1:26s   Created with lambdify. Signature:

func(a1, a2, a3, a4, a5, a6, a7, a8, a9, a10, a11, a12, a13, a14, a15,
        a16, a17, a18, a19, a20, a21, a22, a23, a24, a25)

Expression:

a1 + a10 + a11 + a12 + a13 + a14 + a15 + a16 + a17 + a18 + a19 + a2 + a20 +...(   R   RY   RS   RU   RZ   t
   splitlinest   __doc__t   lenRQ   R   t   sum(   R  t   reft   syms(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_lambdify_docstring-  s    '%c             s  d t  f ‡  f d †  ƒ  Y‰  ‡  f d †  }  t t d ƒ t d ƒ ƒ t d ƒ d } t d
 | d d d	 |  ƒ} t d | d d d	 ˆ  ƒ} t d | d d d	 ˆ  ƒ  ƒ} t t j d d ƒ ƒ } t | ƒ  | ƒ sÙ t ‚ t | ƒ  | ƒ sñ t ‚ t | ƒ  | ƒ s	t ‚ d  S(   Nt   IntervalPrinterc              s,   e  Z d  Z ‡  f d †  Z ‡  f d †  Z RS(   s?   Use ``lambda`` printer but print numbers as ``mpi`` intervals. c            s   d t  ˆ  |  ƒ j | ƒ S(   Ns	   mpi('%s')(   t   supert   _print_Integer(   t   selfR¢   (   RW  (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRY  I  s    c            s   d t  ˆ  |  ƒ j | ƒ S(   Ns	   mpi('%s')(   RX  t   _print_Rational(   RZ  R¢   (   RW  (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyR[  L  s    (   RÀ   RÁ   RQ  RY  R[  (    (   RW  (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRW  F  s   c            s   ˆ  ƒ  j  |  ƒ S(   N(   t   doprint(   R¢   (   RW  (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   intervalreprO  s    i   i   i   RŽ   Rg   RÆ   (    (    (    (	   R>   R   R3   R   R  Rg   t   mpiRµ   RQ   (   R]  R¢   t   func0t   func1t   func2R^  (    (   RW  sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_special_printersE  s    	*c           C   s@   t  g  t ƒ ƒ  t k s t ‚ t  g  t ƒ ƒ  t k s< t ‚ d  S(   N(   R   R   RÑ   RQ   R   R    (    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_true_false_  s    c           C   s«   t  t t t f f t t ƒ d d ƒ d k s4 t ‚ t  t t t t f f f t t t t ƒ d d d f ƒ d k s| t ‚ t  t t d d t ƒd ƒ d k s§ t ‚ d  S(	   Ni   i   i   i   i
   R   (   i   i   (   i   i   (   R   RS   RU   RZ   RQ   RY   R    (    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_issue_2790e  s    4Hc          C   s@   t  d d „  ƒ }  |  |  d ƒ ƒ j ƒ  t d ƒ k s< t ‚ d  S(   NRM   c         S   s   |  d S(   Ni   (    (   RS   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   l  RO   i   i   (   R@   Rk   R   RQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_issue_12092k  s    c          C   sc   d t  j f d „  ƒ  Y}  |  d ƒ } d | } t ƒ  j | ƒ } | j d d ƒ d k s_ t ‚ d  S(   NR  c           B   s   e  Z d  „  Z e Z e Z RS(   c         S   s   | j  |  j ƒ S(   N(   R\  R›   (   RZ  RÆ   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt	   _sympystrr  s    (   RÀ   RÁ   Rf  t   _lambdacodet
   _numpycode(    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyR  q  s   	RS   i   t    RO   s   2*x(   Re   R5  R>   R\  t   replaceRQ   (   R  RS   RU   t   code(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_issue_14911p  s
    
c           C   s|   t  t t t f t t t t ƒ ƒ t d d ƒ d k s< t ‚ t  t t t f t t t t ƒ ƒ t d d ƒ d k sx t ‚ d  S(   Ni   i   (   R   RS   RU   RZ   R   RÑ   RQ   R    (    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_ITE~  s    <c           C   s|   t  t t t f t t t t ƒ ƒ d d d ƒ d k s< t ‚ t  t t t f t t t t ƒ ƒ d d d ƒ d k sx t ‚ d  S(   Ni   i   i   (   R   RS   RU   RZ   R   RQ   R   (    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_Min_Maxƒ  s    <c          C   sŸ   t  s t d ƒ n  t d ƒ }  t d ƒ \ } } t  j d d g d d g g ƒ } t |  t |  t t f t d d f t d d f ƒ ƒ | ƒ d	 k s› t	 ‚ d  S(
   Ns   numpy not installedR£   s   i ji   i   i   i   i    i
   (
   RG   RB   R"   R   RÊ   R   R#   RS   RU   RQ   (   R£   t   it   jR¤   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_Indexed‰  s    !c          C   sš   t  t t f t t t ƒ d ƒ d d ƒ }  t  t t f t t t ƒ d ƒ d d ƒ } |  t d d ƒ j ƒ  k su t ‚ | t d d ƒ j ƒ  k s– t ‚ d  S(   NRg   i   i   (   R   RS   RU   RE   RF   Rk   RQ   (   t   exp1t   exp2(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_issue_12173”  s    **!c          C   sZ   t  s t d ƒ n  t t t t ƒ ƒ }  t |  d ƒ t d ƒ ƒ j ƒ  d k  sV t ‚ d  S(   Ns   numpy not installedi   gVçž¯Ò<(   RG   RB   R   RS   R'   R   t   nRQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_issue_13642œ  s    c          C   sJ   t  t t t ƒ d ƒ }  t |  d ƒ t d ƒ ƒ j ƒ  d k  sF t ‚ d  S(   NRg   i   gVçž¯Ò<(   R   RS   R'   R   Ru  RQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_sinc_mpmath£  s    c          C   sÔ   t  ƒ  }  t |  |  d d t ƒ} | d ƒ d k s: t ‚ t |  |  d ƒ } | d ƒ d k se t ‚ t  d ƒ } t | | d ƒ } | d ƒ d k sœ t ‚ t | g g | d ƒ } | d g ƒ d k sÐ t ‚ d  S(   Ni   R   i   i   RS   (   R&   R   R    RQ   (   t   d1RW   t   f1bt   d2RX   R[   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_lambdify_dummy_arg¨  s    	c          C   sS   t  ƒ  }  t t |  ƒ ƒ } t |  | g |  | ƒ } | d d ƒ d k sO t ‚ d  S(   Ni   i   i   (   R&   R   Rl   R   RQ   (   R¬   t   dsymRM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt%   test_lambdify_mixed_symbol_dummy_argsµ  s    	c          C   sa   t  s t d ƒ n  t t t g g t t t d ƒ }  |  t  j d d g ƒ ƒ d k s] t ‚ d  S(   Ns   numpy not installedRG   g       @g      ð?i   (   RG   RB   R   RS   RU   RÊ   RQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_numpy_array_arg½  s    #c          C   s|   t  s t d ƒ n  t t t g g t t t d ƒ }  |  t  j d d g ƒ ƒ } t  j ƒ  } | j | ƒ d k sx t ‚ d  S(   Ns   tensorflow not installed.RJ   g       @g      ð?i   (	   RJ   RB   R   RS   RU   R  R  R   RQ   (   RM   t   fcallRœ   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_tensorflow_array_argÇ  s    #c          C   sw  t  s t d ƒ n  t t t t t t g }  t  j j t  j j t  j j t  j j t  j j	 t  j j
 g } t j j d ƒ xst |  | ƒ D]b\ } } t t | t ƒ d d ƒ} x8t d ƒ D]*} t j j d d ƒ d t j j d	 d
 ƒ } | t k r1t j | ƒ d k  r1| d t j t j | ƒ ƒ } n  | t k rOt j | ƒ } n  | t k rmt j | ƒ } n  | | ƒ j ƒ  } t | | ƒ | ƒ d d t | ƒ k  s¯t ‚ t | | ƒ | | ƒ ƒ d d t | ƒ k  s» t ‚ q» Wq‡ Wt t t t t g } t  j j t  j j t  j j t  j j t  j j  g }	 x;t | |	 ƒ D]*\ } } t t t! f | t t! ƒ d d ƒ} x÷ t d ƒ D]é } t j j d d ƒ }
 t j j d d ƒ d t j j d	 d
 ƒ } | t k rçt j | ƒ } n  | |
 | ƒ j ƒ  } t | |
 | ƒ | ƒ d d t | ƒ k  s/t ‚ t | |
 | ƒ | |
 | ƒ ƒ d d t | ƒ k  s‚t ‚ q‚WqEWd  S(   Ns   scipy not installedi    RŽ   RH   i   iöÿÿÿi
   y              ð?iûÿÿÿi   i   g‚vIhÂ%<=i   ("   RH   RB   R(   R)   R*   R+   R,   R-   R‚   t   gammalnt   psiRG   R¡   t   seedt   zipR   RS   t   ranget   uniformt   realRª   Rk   RQ   R.   R/   R0   R1   R2   t   pocht   jvt   yvt   ivt   kvRU   (   t   single_arg_sympy_fnst   single_arg_scipy_fnst   sympy_fnt   scipy_fnRM   Ro  t   tvt   sympy_resultt   double_arg_sympy_fnst   double_arg_scipy_fnst   tv1t   tv2(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_scipy_fnsÔ  sD    ,!#0>	!$,3c       
   C   sý  t  s t d ƒ n  t j j d ƒ t d ƒ }  t d f t d f t d f t	 d f t
 d f t d f t d f t d f t d f g	 } xp| D]h\ } } |  |  t f } t | | | Œ  ƒ } x3t d ƒ D]%} t j j d d ƒ } t t j j d d d	 | d ƒƒ } t j j d
 d ƒ d t j j d d ƒ }	 | t	 k rVt j |	 ƒ }	 n  | t k r›t j j d d ƒ }	 t t j j d | d	 d ƒƒ } n  | f | |	 f }
 | |
 Œ  j ƒ  } t | |
 Œ  | ƒ d d t | ƒ k  sÌ t ‚ qÌ Wq Wd  S(   Ns   scipy not installedi    s   n k a bi   i   i   i
   i   t   sizeiöÿÿÿy              ð?iûÿÿÿiÿÿÿÿg‚vIhÂ%<=(   RH   RB   RG   R¡   Rƒ  R   R5   R6   R7   R8   R9   R:   R;   R<   R=   RS   R   R…  t   randintt   tupleR†  R‡  Rk   Rª   RQ   (   t   paramst   polysR  t
   num_paramsR˜   RM   Ro  t   tnt   tparamsR‘  t   valsR’  (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_scipy_polys  s8    								%,$c          C   s2   t  t t d ƒ }  d t j |  ƒ k s. t ‚ d  S(   Ni   s   x**2(   R   RS   t   inspectt	   getsourceRQ   (   RM   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_lambdify_inspect)  s    c          C   sÞ   t  ƒ  t  ƒ  }  } t |  | g i d |  6d | 6d ƒ } | d d ƒ i d d 6d d 6k sb t ‚ t |  | g | |  f d ƒ } | d d ƒ d k s› t ‚ t |  | g | |  g d ƒ } | d d ƒ d d g k sÚ t ‚ d  S(   Ni   Re   i   (   i   i   (   R&   R   RQ   (   RS   RU   RW   RX   R[   (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_issue_149410  s    &)c              sp  t  d ƒ t ƒ ‰  ˆ  j ƒ  ‰ t ˆ  ˆ f ˆ  ˆ ƒ d d ƒ d k sL t ‚ t t ˆ  ˆ f ˆ  ˆ ƒ ƒ d d ƒ d k s€ t ‚ t t ‡  ‡ f d †  ƒ t t ˆ  ˆ f ˆ  ˆ d t	 ƒƒ d d ƒ d k sÓ t ‚ t t ˆ ˆ  f ˆ  ˆ d t	 ƒƒ t
 d ƒ d ƒ t
 j k st ‚ t ˆ d ˆ ƒ d	 ƒ d
 k s;t ‚ t t ˆ d ˆ d t	 ƒƒ d	 ƒ d
 k slt ‚ d  S(   NRM   i
   i   i   i   c              s#   t  t ˆ  ˆ f ˆ  ˆ d t ƒƒ S(   NR   (   R  RA   R    (    (   RM   t   fx(    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyRN   E  s    R   i   i)   i*   (   R   RS   R!   R   RQ   R  RA   R   RG  RÑ   R3   t   Half(    (    (   RM   R¦  sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt(   test_lambdify_Derivative_arg_issue_16468@  s    .4:C%c          C   sv   t  t g t j t ƒ ƒ }  d } |  | ƒ | j k s< t ‚ t  t g t j t ƒ ƒ } | | ƒ | j k sr t ‚ d  S(   Ni   y               @y      @       @(   R   RZ   Re   t   reR‡  RQ   t   imt   imag(   t   f_reR>  t   f_im(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_imag_realM  s
    c          C   sâ   t  s t d ƒ n  t d d d ƒ }  t  j d d g d d g g ƒ } t |  |  d ƒ } t  j | | ƒ t  j d d	 g d
 d g g ƒ ƒ s’ t ‚ t |  |  d ƒ } t  j | | ƒ t  j d d g d d g g ƒ ƒ sÞ t ‚ d  S(   Ns   numpy not installedRº   i   i   i   i   iÿÿÿÿg       Àg      ð?g      ø?g      à¿i%   i6   iQ   iv   (   RG   RB   R4   RÊ   R   R	  RQ   (   Rº   t   A0RM   R/  (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_MatrixSymbol_issue_15578V  s    !9c          C   s×   t  s t d ƒ n  d d l m }  m } m } m } d d l m } d	 \ } } } } | j	 | | | | ƒ j
 ƒ  }	 t |  | | | f | j	 |  | | | ƒ ƒ }
 |
 | | | | ƒ } t |	 | ƒ d k  sÓ t ‚ d  S(
   Ns   scipy not installediÿÿÿÿ(   Ru  R)  Rï   t   Z(   t   hydrogeni   i    i   gVçž¯Ò<(   i   i    i   i   (   RH   RB   t	   sympy.abcRu  R)  Rï   R±  t   sympy.physicsR²  t   R_nlRk   R   Rª   RQ   (   Ru  R)  Rï   R±  R²  t   nvt   lvt   rvt   Zvt   sympy_valueRM   t   scipy_value(    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_issue_15654a  s    "-c    	      C   s  t  s t d ƒ n  t d d d ƒ }  t d d d ƒ } t d d d ƒ } t d d d	 ƒ } t d
 ƒ } t |  d | |  ƒ } t |  d | |  ƒ } t |  d |  ƒ } t | | | f d | | | ƒ } t  j | t  j d d d g d d d g d d d g g ƒ ƒ t  j d | d | d | g d | d | d | g d | d | d | g g d t ƒƒ snt ‚ t  j | t  j d d d g d d d g d d d g g ƒ ƒ t  j | d d | d d | d g | d d | d d | d g | d d | d d | d g g d t ƒƒ s(t ‚ t  j | t  j d d d g d d d g d d d g g ƒ ƒ t  j d d d g d d d g d d d g g ƒ ƒ s t ‚ t  j | t  j d d d g d d d g g ƒ t  j d d d d g d d d d g d d d d g g ƒ t  j d d d d d	 g d d d d d	 g d d d d d	 g d d d d d	 g g ƒ ƒ t  j d d d d d g d d d d d g g ƒ ƒ s™t ‚ d  S(   Ns   numpy not installedRº   i   t   Bi   t   Ci   t   Di   t   ki   i   R  ix   ið   ih  ià  iX  (	   RG   RB   R4   R   R   t   array_equalRÊ   t   objectRQ   (	   Rº   R½  R¾  R¿  RÀ  RM   R/  t   hRo  (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   test_issue_15827l  s*    $<f<F8<<fo(¾   t   distutils.versionR    R  t	   itertoolsR   Ra   R¢  Rg   t   sympy.utilities.pytestR   R   Re   R   R   R   R   R   R	   R
   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R    R!   R"   R#   R$   R%   R&   R'   R(   R)   R*   R+   R,   R-   R.   R/   R0   R1   R2   R3   R4   R5   R6   R7   R8   R9   R:   R;   R<   R=   R   R>   t   sympy.printing.pycodeR?   Rv   R@   RA   RB   t   sympy.utilities.decoratorRC   t   sympy.externalRD   t'   sympy.functions.special.gamma_functionsRE   RF   t   MutableDenseMatrixRG   RH   t   scipy_specialRI   RJ   t   ost   environRY   RS   RU   RZ   RR   RT   RV   R\   R]   R_   R`   Rb   Rc   Rd   Rp   Rq   Rr   Rs   Rt   R{   R}   R€   R„   R‡   Rˆ   R™   R¨   R©   R«   R­   R®   R°   R±   R²   R³   R´   R·   R¾   RØ   RÚ   RÜ   RÝ   Rà   Rç   Rì   Rõ   Rú   R  R  R  R  R  R  R#  R$  R%  R&  R'  R(  R*  R+  R,  R.  R4  R6  R<  R?  R@  RC  RJ  RL  RO  RV  Rb  Rc  Rd  Re  Rl  Rm  Rn  Rq  Rt  Rv  Rw  R{  R}  R~  R€  R—  R¡  R¤  R¥  R¨  R®  R°  R¼  RÄ  (    (    (    sB   lib/python2.7/site-packages/sympy/utilities/tests/test_lambdify.pyt   <module>   sì   ÿ g										
			
	
	
					
																
									
	
				
	
	
										"				
															
		/	&							