ó
¦V]c           @   s£   d  d l  Z  d  d l Z d  d l m Z d  d l m Z d  d l m Z y d  d l Z e	 Z
 Wn e Z
 n Xe d e	 d e	 ƒ Z d Z d e f d	 „  ƒ  YZ d S(
   iÿÿÿÿN(   t   inline(   t	   safe_type(   t
   CythonTestt   forcet   quietid   t
   TestInlinec           B   st   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z e rr d
 „  Z n  RS(   c         C   si   t  j |  ƒ t t ƒ |  _ t j j d ƒ rF t j j d d ƒ } n t j	 d d ƒ } | |  j d <d  S(   Nt   TEST_TMPR    t   prefixt   cython_inline_t   lib_dir(
   R   t   setUpt   dictt	   test_kwdst   ost   patht   isdirt   joint   tempfilet   mkdtemp(   t   selfR	   (    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyR
      s    c         C   s    |  j  t d |  j  d ƒ d  S(   Ns
   return 1+2i   (   t   assertEqualsR    R   (   R   (    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyt   test_simple   s    c         C   s,   |  j  t d d d d g  |  j d ƒ d  S(   NsZ   
            cimport cython
            return cython.typeof(a), cython.typeof(b)
        t   ag      ð?t   bt   doubles   list object(   R   s   list object(   R   R    R   (   R   (    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyt
   test_types   s    	c         C   s,   d } d } |  j  t d |  j  d ƒ d  S(   Ni   i   s
   return a+bi   (   R   R    R   (   R   R   R   (    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyt   test_locals#   s    c         C   s$   |  j  t d |  j  t d ƒ d  S(   Ns   return global_value + 1i   (   R   R    R   t   global_value(   R   (    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyt   test_globals(   s    c      	   C   s5   |  j  t d |  j  t d d d d d g  ƒ ƒ d  S(   NsQ   
            a = 1
            cdef double b = 2
            cdef c = []
        R   i   R   g       @t   c(   R   R    R   R   (   R   (    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyt   test_no_return+   s    	c         C   s0   t  d |  j  d } |  j | d ƒ d ƒ d  S(   Ns   def foo(x): return x * xt   fooi   i1   (   R    R   R   (   R   R   (    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyt   test_def_node2   s    c         C   s:   d t  f d „  ƒ  Y} t d ƒ d } |  j | | ƒ d  S(   Nt   Typec           B   s   e  Z RS(    (   t   __name__t
   __module__(    (    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyR!   7   s   (   t   objectR    t   assertEqual(   R   R!   t   tp(    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyt   test_class_ref6   s    c         C   s>   d d  l  } t d d d |  j } |  j t | ƒ t ƒ d  S(   Niÿÿÿÿsl   
        b = cy.declare(float, a)
        c = cy.declare(cy.pointer(cy.float), &b)
        return b
        R   i   (   t   cythonR    R   R   t   typet   float(   R   t   cyR   (    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyt	   test_pure<   s    c      	   C   s6   |  j  t d d d d d g d i t d 6ƒd ƒ d  S(	   Ns   return sum(x)t   xi   i   i   t   cython_compiler_directivest   boundschecki   (   R%   R    t   False(   R   (    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyt   test_compiler_directivesE   s
    	c         C   sa   d d  l  } | j d	 ƒ } d | d
 <|  j t | ƒ d ƒ |  j t d d | |  j d ƒ d  S(   Niÿÿÿÿi
   i   i    s&   numpy.ndarray[numpy.float64_t, ndim=2]s   return a[0,0]R   g      $@(   i
   i   (   i    i    (   t   numpyt   ndarrayR   R   R    R   (   R   R2   R   (    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyt
   test_numpyO   s
    
(   R"   R#   R
   R   R   R   R   R   R    R'   R,   R1   t	   has_numpyR4   (    (    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyR      s   												(   R   R   t   Cython.ShadowR    t   Cython.Build.InlineR   t   Cython.TestUtilsR   R2   t   TrueR5   R0   R   R   R   R   (    (    (    s<   lib/python2.7/site-packages/Cython/Build/Tests/TestInline.pyt   <module>   s   

