
\K]c           @  s0  d  d l  m Z d  d l m Z d  d l j Z d  d l Z d  d l	 Z	 d d l
 m Z y e Wn e k
 rx e Z n Xe d    Z e d    Z e d    Z d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d e e j f d     YZ e d k r,e j   n  d S(   i(   t   print_function(   t   jitNi   (   t   MemoryLeakMixinc         C  s1   x* t  t |    D] } |  | c d 7<q W|  S(   Ni   (   t   xranget   len(   t   at   i(    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   inc   s    c         C  s   |  d c d 7<|  d S(   Ni    i   (    (   R   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   inc1   s    c         C  s&   |  d c d 7<|  d |  d d f S(   Ni    i   (    (   R   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   inc2   s    c         C  s    t  |   } } } | | | S(   N(   R   (   R   t   xt   yt   z(    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   chain1!   s    c         C  s=   t  j d  } |  | d <} | d <| d | d | d S(   Ni   i    i   (   t   npt   zeros(   t   vR   R
   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   chain2&   s    c         C  s   |  | } } | | d S(   Ni   (    (   R
   R   R   t   b(    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   unpack1,   s    c         C  sB   t  |   t  |  f \ } } \ } } | | d | | d f S(   Ni   (   R   (   R
   R   R   R   t   ct   d(    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   unpack21   s    (c         C  s~   t  |   t  |  f } \ } } t  |   t  |  f \ } } } | d | d | | d | d | | d | d f S(   Ni    i   i   (   R   (   R
   R   R   R   R   R   t   et   f(    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   chain36   s    ""c         C  s   t  |   \ } } | | d S(   Ni   (   R	   (   R
   R   R   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   unpack3<   s    c         C  s6   t  |   \ } } \ } } | | d | | d f S(   Ni   (   R	   (   R
   R   R   R   R   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   unpack4A   s    c         C  sf   t  |   } \ } } t  |   \ } } } | d | d | | d | d | | d | d f S(   Ni    i   i   (   R	   (   R
   R   R   R   R   R   R   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   unpack5F   s    c         C  sG   |  | f | d |  d f \ } } \ } } | | d | d | f S(   Ni   i   (    (   R
   R   R   R   R   R   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   unpack6L   s    -t   TestChainedAssignc           B  sb   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z RS(
   c         C  sA   t  j d  g t  j d d t  j g g } |  j t |  d  S(   Ni   i   t   dtype(   R   t   aranget   doublet   _test_templateR   (   t   selft   args(    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   test_chain1R   s    c         C  s&   d g d g g } |  j  t |  d  S(   Ni   g      @(   R"   R   (   R#   R$   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   test_chain2Y   s    c         C  s,   d d g d d g g } |  j  t |  d  S(   Ni   g      @g      ?i   (   R"   R   (   R#   R$   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   test_unpack1`   s    	c         C  s\   t  j d g  t  j d g  g t  j d g  t  j d g  g g } |  j t |  d  S(   Ni   g      @g       @i   (   R   t   arrayR"   R   (   R#   R$   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   test_unpack2g   s    !'c         C  s\   t  j d g  t  j d g  g t  j d g  t  j d g  g g } |  j t |  d  S(   Ni    g      ?g      ?i   (   R   R(   R"   R   (   R#   R$   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   test_chain3n   s    !'c         C  s>   t  j d g  g t  j d g  g g } |  j t |  d  S(   Ni   g      ?(   R   R(   R"   R   (   R#   R$   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   test_unpack3u   s    c         C  s>   t  j d g  g t  j d g  g g } |  j t |  d  S(   Ni   g      ?(   R   R(   R"   R   (   R#   R$   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   test_unpack4|   s    c         C  s>   t  j d g  g t  j d g  g g } |  j t |  d  S(   Ni   g       @(   R   R(   R"   R   (   R#   R$   (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   test_unpack5   s    c         C  s&   d } d } |  j  t | | g  d  S(   Ng      @i   g       @(   g      @i   (   g      @g       @(   R"   R   (   R#   t   args1t   args2(    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   test_unpack6   s    c         C  s^   t  |  } xK | D]C } t j |  } t j |  } t j j | |   | |    q Wd  S(   N(   R   t   copyt   deepcopyR   t   testingt   assert_allclose(   R#   t   pyfunct   argcasest   cfuncR$   t   a1t   a2(    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyR"      s
    (   t   __name__t
   __module__R%   R&   R'   R)   R*   R+   R,   R-   R0   R"   (    (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyR   Q   s   									t   __main__(   t
   __future__R    t   numbaR   t   numba.unittest_supportt   unittest_supportt   unittestt   numpyR   R1   t   supportR   R   t	   NameErrort   rangeR   R   R	   R   R   R   R   R   R   R   R   R   t   TestCaseR   R:   t   main(    (    (    s>   lib/python2.7/site-packages/numba/tests/test_chained_assign.pyt   <module>   s0   
									F