Ë
    èÿæi  ã                   ó  — d dl Z d dlZd dlmZmZ d dlmZ d dlm	Z	 d dl
mZ d„ Zd„ Zd„ Zd	„ Zd
„ Zd„ Zd„ Zd„ Zd„ Zd„ Z G d„ de j                  «      Zed„ «       Z G d„ de	«      Zedk(  r e j4                  «        yy)é    N)ÚjitÚnjit)Útypes)ÚTestCase)Úlength_of_iteratorc                 ó4   — d}t        | «      D ]  }||z  }Œ	 |S ©Nr   ©Úrange)ÚnÚsÚis      úk/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_range.pyÚloop1r      s#   € Ø	€AÜ�1ŽXˆØ	ˆQ‰‰ð à€Hó    c                 ó6   — d}t        | |«      D ]  }||z  }Œ	 |S r	   r
   )ÚaÚbr   r   s       r   Úloop2r      s%   € Ø	€AÜ�1�aŽ[ˆØ	ˆQ‰‰ð à€Hr   c                 ó8   — d}t        | ||«      D ]  }||z  }Œ	 |S r	   r
   )r   r   Úcr   r   s        r   Úloop3r      s'   € Ø	€AÜ�1�a˜Ž^ˆØ	ˆQ‰‰ð à€Hr   c                 ó*   — t        t        | «      «      S ©N©Úlenr   )r   s    r   Ú
range_len1r       s   € ÜŒu�Q‹x‹=Ðr   c                 ó,   — t        t        | |«      «      S r   r   )r   r   s     r   Ú
range_len2r   #   s   € ÜŒu�Q˜‹{ÓÐr   c                 ó.   — t        t        | ||«      «      S r   r   )r   r   r   s      r   Ú
range_len3r!   &   s   € ÜŒu�Q˜˜1‹~ÓÐr   c                 ó<   — t        t        t        | «      «      «      S r   )r   Úiterr   ©r   s    r   Úrange_iter_len1r%   (   s   € Üœd¤5¨£8›nÓ-Ð-r   c                 ó*   — t        t        | «      «      S r   )r   r#   r$   s    r   Úrange_iter_len2r'   +   s   € Üœd 1›gÓ&Ð&r   c                 óÊ   — t        | «      }t        | |«      }t        | ||«      }g }|||fD ]4  }|j                  |j                  |j                  |j                  f«       Œ6 |S r   )r   ÚappendÚstartÚstopÚstep)r*   r+   r,   Úr1Úr2Úr3ÚtmpÚrs           r   Úrange_attrsr2   .   s^   € Ü	ˆu‹€BÜ	ˆu�dÓ	€BÜ	ˆu�d˜DÓ	!€BØ
€CØ�"�b‹\ˆØ�
‰
�A—G‘G˜QŸV™V Q§V¡VÐ,Õ-ð à€Jr   c                 ó~   — t        |«      }t        ||«      }t        |||«      }|||fD �cg c]  }| |v ‘Œ c}S c c}w r   r
   )Úvalr*   r+   r,   r-   r.   r/   r1   s           r   Úrange_containsr5   7   sG   € Ü	ˆu‹€BÜ	ˆu�dÓ	€BÜ	ˆu�d˜DÓ	!€BØ! 2 r™lÓ+™l˜ˆC�1ŠH˜lÑ+Ð+ùÒ+s   ¬:c                   óH   — e Zd Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z	d„ Z
d	„ Zd
„ Zy)Ú	TestRangec                 óŒ   — t         } t        t        j                  f«      |«      }| j	                   |d«       |d«      «       y )Né   )r   r   r   Úint16Ú
assertTrue©ÚselfÚpyfuncÚcfuncs      r   Útest_loop1_int16zTestRange.test_loop1_int16@   s4   € ÜˆØ$””e—k‘k�^Ó$ VÓ,ˆØ�‰™˜a›¡&¨£)Õ,r   c                 ó®   — t         } t        t        j                  t        j                  f«      |«      }| j	                   |dd«       |dd«      «       y )Né   é   )r   r   r   r:   r;   r<   s      r   Útest_loop2_int16zTestRange.test_loop2_int16E   s?   € ÜˆØ0””e—k‘k¤5§;¡;Ð/Ó0°Ó8ˆØ�‰™˜a ›¡V¨A¨q£\Õ2r   c                 óÒ   — t         } t        t        j                  t        j                  t        j                  f«      |«      }g d¢}|D ]  }| j	                   ||Ž  ||Ž «       Œ y )N©)rB   é   rB   )rG   é   é   )éöÿÿÿiõÿÿÿrJ   )rJ   rJ   éþÿÿÿ)r   r   r   Úint32ÚassertEqual)r=   r>   r?   ÚarglistÚargss        r   Útest_loop3_int32zTestRange.test_loop3_int32J   sV   € ÜˆØ=””e—k‘k¤5§;¡;´·±Ð<Ó=¸fÓEˆò
ˆó ˆDØ×Ñ™U D˜\©6°4¨=Õ9ñ r   c           
      ó
  — t         }t        j                  t        j                  t        j                  g}g d¢}|D ]E  } t        |f«      |«      }|D ],  }| j                   | ||«      «       | ||«      «      «       Œ. ŒG y ©N)r9   r   éûÿÿÿ)r   r   r:   rL   Úint64r   rM   )r=   r>   ÚtypelistrN   Útypr?   Úargs          r   Útest_range_len1zTestRange.test_range_len1V   sk   € ÜˆÜ—K‘K¤§¡¬e¯k©kÐ:ˆÚˆÛˆCØ ”D˜#˜“L Ó(ˆEÛ�Ø× Ñ ¡¡s¨3£x£±&¹¸S»Ó2BÕCñ ñ r   c                 ó  ‡— t         }t        j                  t        j                  t        j                  g}g d¢}|D ]H  Š t        ‰‰f«      |«      }|D ].  }t        ˆfd„|D «       «      }| j                   ||Ž  ||Ž «       Œ0 ŒJ y )N))rB   rC   )rC   rB   )rS   éÿÿÿÿc              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wr   © ©Ú.0ÚxrV   s     €r   Ú	<genexpr>z,TestRange.test_range_len2.<locals>.<genexpr>f   ó   øè ø€ Ð3©d¨™c !Ÿf©dùó   ƒ)r   r   r:   rL   rT   r   ÚtuplerM   ©r=   r>   rU   rN   r?   rO   Úargs_rV   s          @r   Útest_range_len2zTestRange.test_range_len2_   sv   ø€ ÜˆÜ—K‘K¤§¡¬e¯k©kÐ:ˆÚ*ˆÛˆCØ$”D˜#˜s˜Ó$ VÓ,ˆEÛ�ÜÓ3©dÓ3Ó3�Ø× Ñ ¡¨ ±¸°Õ?ñ  ñ r   c                 ó  ‡— t         }t        j                  t        j                  t        j                  g}g d¢}|D ]I  Š t        ‰‰‰f«      |«      }|D ].  }t        ˆfd„|D «       «      }| j                   ||Ž  ||Ž «       Œ0 ŒK y )NrF   c              3   ó.   •K  — | ]  } ‰|«      –— Œ y ­wr   r\   r]   s     €r   r`   z,TestRange.test_range_len3.<locals>.<genexpr>u   ra   rb   )r!   r   r:   rL   rT   r   rc   rM   rd   s          @r   Útest_range_len3zTestRange.test_range_len3i   s|   ø€ ÜˆÜ—K‘K¤§¡¬e¯k©kÐ:ˆò
ˆó ˆCØ)”D˜#˜s C˜Ó)¨&Ó1ˆEÛ�ÜÓ3©dÓ3Ó3�Ø× Ñ ¡¨ ±¸°Õ?ñ  ñ r   c           
      ó  — t         }t        }t        j                  t        j                  t        j
                  g}g d¢}|D ]E  } t        |f«      |«      }|D ],  }| j                   | ||«      «       | ||«      «      «       Œ. ŒG y rR   )r   r%   r   r:   rL   rT   r   rM   )r=   Ú
range_funcÚrange_iter_funcrU   rN   rV   r?   rW   s           r   Útest_range_iter_len1zTestRange.test_range_iter_len1x   sp   € Üˆ
Ü)ˆÜ—K‘K¤§¡¬e¯k©kÐ:ˆÚˆÛˆCØ ”D˜#˜“L Ó1ˆEÛ�Ø× Ñ ¡¡s¨3£x£±*¹SÀ»XÓ2FÕGñ ñ r   c                 óÄ   — t         } t        t        j                  t        j                  d¬«      f«      |«      }g d¢}| j                   ||«      t        |«      «       y )NT)Ú	reflected)rB   rG   rI   é   r9   )r'   r   r   ÚListÚintprM   r   )r=   rl   r?   rN   s       r   Útest_range_iter_listzTestRange.test_range_iter_list‚   sG   € Ü)ˆØ?””e—j‘j¤§¡°tÔ<Ð>Ó?ÀÓPˆÚ!ˆØ×Ñ™˜w›¬¨W«Õ6r   c                 óÒ   — t         }g d¢} t        t        j                  t        j                  t        j                  f«      |«      }|D ]  }| j	                   ||Ž  ||Ž «       Œ y )N)©r   r   rB   ©r   rZ   rB   ©rZ   rB   rB   ©rZ   rp   rB   ©rZ   rp   é
   ©r9   rS   rK   )r2   r   r   rT   rM   )r=   r>   rN   r?   rW   s        r   Útest_range_attrszTestRange.test_range_attrsˆ   sV   € Üˆò!ˆð ?””e—k‘k¤5§;¡;´·±Ð<Ó>¸vÓFˆÛˆCØ×Ñ™U C˜[©&°#¨,Õ7ñ r   c           	      óH  — t         }g d¢}ddg}g d¢}g d¢}g d¢}||z   |z   |z   }t        |«      }|D ])  }	|D ]"  }
| j                   ||
g|	¢­Ž  ||
g|	¢­Ž «       Œ$ Œ+ ddidgd	d
g}t        |d¬«      }|D ])  }	|D ]"  }
| j                   ||
g|	¢­Ž  ||
g|	¢­Ž «       Œ$ Œ+ y )N)	ru   )rZ   r   rB   )rB   r   rZ   rv   )r   rB   rZ   rw   rx   ry   r{   TF)rJ   iúÿÿÿrS   éüÿÿÿrK   rZ   r   rB   rG   rp   r9   rC   rz   )gš™™™™™ñ¿g      ð¿g        g      ð?gš™™™™™ñ?)y      ð?        y      ð?      ð?yš™™™™™ñ?        y      ð?š™™™™™ñ?r   rB   Úabc)rB   )Úforceobj)r5   r   rM   r   )r=   r>   rN   Ú	bool_valsÚint_valsÚ
float_valsÚcomplex_valsÚvallistr?   rW   r4   Únon_numeric_valsÚ	cfunc_objs                r   Útest_range_containszTestRange.test_range_contains•   sß   € Üˆò!ˆð ˜5�Mˆ	ò(ˆâ0ˆ
Ú=ˆà˜xÑ'¨*Ñ4Øñˆô �V“ˆÛˆCÛ�Ø× Ñ ¡ sÐ!1¨SÒ!1±6¸#Ð3DÀÒ3DÕEñ ð ð ! !˜H q e¨U°DÐ9Ðä˜¨Ô.ˆ	ÛˆCÛ'�Ø× Ñ ¡¨3Ð!5°Ò!5±v¸cÐ7HÀCÒ7HÕIñ (ñ r   N)Ú__name__Ú
__module__Ú__qualname__r@   rD   rP   rX   rf   ri   rm   rs   r|   rˆ   r\   r   r   r7   r7   >   s9   „ ò-ò
3ò

:òDò@ò@òHò7ò8óJr   r7   c           	      ó´   — t        j                  t        t        | ||«      «      t         j                  ¬«      }d}t        | ||«      D ]  }|||<   |dz  }Œ |S )N©Údtyper   rB   )ÚnpÚzerosr   r   Úuint64)r*   r+   r,   r_   r   Úvs         r   Ú	my_aranger“   ·   sU   € ä
�‰””U˜5 $¨Ó-Ó.´b·i±iÔ@€AØ	€AÜ�5˜$ Ö%ˆØˆˆ!‰Ø	ˆQ‰‰ð &ð €Hr   c                   ó   — e Zd Zd„ Zy)ÚTestRangeNumpyc           	      óþ   — t        t        j                  d«      t        j                  d«      t        j                  d«      «      }| j	                  |t        j
                  dddt        j                  ¬«      «       y)z,Test that mixing `uint64` and `int64` works.rC   r   rZ   r�   N)r“   r�   r‘   rT   ÚassertPreciseEqualÚarange)r=   r   s     r   Útest_range_safe_cast_mixedz)TestRangeNumpy.test_range_safe_cast_mixedÂ   sK   € ä”b—i‘i “l¤B§I¡I¨a£L´"·(±(¸2³,Ó?ˆØ×Ñ ¤2§9¡9¨Q°°2¼R¿Y¹YÔ#GÕHr   N)r‰   rŠ   r‹   r™   r\   r   r   r•   r•   Á   s   „ óIr   r•   Ú__main__)ÚunittestÚnumpyr�   Únumbar   r   Ú
numba.corer   Únumba.tests.supportr   Únumba.core.inline_closurecallr   r   r   r   r   r   r!   r%   r'   r2   r5   r7   r“   r•   r‰   Úmainr\   r   r   Ú<module>r¢      sœ   ðÛ ã ç Ý Ý (å <òòòòòòò.ò'òò,ôvJ�×!Ñ!ô vJðr ñó ðôI�Xô Ið ˆzÒØ€H‡M�M…Oð r   