ó
\K]c           @   sŠ  d  Z  d d l Z d d l m Z m Z m Z d d l m Z e e j e j f ƒ d „  ƒ Z	 e d „  ƒ Z
 e d e ƒ d „  ƒ Z e d e ƒ d	 „  ƒ Z d
 „  Z d Z d d l m Z d „  Z e d e ƒ d „  ƒ Z e d e ƒ d „  ƒ Z d d l Z d d l j Z e d e ƒ d „  ƒ Z d „  Z d „  Z d Z d Z e d e ƒ d „  ƒ Z d „  Z e d e ƒ Z  e d e ƒ Z! d S(   s_   
Separate module with function samples for serialization tests,
to avoid issues with __main__.
iÿÿÿÿN(   t   jitt   generated_jitt   types(   t   exec_c         C   s   |  | S(   N(    (   t   at   b(    (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   add_with_sig   s    c         C   s   |  | S(   N(    (   R   R   (    (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   add_without_sig   s    t   nopythonc         C   s   |  | S(   N(    (   R   R   (    (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   add_nopython   s    c         C   s   t  ƒ  |  | S(   N(   t   object(   R   R   (    (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   add_nopython_fail   s    c            s"   t  d t ƒ ‡  f d †  ƒ } | S(   NR   c            s   ˆ  |  | S(   N(    (   R   t   c(   R   (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   inner   s    (   R    t   True(   R   R   (    (   R   s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   closure   s    g      @(   t   sqrtc            s   t  |   ‡  f d †  ƒ } | S(   Nc            s-   t  t t d ƒ } t j ˆ  |  ƒ t | ƒ S(   Ni   (   t   maxt   Kt   matht   hypotR   (   t   yt   k(   t   x(    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyR   (   s    (   R    (   R   t   jit_argsR   (    (   R   s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   closure_with_globals'   s    c         C   s   t  j |  | ƒ S(   N(   R   R   (   R   R   (    (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   other_function1   s    t   forceobjc         C   s   t  |  S(   N(   R   (   R   (    (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   get_global_objmode5   s    c         C   s&   t  j d ƒ t j |  ƒ t  j ƒ  f S(   Ni*   (   t   nprandt   seedt   npt   cost   random(   R   (    (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   get_renamed_module<   s    c            s"   t  d t ƒ ‡  f d †  ƒ } | S(   NR   c            s   t  ˆ  |  ƒ | S(   N(   R   (   R   t   z(   R   (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyR   C   s    (   R    R   (   R   R   (    (   R   s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   closure_calling_other_functionB   s    c            sC   t  d t ƒ ‡ f d †  ƒ ‰  t  d t ƒ ‡  ‡ f d †  ƒ } | S(   NR   c            s   t  j ˆ  |  ƒ S(   N(   R   R   (   R   (   R   (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   other_innerI   s    c            s   ˆ  |  ƒ ˆ S(   N(    (   R   (   R%   R   (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyR   M   s    (   R    R   (   R   R   (    (   R%   R   s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   closure_calling_other_closureH   s    !i   i*   c            s7   d ‰  t  |  t j ƒ r$ d „  } n ‡  f d †  } | S(   Ni   c         S   s   |  | t  S(   N(   t   k1(   R   R   (    (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   impl\   s    c            s   |  | t  ˆ  S(   N(   t   k2(   R   R   (   t   k3(    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyR(   _   s    (   t
   isinstanceR   t   Complex(   R   R   R(   (    (   R*   s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   generated_addX   s
    c          K   s3   d } i  } t  | j ƒ  | ƒ t |    | d ƒ S(   Ns…   
        def dyn_func(x):
            res = 0
            for i in range(x):
                res += x
            return res
        t   dyn_func(   R   t   stripR    (   R   t   codet   ns(    (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   _get_dyn_funce   s    ("   t   __doc__R   t   numbaR    R   R   t	   numba.sixR   t   int32R   R   R   R	   R   R   R   R   R   R   R   t   numpyR   t   numpy.randomR!   R   R"   R$   R&   R'   R)   R-   R2   R.   t   dyn_func_objmode(    (    (    s=   lib/python2.7/site-packages/numba/tests/serialize_usecases.pyt   <module>   s0   !		
			