Ë
    èÿæiÿ  ã                   óÔ   — 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      úm/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_overlap.pyÚarray_overlap1r      s+   € Ø�9‰9˜Ÿ
™
Ò"Ð"Ð"Ø�3�Q�Bˆx€Dˆˆ�Hó    c                 óL   — | j                   |j                   k(  sJ ‚| |d  |d |  y r   r	   r   s      r   Úarray_overlap2r      s+   € Ø�9‰9˜Ÿ
™
Ò"Ð"Ð"Ø�A�B�€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   € Ø�9‰9˜Ÿ
™
Ò"Ð"Ð"Ø’a˜™�d‘)€DŠˆ3ˆQˆBˆ3ˆ‚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   € Ø�9‰9˜Ÿ
™
Ò"Ð"Ð"Ø’Q�s˜˜�s�U‘€DŠˆ1‰2ˆ‚Jr   c                 ó\   — | j                   |j                   k(  sJ ‚| d|d …f   |dd | …f<   y ©N.r	   r   s      r   Úarray_overlap5r      s5   € Ø�9‰9˜Ÿ
™
Ò"Ð"Ð"Ø˜˜A™B˜‘K€DˆˆSˆqˆbˆSˆ‚Mr   c                 ó\   — | j                   |j                   k(  sJ ‚| dd | …f   |d|d …f<   y r   r	   r   s      r   Úarray_overlap6r      s5   € Ø�9‰9˜Ÿ
™
Ò"Ð"Ð"Ø�s˜3˜Q˜B˜3�w‘<€DˆˆQ‰Rˆ‚Lr   c                 óJ   — | j                   |j                   k(  sJ ‚| |d d d…<   y ©Néÿÿÿÿr	   ©r   r   s     r   Úarray_overlap11r!   %   s%   € Ø�9‰9˜Ÿ
™
Ò"Ð"Ð"Ø€D‰ˆ2ˆ‚Jr   c                 óP   — | j                   |j                   k(  sJ ‚| d d d…   |d d  y r   r	   r    s     r   Úarray_overlap12r#   )   s)   € Ø�9‰9˜Ÿ
™
Ò"Ð"Ð"Ø‘$�B�$‰i€D‰�Gr   c                 óR   — | j                   |j                   k(  sJ ‚| |d d …d d d…f<   y r   r	   r    s     r   Úarray_overlap13r%   -   s)   € Ø�9‰9˜Ÿ
™
Ò"Ð"Ð"Ø€DŠ‰4ˆRˆ4ˆ‚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-   € Ø�9‰9˜Ÿ
™
Ò"Ð"Ð"Ø’!‘D�b�D�&‰k€D‰�Gr   c                 óN   — | j                   |j                   k(  sJ ‚| |dd d d…f<   y ©N.r   r	   r    s     r   Úarray_overlap15r*   5   s)   € Ø�9‰9˜Ÿ
™
Ò"Ð"Ð"Ø€Dˆ‰TˆrˆTˆ‚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-   € Ø�9‰9˜Ÿ
™
Ò"Ð"Ð"Ø�#‘d˜�d�(‰m€D‰�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   è ø€ Ø—)‘) #�)Ó&Ò&Ø—)‘) #�)Ó&Ò&Ø‘T�r�T‘
—‘Ó!¡$ B $Ñ'ˆAØ—w‘w×+Ò+°A·G±G×4HÒ4HÐHÐHØ‹Gùs   ‚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   ø€ Ù�6˜6Ñ, VÒ,Ù�%˜Ñ) &Ò)Ø×#Ñ# F¨EÕ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Ø�D˜4‘KˆEÜ—9‘9˜Q  4¡Ó(×0Ñ0°Ó7ˆDô "%¡\°$Ó%7¹ÀdÓ9KÖ!L‘�˜Ù"Ü" 1 až[˜Ù˜f e¨V°U¼DÀ1¼IÕ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   € Ø×Ñ˜6¨HÀdÐÕ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8�xô D8ðN ˆzÒØ€H‡M�M…Oð r   