σ
\K]c           @` sͺ  d  Z  d d l m Z m Z m Z d d l Z d d l Z d d l m	 Z	 m
 Z
 m Z m Z d d l m Z d d l m Z m Z e	 d e d e  d	    Z d
   Z e	 d e d e  d    Z e	 d e d e  d    Z e	 d e  d    Z e
 d e d e  d    Z e	 d e d e  d    Z e	 d e d e  d    Z e	 d e d e  d    Z e	 d e d e  d    Z e	 d e d e  d    Z e	 d e d e  d    Z e	 d e d e  d    Z  e	 d e d e  d    Z! e! Z" e	 d e d e  d    Z! e! Z# d   Z$ e$ d  Z% e$ d  Z& e j' d,  Z( e	 d e d e  d    Z) d Z* e j+ d  e j, f d! e j- f g  Z. e j+ d  e j, f d! e j- f g d" e Z/ e j0 d# d$ e. Z1 x; e2 e1 j3  D]* Z4 e4 d e1 e4 d  <e4 d% e1 e4 d! <qWe j5 e1 d$ e/ Z6 e	 d e d e  d&    Z7 d' e f d(     YZ8 d)   Z9 e	 d* e d e d e  d+    Z: d S(-   s   
This file will be copied to a temporary directory in order to
exercise caching compiled Numba functions.

See test_dispatcher.py.
i    (   t   divisiont   print_functiont   absolute_importN(   t   jitt   generated_jitt   typest   prange(   t   c_sin(   t   TestCaset   captured_stderrt   cachet   nopythonc         C` s   |  S(   N(    (   t   x(    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   simple_usecase   s    c         C` s
   t  |   S(   N(   R   (   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   simple_usecase_caller   s    c         C` s   |  | t  S(   N(   t   Z(   R   t   y(    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   add_usecase   s    t   forceobjc         C` s   t    |  | t S(   N(   t   objectR   (   R   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   add_objmode_usecase    s    c         C` s   |  | t  S(   N(   R   (   R   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   add_nocache_usecase&   s    c         C` s+   t  |  t j  r d   } n	 d   } | S(   Nc         S` s   |  | S(   N(    (   R   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   impl.   s    c         S` s   |  | S(   N(    (   R   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyR   1   s    (   t
   isinstanceR   t   Complex(   R   R   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   generated_usecase+   s    	c         C` s   |  | t  S(   N(   R   (   R   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   inner6   s    c         C` s   t  | |   S(   N(   R   (   R   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   outer:   s    c         C` s   t  | |   S(   N(   R   (   R   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   outer_uncached>   s    c         C` s2   t    d } x t |   D] } | | } q W| S(   Ni    (   R   t   range(   t   nt   rest   i(    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt
   loopliftedC   s
    c         C` s
   t  |   S(   N(   R   (   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt	   use_c_sinL   s    c         C` s
   t  |   S(   N(   R"   (   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   use_c_sin_nest1P   s    c         C` s
   t  |   S(   N(   R#   (   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   use_c_sin_nest2T   s    c         C` s   |  d S(   Ni   (    (   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   ambiguous_functionY   s    c         C` s   |  d S(   Ni   (    (   R   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyR%   _   s    c         ` s(   t  d t d t    f d    } | S(   NR
   R   c         ` s     |  S(   N(    (   R   (   R   (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   closureg   s    (   R   t   True(   R   R&   (    (   R   s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   make_closuref   s    $i   i   i
   i   c           C` s   t  S(   N(   t   biggie(    (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   use_big_arrays   s    i   t   at   bt   aligni   t   dtypeg     @E@c         C` s   |  | S(   N(    (   t   aryR    (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   record_return   s    t   _TestModulec           B` s    e  Z d  Z d   Z d   Z RS(   s₯   
    Tests for functionality of this module's functions.
    Note this does not define any "test_*" method, instead check_module()
    should be called by hand.
    c         C` sζ   |  j  | j d d  d  |  j  | j d d  d  |  j  | j d d  d  |  j  | j d d  d  |  j  | j d d  d  | j | j d  } |  j  t |  d  | j | j	 d  } |  j  t |  d  d  S(   Ni   i   i   i   g     ΐE@(   i   g     ΐE@(   i   g     ΐE@(
   t   assertPreciseEqualR   R   R   R   R   R0   t
   packed_arrt   tuplet   aligned_arr(   t   selft   modt
   packed_rect   aligned_rec(    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   check_module   s    c         C` s
   t   d  S(   N(   t   NotImplementedError(   R6   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   runTest    s    (   t   __name__t
   __module__t   __doc__R:   R<   (    (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyR1      s   	c          C` s!   t  j t }  t   j |   d  S(   N(   t   syst   modulesR=   R1   R:   (   R7   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt	   self_test€   s    t   parallelc         C` s   |  |  |  S(   N(    (   R/   (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   parfor_usecase©   s    i@B (;   R?   t
   __future__R    R   R   R@   t   numpyt   npt   numbaR   R   R   R   t   numba.tests.ctypes_usecasesR   t   numba.tests.supportR   R	   R'   R   R   R   R   R   R   R   R   t   FalseR   R!   R"   R#   R$   R%   t   renamed_function1t   renamed_function2R(   t   closure1t   closure2t   arangeR)   R*   R   R.   t   int8t   float64t   packed_record_typet   aligned_record_typet   emptyR3   R   t   sizeR    t   arrayR5   R0   R1   RB   RD   (    (    (    s9   lib/python2.7/site-packages/numba/tests/cache_usecases.pyt   <module>   sP   "			'-	