ó
\K]c           @` s„  d  d l  m Z m Z m Z d  d l Z d  d l m Z m Z d  d l m	 Z
 d  d l m Z m Z d d l m Z m Z m Z e ƒ  Z e j d ƒ e j d	 ƒ e j ƒ  Z e j d
 ƒ d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d e e f d „  ƒ  YZ! d e f d „  ƒ  YZ" d e e f d „  ƒ  YZ# e$ d k r€e
 j% ƒ  n  d S(   i    (   t   print_functiont   divisiont   absolute_importN(   t   typest   utils(   t   unittest_support(   t   compile_isolatedt   Flagsi   (   t   TestCaset   tagt   MemoryLeakMixint   enable_pyobjectt   enable_loopliftt   enable_pyobject_loopliftc         C` s7   t  j d ƒ } x! t | j ƒ D] } |  | | <q W| S(   Ni   (   t   npt   emptyt   ranget   size(   t   xt   at   i(    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   lift1   s    c         C` s_   t  j d ƒ } xI t | j d ƒ D]4 } x+ t | j d ƒ D] } |  | | | f <q= Wq# W| S(   Ni   i   i    i   (   i   i   (   R   R   R   t   shape(   R   R   R   t   j(    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   lift2   s
    c         C` sR   t  j d d t  j ƒ} d } x- t | j d ƒ D] } | | | |  7} q2 W| S(   Ni   t   dtypei    (   R   t   aranget   int64R   R   (   R   R   t   cR   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   lift3&   s
    c         C` sf   t  j d d t  j ƒ} d } d } x7 t | j d ƒ D]" } | | | |  7} | | 7} q8 W| | S(   Ni   R   i    (   R   R   R   R   R   (   R   R   R   t   dR   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   lift4.   s    c         C` sA   t  j d ƒ } x+ t | j d ƒ D] } | d k r# Pq# q# W| S(   Ni   i    i   (   R   R   R   R   (   R   R   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   lift58   s
    c         c` sJ   t  j d ƒ } d Vx! t | j ƒ D] } |  | | <q$ Wt  j | ƒ Vd  S(   Ni   i    (   R   R   R   R   t   sum(   R   R   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt	   lift_gen1@   s
    c          C` s@   t  j d ƒ x, t d ƒ D] }  x t d ƒ D] } d SWq Wd S(   Ni   i
   i   (   R   R   R   (   R   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   lift_issue2561I   s
    	c         C` s2   t  j d ƒ } x t | j d ƒ D] } | SW| S(   Ni   i    (   R   R   R   R   (   R   R   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   reject1P   s    c         c` s:   t  j d ƒ } x$ t | j d ƒ D] } | | Vq# Wd  S(   Ni   i    (   R   R   R   R   (   R   R   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   reject_gen1X   s    c         c` sa   t  j d ƒ } xK t | j ƒ D]: } | | |  } x t | ƒ D] } | d } q@ W| Vq Wd  S(   Ni   i   (   R   R   R   R   (   R   R   R   t   resR   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   reject_gen2^   s    c         C` sQ   t  j d d t  j ƒ} x2 t | j ƒ D]! } t  j | d ƒ | | | <q( W| S(   Ni   R   i   (   R   R   t   int32R   R   R   (   R   R   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   reject_npm1j   s    t   TestLoopLiftingc           B` sÂ   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d „  Z
 d	 „  Z e d
 ƒ d „  ƒ Z d „  Z d „  Z e d
 ƒ d „  ƒ Z d „  Z d „  Z d „  Z d „  Z RS(   c         C` s2   t  | | d t ƒ} |  j t | j ƒ d ƒ | S(   Nt   flagsi   (   R   t   looplift_flagst   assertEqualt   lent   lifted(   t   selft   pyfunct   argtypest   cres(    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   try_liftv   s    	c         C` s6   | j  d } | j j ƒ  \ } |  j | j j ƒ d  S(   Ni    (   R/   t	   overloadst   valuest
   assertTruet   fndesct   native(   R0   R3   t   jitloopt   loopcres(    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   assert_lifted_native}   s    c         C` sN   |  j  | | ƒ } | | Œ  } | j | Œ  } |  j | ƒ |  j | | ƒ d S(   sH   
        Check that pyfunc can loop-lift even in nopython mode.
        N(   R4   t   entry_pointR<   t   assertPreciseEqual(   R0   R1   R2   t   argsR3   t   expectedt   got(    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   check_lift_okƒ   s
    c         C` sZ   |  j  | | ƒ } t | | Œ  ƒ } t | j | Œ  ƒ } |  j | ƒ |  j | | ƒ d S(   sg   
        Check that pyfunc (a generator function) can loop-lift even in
        nopython mode.
        N(   R4   t   listR=   R<   R>   (   R0   R1   R2   R?   R3   R@   RA   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   check_lift_generator_okŽ   s
    c         C` sT   t  | | d t ƒ} |  j | j ƒ | | Œ  } | j | Œ  } |  j | | ƒ d S(   s4   
        Check that pyfunc can't loop-lift.
        R+   N(   R   R,   t   assertFalseR/   R=   R>   (   R0   R1   R2   R?   R3   R@   RA   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   check_no_liftš   s    	c         C` s`   t  | | d t ƒ} |  j | j ƒ t | | Œ  ƒ } t | j | Œ  ƒ } |  j | | ƒ d S(   sK   
        Check that pyfunc (a generator function) can't loop-lift.
        R+   N(   R   R,   RE   R/   RC   R=   R>   (   R0   R1   R2   R?   R3   R@   RA   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   check_no_lift_generator¦   s    	c         C` s™   t  | | d t ƒ} |  j | j ƒ |  j ƒ   | j | Œ  Wd QXt  | | d t ƒ} |  j | j ƒ | | Œ  } | j | Œ  } |  j | | ƒ d S(   sƒ   
        Check that pyfunc will fail loop-lifting if pyobject mode
        is disabled inside the loop, succeed otherwise.
        R+   N(   R   R,   R7   R/   t   assertTypingErrorR=   t   pyobject_looplift_flagsR>   (   R0   R1   R2   R?   R3   R@   RA   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   check_no_lift_nopython±   s    		c         C` s   |  j  t t j f d ƒ d  S(   Ni{   (   i{   (   RB   R   R   t   intp(   R0   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt
   test_lift1Â   s    c         C` s   |  j  t t j f d ƒ d  S(   Ni{   (   i{   (   RB   R   R   RK   (   R0   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt
   test_lift2Å   s    c         C` s   |  j  t t j f d ƒ d  S(   Ni{   (   i{   (   RB   R   R   RK   (   R0   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt
   test_lift3È   s    t	   importantc         C` s   |  j  t t j f d ƒ d  S(   Ni{   (   i{   (   RB   R   R   RK   (   R0   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt
   test_lift4Ë   s    c         C` s   |  j  t t j f d ƒ d  S(   Ni{   (   i{   (   RB   R    R   RK   (   R0   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt
   test_lift5Ï   s    c         C` s   |  j  t d d ƒ d  S(   N(    (    (   RF   R#   (   R0   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_lift_issue2561Ò   s    c         C` s   |  j  t t j f d ƒ d  S(   Ni{   (   i{   (   RD   R"   R   RK   (   R0   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_lift_gen1Õ   s    c         C` s   |  j  t t j f d ƒ d  S(   Ni{   (   i{   (   RF   R$   R   RK   (   R0   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_reject1Ù   s    c         C` s   |  j  t t j f d ƒ d  S(   Ni{   (   i{   (   RG   R%   R   RK   (   R0   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_reject_gen1Ü   s    c         C` s   |  j  t t j f d ƒ d  S(   Ni{   (   i{   (   RG   R'   R   RK   (   R0   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_reject_gen2ß   s    c         C` s   |  j  t t j f d ƒ d  S(   Ni{   (   i{   (   RJ   R)   R   RK   (   R0   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_reject_npm1â   s    (   t   __name__t
   __module__R4   R<   RB   RD   RF   RG   RJ   RL   RM   RN   R	   RP   RQ   RR   RS   RT   RU   RV   RW   (    (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR*   t   s$   															t   TestLoopLiftingAnnotatec           B` s   e  Z d  „  Z d „  Z RS(   c   
      ` sô   d d l  m } d „  ‰  ‡  f d †  } | | ƒ } t j d ƒ } | j ƒ  } | | ƒ } t j j | | d ƒ t j ƒ  } | j	 d | ƒ | j
 ƒ  } | j ƒ  |  j d | ƒ | j j d	 }	 |  j d
 j d |	 ƒ | ƒ |  j d | ƒ d S(   sO   
        Verify that annotation works as expected with one lifted loop
        i    (   t   jitc           S` s   d  S(   N(    (    (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   barî   s    c         ` s5   ˆ  ƒ  x' t  |  j ƒ D] } |  | c d 7<q W|  S(   Ni   (   R   R   (   R   R   (   R\   (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   fooñ   s    i
   i   t   files"   The function contains lifted loopsi   s   Loop at line {line}t   lines   Has 1 overloadsN(   t   numbaR[   R   R   t   copyt   testingt   assert_equalR   t   StringIOt   inspect_typest   getvaluet   closet   assertInt   __code__t   co_firstlinenot   format(
   R0   R[   R]   t   cfooR   t   xcopyt   rt   buft
   annotationR_   (    (   R\   s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_annotate_1ç   s     	
c         ` s  d d l  m } d „  ‰  ‡  f d †  } | | ƒ } t j d ƒ } | j ƒ  } | | ƒ } t j j | | d d ƒ t j ƒ  } | j	 d | ƒ | j
 ƒ  } | j ƒ  |  j d	 | ƒ | j j d
 }	 | j j d }
 |  j d j d |	 ƒ | ƒ |  j d j d |
 ƒ | ƒ d S(   sP   
        Verify that annotation works as expected with two lifted loops
        i    (   R[   c           S` s   d  S(   N(    (    (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR\     s    c         ` s_   ˆ  ƒ  x' t  |  j ƒ D] } |  | c d 7<q Wx' t  |  j ƒ D] } |  | c d 9<qA W|  S(   Ni   i   (   R   R   (   R   R   R   (   R\   (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR]     s    i
   i   i   R^   s"   The function contains lifted loopsi   i   s   Loop at line {line}R_   N(   R`   R[   R   R   Ra   Rb   Rc   R   Rd   Re   Rf   Rg   Rh   Ri   Rj   Rk   (   R0   R[   R]   Rl   R   Rm   Rn   Ro   Rp   t   line1t   line2(    (   R\   s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_annotate_2	  s"    	

(   RX   RY   Rq   Rt   (    (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyRZ   æ   s   	"t   TestLoopLiftingInActionc           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 RS(   c         C` s1   | j  | j d j } |  j t | ƒ | ƒ d  S(   Ni    (   R5   t
   signaturesR/   R-   R.   (   R0   t   jittedt	   loopcountR/   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   assert_has_lifted1  s    c   	      C` s³   d d l  m } m } m } m } | | | | ƒ d t ƒd „  ƒ } xe d	 D]] } t j d d d ƒ} t j d d d ƒ} | | | ƒ | j | | ƒ |  j	 | | ƒ qN Wd  S(
   Ni    (   R[   t   voidR(   t   doublet   forceobjc         S` ss   |  d k r? x` t  | j d ƒ D] } | | d | | <q  Wn0 x- t  | j d ƒ D] } | | d | | <qS Wd  S(   Ni    g       @g      ð?(   R   R   (   t   uR   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   forloop_with_if8  s
    i   i
   R   R(   (   i    i   (
   R`   R[   Rz   R(   R{   t   TrueR   R   t   py_funcR>   (	   R0   R[   Rz   R(   R{   R~   R}   t   nb_at   np_a(    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_issue_7345  s    "%	c         C` s~   d d l  m } | d d t ƒd „  ƒ } t j d d d d	 d
 d d d
 d d g
 ƒ } t j j | j | ƒ | | ƒ ƒ d  S(   Ni    (   R[   s   f8[:](f8[:])R|   c         S` s–   t  j t |  ƒ ƒ } d } xF t t |  ƒ ƒ D]2 } | d 7} |  | | | <|  | d k r. Pq. q. Wx+ t | d t |  ƒ ƒ D] } d | | <q~ W| S(   Ni    i   i
   (   R   t   zerosR.   R   (   R   R&   t   indt   ii(    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   testK  s    
 g      ð?i   i   iýÿÿÿi   i
   i   (   R`   R[   R   R   t   arrayRb   Rc   R€   (   R0   R[   R‡   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_issue_812H  s    -c   
      C` sÏ   d d l  m } d „  } t j d ƒ } t ƒ  } | | ƒ } | | | ƒ } | | | ƒ } |  j | d | d ƒ |  j | d | d ƒ | j | j d j d } | j j	 ƒ  \ }	 |  j
 |	 j j ƒ d  S(   Ni    (   R[   c         S` s7   d } x |  D] } | | 7} q W| j  ƒ  } | | f S(   Ni    (   t   __hash__(   R   t   bt   st   et   h(    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   lift_issue2368a  s
    i
   i   (   R`   R[   R   t   onest   objectR-   R5   Rv   R/   R6   R7   R8   R9   (
   R0   R[   R   R   R‹   Rw   R@   RA   R:   R;   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_issue_2368^  s    		c         C` s   d d l  m } | d t ƒ d „  ƒ } |  j | j d ƒ | d ƒ ƒ |  j | d d ƒ|  j | j d ƒ | d ƒ ƒ |  j | d d ƒd  S(   Ni    (   R[   R|   c         S` s'   d } x t  |  ƒ D] } | } q W| S(   Ni    (   R   (   t   nR&   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR‡   |  s    
iÿÿÿÿRx   i   (   R`   R[   R   R-   R€   Ry   (   R0   R[   R‡   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_no_iteration_w_redefw  s    c         C` s   d d l  m } | d t ƒ d „  ƒ } |  j | j d ƒ | d ƒ ƒ |  j | d d ƒ|  j | j d ƒ | d ƒ ƒ |  j | d d ƒd  S(   Ni    (   R[   R|   c         S` s+   d } x t  |  ƒ D] } | | 7} q W| S(   Ni    (   R   (   R“   R&   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR‡     s    iÿÿÿÿRx   i   (   R`   R[   R   R-   R€   Ry   (   R0   R[   R‡   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_no_iterationŠ  s    c         C` s^   d d l  m } | d t ƒ d „  ƒ } |  j | j d ƒ | d ƒ ƒ |  j | d d ƒd  S(   Ni    (   R[   R|   c         S` s!   x t  |  ƒ D] } | } q W| S(   N(   R   (   R“   R   R&   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR‡   Ÿ  s    
i   Rx   (   R`   R[   R   R-   R€   Ry   (   R0   R[   R‡   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_define_in_loop_body›  s    c         C` sZ   d d l  m } | d t ƒ d „  ƒ } t j d ƒ } |  j | j | ƒ | | ƒ ƒ d S(   sä   Test a problem caused by invalid discovery of loop argument
        when a variable is used afterwards but not before.

        Before the fix, this will result in::

        numba.ir.NotDefinedError: 'i' is not defined
        i    (   R[   R|   c         S` st   t  |  ƒ t j k rZ |  j d k rQ d } d } x$ t |  j d ƒ D] } qD Wqp t ‚ n d } d \ } } | Sd  S(   Ni   g        i    (   i    i    (   t   typeR   t   ndarrayt   ndimR   R   t	   Exception(   t   argt   resultR   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR‡   ³  s    	i
   N(   R`   R[   R   R   R   R-   R€   (   R0   R[   R‡   R›   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_invalid_argument©  s    c         C` sX   d d l  m } | d t ƒ d „  ƒ } |  j | j ƒ  | ƒ  ƒ |  j | d d ƒd  S(   Ni    (   R[   R|   c          S` sL   d }  d } x3 t  d ƒ D]% } | d k r4 d }  n  | |  7} q W| |  f S(   Ni   i    i   i   (   R   (   R   t   yR   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR‡   Ç  s    	Rx   i   (   R`   R[   R   R-   R€   Ry   (   R0   R[   R‡   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt"   test_conditionally_defined_in_loopÅ  s    
c         C` sz   d d l  m } d d  l } d „  } | j ƒ  C | j d ƒ | d t ƒ | ƒ } |  j | t ƒ | t ƒ ƒ Wd  QXd  S(   Ni    (   R[   c         S` s$   |  r  x t  d ƒ D] } q Wn  d  S(   Ni
   (   R   (   R   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR1   Ø  s    t   errorR|   (   R`   R[   t   warningst   catch_warningst   simplefilterR   R-   (   R0   R[   R¡   R1   t   cfunc(    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt*   test_stack_offset_error_when_has_no_returnÔ  s    	c         ` sT   d d l  m } d „  ‰  ‡  f d †  } | | ƒ } |  j | d ƒ | d ƒ ƒ d S(   s‹   
        https://github.com/numba/numba/issues/2179

        Looplifting transformation is using the wrong verion of variable `h`.
        i    (   R[   c         S` s   |  S(   N(    (   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR\   ë  s    c         ` s;   d } x t  |  ƒ D] } | | } q W| ˆ  |  ƒ } | S(   Ng        (   R   (   R   RŽ   t   k(   R\   (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR]   î  s
    i
   N(   R`   R[   R-   (   R0   R[   R]   Rl   (    (   R\   s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_variable_scope_bugã  s
    	c         C` sÿ   d d l  m } d „  } | | ƒ } t j d ƒ d f } |  j | | Œ  | | Œ  ƒ |  j t | j | j d j ƒ d ƒ | j | j d j d } |  j t | j ƒ d ƒ t j d ƒ d f } |  j | | Œ  | | Œ  ƒ |  j t | j ƒ d ƒ d S(	   s<   
        https://github.com/numba/numba/issues/2481
        i    (   R[   c         S` sY   |  d  d  | … } d } x9 t  | j ƒ D]( } t ƒ  | | d  d  d … | } q) W| S(   Ni   iÿÿÿÿ(   R   R   R‘   (   R   Rž   t   AR   R¦   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR]   þ  s    i
   i   iÿÿÿÿi   N(	   R`   R[   R   R   R-   R.   R5   Rv   R/   (   R0   R[   R]   Rl   R?   R/   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_recompilation_loopø  s    	
'c         C` s   d „  } d d l  m } | ƒ  | ƒ } | d ƒ |  j | j | j d j d ƒ | d t ƒ | ƒ } | d ƒ |  j t | j | j d j ƒ d ƒ d  S(   Nc         S` s,   g  d D] } | ^ q x d D] } q W|  S(   Ni   (   i   (   i   (    (   t   XRž   R   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR]     s    i    (   R[   i   R|   (    (   R`   R[   R-   R5   Rv   R/   R   R.   (   R0   R]   R[   t   f(    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_lift_listcomp_block0  s    	
!
c         C` sÔ   d d l  m } | d „  ƒ } t d d d d d d d	 d
 d d d d d d ƒ } | |   } | j |   } |  j | d | d ƒ |  j | d | d ƒ | j | j d j \ } |  j t	 | j
 ƒ d ƒ d  S(   Ni    (   R[   c   
      S` sÓ   t  j | ƒ t  j | ƒ } } | | | d <| d <x‹ t  j | d ƒ D]v }	 t  j |  | |	 ƒ | t  j |  | |	 ƒ | |	 d <t  j | | |	 ƒ | t  j | | |	 ƒ | |	 d <qH Wt ƒ  | | f S(   Ni    i   (   R   R„   R   t   sint   cosR‘   (
   R   R‹   R   R   t   x0t   y0R“   t   xst   ysR   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyR]   3  s    8<R   g333333û?R‹   R   g333333ã?R   g333333ó?R¯   R°   R“   iÈ   i   (   R`   R[   t   dictR€   R>   R5   Rv   R/   R-   R.   t   nopython_signatures(   R0   R[   R]   t   kwargsRA   R@   R/   (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   test_lift_objectmode_issue_42230  s    
3(   RX   RY   Ry   Rƒ   R‰   R’   R”   R•   R–   R   RŸ   R¥   R§   R©   R¬   R¶   (    (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyRu   0  s   													t   __main__(&   t
   __future__R    R   R   t   numpyR   R`   R   R   R   t   unittestt   numba.compilerR   R   t   supportR   R	   R
   R,   t   setRa   RI   R   R   R   R   R    R"   R#   R$   R%   R'   R)   R*   RZ   Ru   RX   t   main(    (    (    s;   lib/python2.7/site-packages/numba/tests/test_looplifting.pyt   <module>   s6   				
		
								
rJÿ 