ó
\K]c           @` s  d  d l  m Z m Z m Z d  d l Z d  d l m Z d  d l m	 Z	 m
 Z
 d d l m Z m Z d d „ Z d d „ Z d d	 „ Z d d
 „ Z d d „ Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d e f d „  ƒ  YZ e d k re j ƒ  n  d S(   i    (   t   print_functiont   absolute_importt   divisionN(   t   unittest_support(   t   jitt   typesi   (   t   TestCaset   tagc         C` s+   |  j  | j  k s t ‚ |  |  | | )d  S(   N(   t   shapet   AssertionError(   t   srct   destt   k(    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   array_overlap1   s    c         C` s+   |  j  | j  k s t ‚ |  | | | *d  S(   N(   R   R	   (   R
   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   array_overlap2   s    c         C` sO   |  j  | j  k s t ‚ |  d  d  … | d  … f | d  d  … d  | … f <d  S(   N(   R   R	   (   R
   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   array_overlap3   s    c         C` sO   |  j  | j  k s t ‚ |  d  d  … d  | … f | d  d  … | d  … f <d  S(   N(   R   R	   (   R
   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   array_overlap4   s    c         C` sC   |  j  | j  k s t ‚ |  d | d  … f | d d  | … f <d  S(   N.(   R   R	   (   R
   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   array_overlap5   s    c         C` sC   |  j  | j  k s t ‚ |  d d  | … f | d | d  … f <d  S(   N.(   R   R	   (   R
   R   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   array_overlap6    s    c         C` s/   |  j  | j  k s t ‚ |  | d  d  d … <d  S(   Niÿÿÿÿ(   R   R	   (   R
   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   array_overlap11&   s    c         C` s0   |  j  | j  k s t ‚ |  d  d  d … | (d  S(   Niÿÿÿÿ(   R   R	   (   R
   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   array_overlap12*   s    c         C` s;   |  j  | j  k s t ‚ |  | d  d  … d  d  d … f <d  S(   Niÿÿÿÿ(   R   R	   (   R
   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   array_overlap13.   s    c         C` s<   |  j  | j  k s t ‚ |  d  d  … d  d  d … f | (d  S(   Niÿÿÿÿ(   R   R	   (   R
   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   array_overlap142   s    c         C` s5   |  j  | j  k s t ‚ |  | d d  d  d … f <d  S(   N.iÿÿÿÿ(   R   R	   (   R
   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   array_overlap156   s    c         C` s6   |  j  | j  k s t ‚ |  d d  d  d … f | (d  S(   N.iÿÿÿÿ(   R   R	   (   R
   R   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   array_overlap16:   s    t   TestArrayOverlapc           B` s‰   e  Z e 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         ` s  d } d „  } ‡  f d †  } t  d t ƒ | ƒ } xÇ t | d ƒ D]¶ } | f | }	 t j d | | ƒ j |	 ƒ }
 x t | |
 ƒ | |
 ƒ ƒ D]d \ } } | rß xO t d | ƒ D]% } | | | | | t d | ƒ ƒ q³ Wq‘ | | | | | i  ƒ q‘ WqC Wd  S(   Ni   c         s` sq   |  j  d d ƒ V|  j  d d ƒ V|  d  d  d … j  ƒ  d  d  d … } | j j rb | j j sh t ‚ | Vd  S(   Nt   ordert   Ct   Fiÿÿÿÿ(   t   copyt   flagst   c_contiguoust   f_contiguousR	   (   t   origt   a(    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   vary_layoutsD   s
    & c         ` s4   |  | | |  | | | |  ˆ  j  | | ƒ d  S(   N(   t   assertPreciseEqual(   t   pyfunct   cfunct   pydestt   cdestt   kwargs(   t   self(    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   checkK   s    t   nopythoni    i   R   (   R   t   Truet   ranget   npt   aranget   reshapet   zipt   dict(   R*   R%   t   min_ndimt   have_k_argumentt   NR#   R+   R&   t   ndimR   R!   R'   R(   R   (    (   R*   s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   check_overlapA   s    	(&c         C` s   |  j  | d | d t ƒd  S(   NR4   R5   (   R8   R-   (   R*   R%   R4   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   check_overlap_with_k^   s    c         C` s   |  j  t d d ƒd  S(   NR4   i   (   R9   R   (   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   test_overlap1a   s    c         C` s   |  j  t d d ƒd  S(   NR4   i   (   R9   R   (   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   test_overlap2d   s    c         C` s   |  j  t d d ƒd  S(   NR4   i   (   R9   R   (   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   test_overlap3g   s    c         C` s   |  j  t d d ƒd  S(   NR4   i   (   R9   R   (   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   test_overlap4j   s    c         C` s   |  j  t d d ƒd  S(   NR4   i   (   R9   R   (   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   test_overlap5m   s    c         C` s   |  j  t d d ƒd  S(   NR4   i   (   R9   R   (   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   test_overlap6p   s    c         C` s   |  j  t d d ƒd  S(   NR4   i   (   R8   R   (   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   test_overlap11s   s    c         C` s   |  j  t d d ƒd  S(   NR4   i   (   R8   R   (   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   test_overlap12v   s    c         C` s   |  j  t d d ƒd  S(   NR4   i   (   R8   R   (   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   test_overlap13y   s    c         C` s   |  j  t d d ƒd  S(   NR4   i   (   R8   R   (   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   test_overlap14|   s    c         C` s   |  j  t d d ƒd  S(   NR4   i   (   R8   R   (   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   test_overlap15   s    c         C` s   |  j  t d d ƒd  S(   NR4   i   (   R8   R   (   R*   (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   test_overlap16‚   s    (   t   __name__t
   __module__t   FalseR8   R9   R:   R;   R<   R=   R>   R?   R@   RA   RB   RC   RD   RE   (    (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyR   ?   s   												t   __main__(   t
   __future__R    R   R   t   numpyR/   t   numbaR   t   unittestR   R   t   supportR   R   R   R   R   R   R   R   R   R   R   R   R   R   R   RF   t   main(    (    (    s7   lib/python2.7/site-packages/numba/tests/test_overlap.pyt   <module>   s&   						G