
    xKg                         d dl Zd dlmZ d dlmZ d dlmZmZ d dl	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 G d de      Zedk(  r e	j0                          yy)    N)jit)types)TestCasetagc                 L    | j                   |j                   k(  sJ | d |  ||d  y Nshapesrcdestks      \/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/tests/test_overlap.pyarray_overlap1r      s+    99

"""3QBxDH    c                 L    | j                   |j                   k(  sJ | |d  |d |  y r   r	   r   s      r   array_overlap2r      s+    99

"""ABD1"Ir   c                 d    | j                   |j                   k(  sJ | d d |d f   |d d d | f<   y r   r	   r   s      r   array_overlap3r      s5    99

"""ad)D3QB3Kr   c                 d    | j                   |j                   k(  sJ | d d d | f   |d d |d f<   y r   r	   r   s      r   array_overlap4r      s5    99

"""QssUD12Jr   c                 \    | j                   |j                   k(  sJ | d|d f   |dd | f<   y N.r	   r   s      r   array_overlap5r      s5    99

"""ABKDSqbSMr   c                 \    | j                   |j                   k(  sJ | dd | f   |d|d f<   y r   r	   r   s      r   array_overlap6r      s5    99

"""s3QB3w<DQRLr   c                 J    | j                   |j                   k(  sJ | |d d d<   y Nr	   r   r   s     r   array_overlap11r!   %   s%    99

"""D2Jr   c                 P    | j                   |j                   k(  sJ | d d d   |d d  y r   r	   r    s     r   array_overlap12r#   )   s)    99

"""$B$iDGr   c                 R    | j                   |j                   k(  sJ | |d d d d df<   y r   r	   r    s     r   array_overlap13r%   -   s)    99

"""D4R4Lr   c                 X    | j                   |j                   k(  sJ | d d d d df   |d d  y r   r	   r    s     r   array_overlap14r'   1   s-    99

"""!DbD&kDGr   c                 N    | j                   |j                   k(  sJ | |dd d df<   y N.r   r	   r    s     r   array_overlap15r*   5   s)    99

"""DTrTNr   c                 T    | j                   |j                   k(  sJ | dd d df   |d d  y r)   r	   r    s     r   array_overlap16r,   9   s-    99

"""#dd(mDGr   c                   b    e Zd Zd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y)TestArrayOverlapc                 h    d}d } fd} t        d      |      }t        |d      D ]  }|f|z  }	t        j                  d||z        j	                  |	      }
t         ||
       ||
            D ];  \  }}|r(t        d|      D ]  } |||||t        |              0 |||||i        =  y )	N   c              3      K   | j                  d       | j                  d       | d d d   j                         d d d   }|j                  j                  s|j                  j                  rJ | y w)NC)orderFr   )copyflagsc_contiguousf_contiguous)origas     r   vary_layoutsz4TestArrayOverlap.check_overlap.<locals>.vary_layoutsC   si     ))#)&&))#)&&TrT
!$B$'Aww++AGG4H4HHHGs   A8A:c                 R     | ||fi |  |||fi | j                  ||       y r   )assertPreciseEqual)pyfunccfuncpydestcdestkwargsselfs        r   checkz-TestArrayOverlap.check_overlap.<locals>.checkJ   s1    66,V,%)&)##FE2r   T)nopythonr      )r   )r   rangenparangereshapezipdict)rC   r>   min_ndimhave_k_argumentNr;   rD   r?   ndimr
   r9   r@   rA   r   s   `             r   check_overlapzTestArrayOverlap.check_overlap@   s    		3
 #T"6*(A&DD4KE99Q4(007D "%\$%7d9K!L""1a[feVUD1IF ) &%; "M 'r   c                 ,    | j                  ||d       y )NT)rM   rN   )rQ   )rC   r>   rM   s      r   check_overlap_with_kz%TestArrayOverlap.check_overlap_with_k]   s    6HdKr   c                 2    | j                  t        d       y NrF   rM   )rS   r   rC   s    r   test_overlap1zTestArrayOverlap.test_overlap1`       !!.1!=r   c                 2    | j                  t        d       y rU   )rS   r   rW   s    r   test_overlap2zTestArrayOverlap.test_overlap2c   rY   r   c                 2    | j                  t        d       y N   rV   )rS   r   rW   s    r   test_overlap3zTestArrayOverlap.test_overlap3f   rY   r   c                 2    | j                  t        d       y r]   )rS   r   rW   s    r   test_overlap4zTestArrayOverlap.test_overlap4i   rY   r   c                 2    | j                  t        d       y rU   )rS   r   rW   s    r   test_overlap5zTestArrayOverlap.test_overlap5l   rY   r   c                 2    | j                  t        d       y rU   )rS   r   rW   s    r   test_overlap6zTestArrayOverlap.test_overlap6o   rY   r   c                 2    | j                  t        d       y rU   )rQ   r!   rW   s    r   test_overlap11zTestArrayOverlap.test_overlap11r       ?Q7r   c                 2    | j                  t        d       y rU   )rQ   r#   rW   s    r   test_overlap12zTestArrayOverlap.test_overlap12u   rh   r   c                 2    | j                  t        d       y r]   )rQ   r%   rW   s    r   test_overlap13zTestArrayOverlap.test_overlap13x   rh   r   c                 2    | j                  t        d       y r]   )rQ   r'   rW   s    r   test_overlap14zTestArrayOverlap.test_overlap14{   rh   r   c                 2    | j                  t        d       y rU   )rQ   r*   rW   s    r   test_overlap15zTestArrayOverlap.test_overlap15~   rh   r   c                 2    | j                  t        d       y rU   )rQ   r,   rW   s    r   test_overlap16zTestArrayOverlap.test_overlap16   rh   r   N)F)__name__
__module____qualname__rQ   rS   rX   r[   r_   ra   rc   re   rg   rj   rl   rn   rp   rr    r   r   r.   r.   >   sI    <:L>>>>>>888888r   r.   __main__)rF   )numpyrH   numbar   
numba.corer   numba.tests.supportr   r   unittestr   r   r   r   r   r   r!   r#   r%   r'   r*   r,   r.   rs   mainrv   r   r   <module>r~      sy       - 
  
D8x D8N zHMMO r   