σ
\K]c           @` sY  d  d l  m Z m Z m Z d  d l Z d  d l m Z d  d l m Z	 d  d l
 m Z e j d  Z d   Z e j d d e j Z e j d d e j Z e e d d	 7Z d
   Z e j d e j f d e j f g  Z e j d d e Z x8 e e e   D]$ Z e e e _ e d e e _ q
Wd   Z d   Z e j d e j  f d e j! f g  Z" e j d d e" Z# x< e e e#   D]( Z e d e# e _$ e d e# e _% qWd   Z& e j d d e d  Z' d e' _ d e' _ e d e(  d    Z) e d e(  d    Z* d e	 j+ f d     YZ, e- d k rUe	 j.   n  d S(   i    (   t   print_functiont   divisiont   absolute_importN(   t   jit(   t   unittest_support(   t   usecasesi
   c         C` s   |  t  j d } | S(   Ni    (   t   Xt   shape(   t   xt   y(    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   global_ndarray_func
   s    t   dtypey              π?c         C` s/   x( t  t |    D] } t | |  | <q Wd  S(   N(   t   ranget   lent   cplx_X(   t   at   i(    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   global_cplx_arr_copy   s    R   t   bg      ΰ?c         C` s/   x( t  t |    D] } t | |  | <q Wd  S(   N(   R   R   t   rec_X(   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   global_rec_arr_copy"   s    c         C` sC   x< t  t |    D]( } t | j |  | <t | j | | <q Wd  S(   N(   R   R   R   R   R   (   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   global_rec_arr_extract_fields'   s    t   ct   dg      %@c         C` se   x^ t  t |    D]J } t | j |  | <t | j | | <t | j | | <t | j | | <q Wd  S(   N(   R   R   R   R   R   t   rec_YR   R   (   R   R   R   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   global_two_rec_arrs5   s
    i   g      ψ?t   nopythonc         C` s   |  j  t j  k S(   N(   R   t   record_only_X(   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   global_record_funcB   s    c         C` s   t  j |  |  S(   N(   R   t   andornopython(   R   R	   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   global_module_funcG   s    t   TestGlobalsc           B` s‘   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         K` s,   t  |   t  } |  j | d  d  d  S(   Ni   i   (   R   R
   t   assertEqual(   t   selft   jitargst	   ctestfunc(    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   check_global_ndarrayN   s    c         C` s   |  j  d t  d  S(   Nt   forceobj(   R$   t   True(   R!   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   test_global_ndarrayS   s    c         C` s   |  j  d t  d  S(   NR   (   R$   R&   (   R!   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   test_global_ndarray_npmX   s    c         K` sQ   t  |   t  } t j t t  d t j } | |  t j j | t  d  S(   NR   (	   R   R   t   npt   zerosR   R   t
   complex128t   testingt   assert_equal(   R!   R"   R#   t   arr(    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   check_global_complex_arr\   s    
c         C` s   |  j  d t  d  S(   NR%   (   R/   R&   (   R!   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   test_global_complex_arrc   s    c         C` s   |  j  d t  d  S(   NR   (   R/   R&   (   R!   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   test_global_complex_arr_npmf   s    c         K` sK   t  |   t  } t j t j d t } | |  t j j | t  d  S(   NR   (	   R   R   R)   R*   R   R   t   x_dtR,   R-   (   R!   R"   R#   R.   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   check_global_rec_arrj   s    
c         C` s   |  j  d t  d  S(   NR%   (   R3   R&   (   R!   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   test_global_rec_arrq   s    c         C` s   |  j  d t  d  S(   NR   (   R3   R&   (   R!   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   test_global_rec_arr_npmt   s    c         K` s   t  |   t  } t j t j d t j } t j t j d t j } | | |  t j j	 | t j
  t j j	 | t j  d  S(   NR   (   R   R   R)   R*   R   R   t   int32t   float32R,   R-   R   R   (   R!   R"   R#   t   arr1t   arr2(    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   check_global_rec_arr_extractx   s    c         C` s   |  j  d t  d  S(   NR%   (   R:   R&   (   R!   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   test_global_rec_arr_extract   s    c         C` s   |  j  d t  d  S(   NR   (   R:   R&   (   R!   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   test_global_rec_arr_extract_npm   s    c         K` sν   t  |   t  } t j t j d t j } t j t j d t j } t j t j d t j	 } t j t j d t j
 } | | | | |  t j j | t j  t j j | t j  t j j | t j  t j j | t j  d  S(   NR   (   R   R   R)   R*   R   R   R6   R7   R   t   int16t   float64R,   R-   R   R   R   R   (   R!   R"   R#   R8   R9   t   arr3t   arr4(    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   check_two_global_rec_arrs   s    c         C` s   |  j  d t  d  S(   NR%   (   RA   R&   (   R!   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   test_two_global_rec_arrs   s    c         C` s   |  j  d t  d  S(   NR   (   RA   R&   (   R!   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   test_two_global_rec_arrs_npm   s    c         C` s#   t  d d  } |  j t |  d  S(   Ni   i   (   R   R    R&   (   R!   t   res(    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   test_global_module   s    c         C` sg   t  j d d t d } d | _ t |  } |  j t |  d | _ t |  } |  j t |  d  S(   Ni   R   i    i   (   R)   t   recarrayR2   R   R   R    R&   t   False(   R!   R   RD   (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   test_global_record    s    		(   t   __name__t
   __module__R$   R'   R(   R/   R0   R1   R3   R4   R5   R:   R;   R<   RA   RB   RC   RE   RH   (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyR   L   s"   																	t   __main__(/   t
   __future__R    R   R   t   numpyR)   t   numbaR   R   t   unittestt   numba.testsR   t   arangeR   R
   R+   R   t   tmpR   R   R6   R7   R2   RF   R   R   R   R   R   R   R   R   R=   R>   t   y_dtR   R   R   R   R   R&   R   R   t   TestCaseR   RI   t   main(    (    (    s7   lib/python2.7/site-packages/numba/tests/test_globals.pyt   <module>   s>   		'		'				^