o
    i                     @   s   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dZ
d!dd	Zd!d
dZd!ddZd!ddZd!ddZdd Zdd Zdd Zdd Zdd Zdd ZG dd deZed krde	  dS dS )"    N)jit)types)TestCasetag   c                 C   s*   | j |j ksJ | d |  ||d < d S Nshapesrcdestk r   g/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/numba/tests/test_overlap.pyarray_overlap1      r   c                 C   s*   | j |j ksJ | |d  |d | < d S r   r   r
   r   r   r   array_overlap2   r   r   c                 C   s:   | j |j ksJ | d d |d f |d d d | f< d S r   r   r
   r   r   r   array_overlap3      *r   c                 C   s:   | j |j ksJ | d d d | f |d d |d f< d S r   r   r
   r   r   r   array_overlap4   r   r   c                 C   s2   | j |j ksJ | d|d f |dd | f< d S N.r   r
   r   r   r   array_overlap5      "r   c                 C   s2   | j |j ksJ | dd | f |d|d f< d S r   r   r
   r   r   r   array_overlap6   r   r   c                 C   s"   | j |j ksJ | |d d d< d S Nr   r   r   r   r   r   array_overlap11%   s   r   c                 C   s*   | j |j ksJ | d d d |d d < d S r   r   r   r   r   r   array_overlap12)   r   r   c                 C   s*   | j |j ksJ | |d d d d df< d S r   r   r   r   r   r   array_overlap13-   r   r   c                 C   s2   | j |j ksJ | d d d d df |d d < d S r   r   r   r   r   r   array_overlap141   r   r    c                 C   s&   | j |j ksJ | |dd d df< d S N.r   r   r   r   r   r   array_overlap155   s   r"   c                 C   s.   | j |j ksJ | dd d df |d d < d S r!   r   r   r   r   r   array_overlap169   s   r#   c                   @   s~   e Zd ZdddZdd Zdd Zdd	 Zd
d Zdd Zdd Z	dd Z
dd Zdd Zdd Zdd Zdd Zdd ZdS ) TestArrayOverlapFc                    s   d}dd } fdd}t dd|}t|dD ]>}|f| }	td|| |	}
t||
||
D ]"\}}|rMtd	|D ]}|||||t|d
 q>q3|||||i  q3qd S )N   c                 s   sX    | j ddV  | j ddV  | d d d   d d d }|jjs%|jjr'J |V  d S )NC)orderFr   )copyflagsc_contiguousf_contiguous)origar   r   r   vary_layoutsC   s   
z4TestArrayOverlap.check_overlap.<locals>.vary_layoutsc                    s4   | ||fi | |||fi |   || d S r   )ZassertPreciseEqual)pyfunccfuncpydestcdestkwargsselfr   r   checkJ   s   z-TestArrayOverlap.check_overlap.<locals>.checkT)Znopythonr   r   )r   )r   rangenpZarangeZreshapezipdict)r6   r0   min_ndimhave_k_argumentNr/   r7   r1   ndimr	   r-   r2   r3   r   r   r5   r   check_overlap@   s   
zTestArrayOverlap.check_overlapc                 C   s   | j ||dd d S )NT)r<   r=   )r@   )r6   r0   r<   r   r   r   check_overlap_with_k]   s   z%TestArrayOverlap.check_overlap_with_kc                 C      | j tdd d S Nr   r<   )rA   r   r5   r   r   r   test_overlap1`      zTestArrayOverlap.test_overlap1c                 C   rB   rC   )rA   r   r5   r   r   r   test_overlap2c   rF   zTestArrayOverlap.test_overlap2c                 C   rB   N   rD   )rA   r   r5   r   r   r   test_overlap3f   rF   zTestArrayOverlap.test_overlap3c                 C   rB   rH   )rA   r   r5   r   r   r   test_overlap4i   rF   zTestArrayOverlap.test_overlap4c                 C   rB   rC   )rA   r   r5   r   r   r   test_overlap5l   rF   zTestArrayOverlap.test_overlap5c                 C   rB   rC   )rA   r   r5   r   r   r   test_overlap6o   rF   zTestArrayOverlap.test_overlap6c                 C   rB   rC   )r@   r   r5   r   r   r   test_overlap11r   rF   zTestArrayOverlap.test_overlap11c                 C   rB   rC   )r@   r   r5   r   r   r   test_overlap12u   rF   zTestArrayOverlap.test_overlap12c                 C   rB   rH   )r@   r   r5   r   r   r   test_overlap13x   rF   zTestArrayOverlap.test_overlap13c                 C   rB   rH   )r@   r    r5   r   r   r   test_overlap14{   rF   zTestArrayOverlap.test_overlap14c                 C   rB   rC   )r@   r"   r5   r   r   r   test_overlap15~   rF   zTestArrayOverlap.test_overlap15c                 C   rB   rC   )r@   r#   r5   r   r   r   test_overlap16   rF   zTestArrayOverlap.test_overlap16N)F)__name__
__module____qualname__r@   rA   rE   rG   rJ   rK   rL   rM   rN   rO   rP   rQ   rR   rS   r   r   r   r   r$   >   s    
r$   __main__)r   )numpyr9   Znumbar   Z
numba.corer   Znumba.tests.supportr   r   Zunittestr   r   r   r   r   r   r   r   r   r    r"   r#   r$   rT   mainr   r   r   r   <module>   s*    





G