Ë
    èÿæi  ã                   ó”   — d dl Z 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  G d„ de«      Zedk(  r ej                  «        yy)	é    N)ÚjitÚnjit)Útypes)Úusecases)ÚTestCasec                   óà  — e Zd Zej                  d„ «       Zej                  d„ «       Zej                  d„ «       Zej                  d„ «       Zej                  d„ «       Z	ej                  d„ «       Z
ej                  d„ «       Zej                  d„ «       Zej                  d	„ «       Zej                  d
„ «       Zej                  d„ «       Zej                  d„ «       Zej                  d„ «       Zy)ÚTestUsecasesc                 óø   — t         j                  } t        t        j                  t        j                  f«      |«      }d}d}t        j                  ||«      D ]  }| j                   ||Ž  ||Ž d|›�«       Œ  y )N)éÿÿÿÿr   é   é	   é
   é   zargs )r   Úandorr   r   Úint32Ú	itertoolsÚproductÚassertEqual)ÚselfÚpyfuncÚcfuncÚxsÚysÚargss         ún/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_usecases.pyÚ
test_andorzTestUsecases.test_andor   si   € ä—‘ˆØ0””e—k‘k¤5§;¡;Ð/Ó0°Ó8ˆð !ˆØ ˆä×%Ñ% b¨"Ö-ˆDØ×Ñ™V T˜]©E°4©LÁtÐ:MÕNñ .ó    c                 óò   — t         j                  } t        t        j                  t        j                  f«      |«      }d}d}t        j                  ||«      D ]  }| j                   ||Ž  ||Ž |«       Œ y ©N©r   r   r   éd   éÈ   )r   Úsum1dr   r   r   r   r   r   ©r   r   r   ÚssÚesr   s         r   Ú
test_sum1dzTestUsecases.test_sum1d   ód   € ä—‘ˆØ0””e—k‘k¤5§;¡;Ð/Ó0°Ó8ˆàˆØˆä×%Ñ% b¨"Ö-ˆDØ×Ñ™V T˜]©E°4¨L¸$Õ?ñ .r   c                 óö   — t         j                  } t        t        j                  t        j                  fd¬«      |«      }d}d}t        j                  ||«      D ]  }| j                   ||Ž  ||Ž |«       Œ y )NT©Úforceobjr    )r   r#   r   r   r   r   r   r   r$   s         r   Útest_sum1d_pyobjzTestUsecases.test_sum1d_pyobj&   sf   € ä—‘ˆØ>””U—[‘[¤%§+¡+Ð.¸Ô>¸vÓFˆàˆØˆä×%Ñ% b¨"Ö-ˆDØ×Ñ™V T˜]©E°4¨L¸$Õ?ñ .r   c                 óò   — t         j                  } t        t        j                  t        j                  f«      |«      }d}d}t        j                  ||«      D ]  }| j                   ||Ž  ||Ž |«       Œ y r   )r   Úsum2dr   r   r   r   r   r   r$   s         r   Ú
test_sum2dzTestUsecases.test_sum2d1   r(   r   c                 óò   — t         j                  } t        t        j                  t        j                  f«      |«      }d}d}t        j                  ||«      D ]  }| j                   ||Ž  ||Ž |«       Œ y r   )r   Úwhile_countr   r   r   r   r   r   r$   s         r   Útest_while_countzTestUsecases.test_while_count<   sf   € ä×%Ñ%ˆØ0””e—k‘k¤5§;¡;Ð/Ó0°Ó8ˆàˆØˆä×%Ñ% b¨"Ö-ˆDØ×Ñ™V T˜]©E°4¨L¸$Õ?ñ .r   c                 óJ  — t         j                  }t        j                  t        j                  dd«      } t        ||f«      |«      }d}|D ]T  }t        j                  |d¬«      }t        j                  |«      }||f} ||Ž  | j                  ||t        |«      ¬«       ŒV y )Nr   ÚA)r   r   r   r!   r   ©Údtype©Úmsg)r   Úcopy_arraysr   ÚArrayr   r   ÚnpÚarangeÚ
empty_likeÚassertPreciseEqualÚstr)	r   r   Ú	arraytyper   ÚndaÚndÚaÚbr   s	            r   Útest_copy_arrayszTestUsecases.test_copy_arraysG   s�   € ä×%Ñ%ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	Ø,”�i Ð+Ó,¨VÓ4ˆàˆãˆBÜ—	‘	˜" GÔ,ˆAÜ—‘˜aÓ ˆAØ�a�4ˆDá�4‰LØ×#Ñ# A q¬c°$«iÐ#Õ8ñ r   c                 óz  — t         j                  }t        j                  t        j                  dd«      } t        ||f«      |«      }d}|D ]l  }|\  }}t        j                  ||z  d¬«      j                  ||«      }t        j                  |«      }	||	f}
 ||
Ž  | j                  ||	t        |
«      ¬«       Œn y )Né   r4   ))r   r   )r   r   )rG   é   )é   é   r   r5   r7   )r   Úcopy_arrays2dr   r:   r   r   r;   r<   Úreshaper=   r>   r?   )r   r   r@   r   rA   rB   Úd1Úd2rC   rD   r   s              r   Útest_copy_arrays2dzTestUsecases.test_copy_arrays2dW   s©   € ä×'Ñ'ˆÜ—K‘K¤§¡¨Q°Ó4ˆ	Ø,”�i Ð+Ó,¨VÓ4ˆà-ˆãˆBØ‰FˆB�Ü—	‘	˜"˜r™'¨Ô1×9Ñ9¸"¸bÓAˆAÜ—‘˜aÓ ˆAØ�a�4ˆDá�4‰LØ×#Ñ# A q¬c°$«iÐ#Õ8ñ r   c                 ó  — t         j                  } t        t        j                  t        j                  fd¬«      |«      }d}d}t        j                  ||«      D ]"  \  }}||f}| j                   ||Ž  ||Ž |«       Œ$ y )NTr*   )r   r   r   )r   Ústring_concatr   r   r   r   r   r   )r   r   r   r   r   ÚxÚyr   s           r   Útest_string_concatzTestUsecases.test_string_concath   su   € ä×'Ñ'ˆØ>””U—[‘[¤%§+¡+Ð.¸Ô>¸vÓFˆàˆØˆä×%Ñ% b¨"Ö-‰DˆAˆqØ�a�4ˆDØ×Ñ™V T˜]©E°4¨L¸$Õ?ñ .r   c                 ó(  — t         j                  } t        t        j                  fd¬«      |«      }d}| j                   ||«       ||«      «       d}| j                   ||«       ||«      «       d}| j                   ||«       ||«      «       y )NTr*   Ú123456Ú1Ú )r   Ú
string_lenr   r   Úpyobjectr   ©r   r   r   Útest_strs       r   Útest_string_lenzTestUsecases.test_string_lent   s�   € ä×$Ñ$ˆØ5””U—^‘^Ð%°Ô5°fÓ=ˆàˆØ×Ñ™ Ó)©5°«?Ô;ØˆØ×Ñ™ Ó)©5°«?Ô;ØˆØ×Ñ™ Ó)©5°«?Õ;r   c                 ó>  — t         j                  } t        t        j                  fdz  d¬«      |«      }d}| j                   ||dd«       ||dd«      «       | j                   ||dd«       ||dd«      «       | j                   ||dd«       ||dd«      «       y )	Né   Tr*   rV   r   r   rH   rG   )r   Ústring_slicingr   r   rZ   r   r[   s       r   Útest_string_slicingz TestUsecases.test_string_slicing€   s—   € ä×(Ñ(ˆØ9””U—^‘^Ð%¨Ñ)°DÔ9¸&ÓAˆàˆØ×Ñ™ ¨!¨QÓ/±°xÀÀAÓ1FÔGØ×Ñ™ ¨!¨QÓ/±°xÀÀAÓ1FÔGØ×Ñ™ ¨!¨QÓ/±°xÀÀAÓ1FÕGr   c                 ó$  — t         j                  } t        t        j                  fd¬«      |«      }| j                   |d«       |d«      «        t        t        j                  fd¬«      |«      }| j                   |d«       |d«      «       y )NTr*   r   gš™™™™™ñ?)r   Ústring_conversionr   r   r   r   Úfloat32)r   r   r   s      r   Útest_string_conversionz#TestUsecases.test_string_conversionŠ   sp   € ä×+Ñ+ˆà2””U—[‘[�N¨TÔ2°6Ó:ˆØ×Ñ™ ›¡E¨!£HÔ-à4””U—]‘]Ð$¨tÔ4°VÓ<ˆØ×Ñ™ ›¡e¨C£jÕ1r   c                 ó<  — dd l }t        j                  } t        t        j
                  t        j
                  t        j
                  fd¬«      |«      }d}d}|j                  }| j                   ||||«       ||||«      «       d}d}|j                  }| j                   ||||«       ||||«      «       d}d}|j                  }| j                   ||||«       ||||«      «       d}d}|j                  }| j                   ||||«       ||||«      «       y )Nr   Tr*   Ú123Ú456)	Úoperatorr   Ústring_comparisonr   r   rZ   Úeqr   Úne)r   ri   r   r   Ú	test_str1Ú	test_str2Úops          r   Útest_string_comparisonsz$TestUsecases.test_string_comparisons”   s&  € ãÜ×+Ñ+ˆð#””U—^‘^¤U§^¡^´U·^±^ÐDØ!ô#Ø#)ó+ˆð ˆ	Øˆ	Ø�[‰[ˆØ×Ñ™ 	¨9°bÓ9Ù�)˜Y¨Ó+ô	-ð ˆ	Øˆ	Ø�[‰[ˆØ×Ñ™ 	¨9°bÓ9Ù�)˜Y¨Ó+ô	-ð ˆ	Øˆ	Ø�[‰[ˆØ×Ñ™ 	¨9°bÓ9Ù�)˜Y¨Ó+ô	-ð ˆ	Øˆ	Ø�[‰[ˆØ×Ñ™ 	¨9°bÓ9Ù�)˜Y¨Ó+õ	-r   c                 ó®   — t         j                  } t        t        j                  f«      |«      }d}|D ]  }|f}| j                   ||Ž  ||Ž |«       Œ  y )N)g      à¿r   g      à?)r   Úblackscholes_cndr   r   rd   r   )r   r   r   ÚdsÚdr   s         r   Útest_blackscholes_cndz"TestUsecases.test_blackscholes_cnd³   sU   € ä×*Ñ*ˆØ&””e—m‘mÐ%Ó& vÓ.ˆàˆãˆAØ�4ˆDØ×Ñ™V T˜]©E°4¨L¸$Õ?ñ r   N)Ú__name__Ú
__module__Ú__qualname__r   Úrun_test_in_subprocessr   r'   r,   r/   r2   rE   rO   rT   r]   ra   re   rp   ru   © r   r   r	   r	      sd  „ ð ×$Ñ$ñ	Oó %ð	Oð ×$Ñ$ñ@ó %ð@ð ×$Ñ$ñ@ó %ð@ð ×$Ñ$ñ@ó %ð@ð ×$Ñ$ñ@ó %ð@ð ×$Ñ$ñ9ó %ð9ð ×$Ñ$ñ9ó %ð9ð  ×$Ñ$ñ	@ó %ð	@ð ×$Ñ$ñ	<ó %ð	<ð ×$Ñ$ñHó %ðHð ×$Ñ$ñ2ó %ð2ð ×$Ñ$ñ-ó %ð-ð< ×$Ñ$ñ@ó %ñ@r   r	   Ú__main__)r   ÚunittestÚnumpyr;   Únumbar   r   Ú
numba.corer   Únumba.testsr   Únumba.tests.supportr   r	   rv   Úmainrz   r   r   Ú<module>rƒ      sE   ðÛ Û Û ç Ý Ý  Ý (ôq@�8ô q@ðh ˆzÒØ€H‡M�M…Oð r   