Ë
    èÿæi¡  ã                   óÒ  — d dl Zd dlmZmZmZ d dlmZ d dlm	Z	 d dl
Z
 ej                  d«      Zd„ Z ej                  dej                  ¬«      Z ej                  dej                  ¬«      Zeedz   dz  z  Zd	„ Z ej$                  d
ej&                  fdej(                  fg«      Z ej,                  de¬«      Z e ee«      «      D ]  Zeee   _        edz   ee   _        Œ d„ Zd„ Z ej$                  dej>                  fdej@                  fg«      Z! ej,                  de!¬«      Z" e ee"«      «      D ]  Zedz   e"e   _#        edz   e"e   _$        Œ d„ Z% ej,                  de¬«      d    Z&de&_        de&_         ed¬«      d„ «       Z' ed¬«      d„ «       Z(dZ)dZ*dZ+dZ, ejZ                  d«       ej\                  d«      fZ/ ej`                  d«      ffZ1d  ej`                  d«      fd!d"fZ2d#„ Z3d$„ Z4d%„ Z5d&„ Z6d'„ Z7d(„ Z8d)„ Z9 ejt                  d«      Z; ejt                  d*«      Z<ed+„ «       Z=d,„ Z> G d-„ d.e
j~                  «      Z@eAd/k(  r e
j„                  «        yy)0é    N)ÚjitÚnjitÚerrors)Úregister_jitable)Úusecasesé
   c                 ó2   — | t         j                  d   z   }|S )Nr   )ÚXÚshape©ÚxÚys     úm/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_globals.pyÚglobal_ndarray_funcr   
   s   € Ø	ŒA�G‰G�A‰J‰€AØ€Hó    ©Údtypey              ð?c                 óN   — t        t        | «      «      D ]  }t        |   | |<   Œ y ©N)ÚrangeÚlenÚcplx_X©ÚaÚis     r   Úglobal_cplx_arr_copyr      s!   € Ü”3�q“6Ž]ˆÜ�a‰yˆˆ!Šñ r   r   Úbg      à?c                 óN   — t        t        | «      «      D ]  }t        |   | |<   Œ y r   )r   r   Úrec_Xr   s     r   Úglobal_rec_arr_copyr    "   s!   € Ü”3�q“6Ž]ˆÜ�Q‰xˆˆ!Šñ r   c                 óŽ   — t        t        | «      «      D ].  }t        |   j                  | |<   t        |   j                  ||<   Œ0 y r   )r   r   r   r   r   )r   r   r   s      r   Úglobal_rec_arr_extract_fieldsr"   '   s6   € Ü”3�q“6Ž]ˆÜ�Q‰x�z‰zˆˆ!‰Ü�Q‰x�z‰zˆˆ!Šñ r   ÚcÚdg      %@c                 óæ   — t        t        | «      «      D ]Z  }t        |   j                  | |<   t        |   j                  ||<   t
        |   j                  ||<   t
        |   j                  ||<   Œ\ y r   )r   r   r   r   r   Úrec_Yr#   r$   )r   r   r#   r$   r   s        r   Úglobal_two_rec_arrsr'   5   sX   € Ü”3�q“6Ž]ˆÜ�Q‰x�z‰zˆˆ!‰Ü�Q‰x�z‰zˆˆ!‰Ü�Q‰x�z‰zˆˆ!‰Ü�Q‰x�z‰zˆˆ!Šñ	 r   é   g      ø?T©Únopythonc                 ó<   — | j                   t        j                   k(  S r   )r   Úrecord_only_X)r   s    r   Úglobal_record_funcr-   B   s   € à�3‰3”-—/‘/Ñ!Ð!r   c                 ó.   — t        j                  | |«      S r   )r   Úandornopythonr   s     r   Úglobal_module_funcr0   G   s   € ä×!Ñ! ! QÓ'Ð'r   )r(   é   )r   r   )r(   r   )g333333ó?g      @é   é   é   ÚZy               @ÚAc                  ó(   — t         d   t         d   z   S ©Nr   r(   )Útup_int© r   r   Úglobal_int_tupler;   T   ó   € Ü�1‰:œ ™
Ñ"Ð"r   c                  ó(   — t         d   t         d   z   S r8   )Útup_strr:   r   r   Úglobal_str_tupler?   X   r<   r   c                  ó>   — t         d   } t         d   }t        |    |   S r8   )Ú	tup_mixedr   )ÚidxÚfields     r   Úglobal_mixed_tuplerD   \   s#   € Ü
�A‰,€CÜ�a‰L€EÜ�‰:�eÑÐr   c                  ó(   — t         d   t         d   z   S r8   )Ú	tup_floatr:   r   r   Úglobal_float_tuplerG   b   s   € Ü�Q‰<œ) A™,Ñ&Ð&r   c                  ó(   — t         d   t         d   z   S r8   )Útup_npy_intsr:   r   r   Úglobal_npy_int_tuplerJ   f   s   € Ü˜‰?œ\¨!™_Ñ,Ð,r   c                  ó"   — dt         d   d   d<   y )Nç      $@r   )Útup_tup_arrayr:   r   r   Úglobal_write_to_arr_in_tuplerN   j   s   € Ø „M�!Ñ�QÑ˜Òr   c                  ó"   — dt         d   d   d<   y )NrL   r   r(   )Úmixed_tup_tup_arrayr:   r   r   Ú"global_write_to_arr_in_mixed_tuplerQ   n   s   € Ø#&Ô˜Ñ˜1Ñ˜aÒ r   Fc                   ó   — y r   r:   )Úargss    r   Ú_sinkrT   v   s   € àr   c                  óB   — t        t        t        «       t        t        fS r   )rT   Ú_glbl_np_bool_TÚ_glbl_np_bool_Fr:   r   r   Úglobal_npy_boolrX   z   s   € Ü	Œ/œ?Ô+ÜœOÐ+Ð+r   c                   óœ   — e 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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)ÚTestGlobalsc                 ó^   —  t        di |¤Žt        «      }| j                   |d«      d«       y )Nr(   é   r:   )r   r   ÚassertEqual)ÚselfÚjitargsÚ	ctestfuncs      r   Úcheck_global_ndarrayz TestGlobals.check_global_ndarray�   s)   € à"”C‘N˜'‘NÔ#6Ó7ˆ	Ø×Ñ™ 1› rÕ*r   c                 ó(   — | j                  d¬«       y ©NT)Úforceobj©ra   ©r^   s    r   Útest_global_ndarrayzTestGlobals.test_global_ndarray†   s   € ð 	×!Ñ!¨4Ð!Õ0r   c                 ó(   — | j                  d¬«       y ©NTr)   re   rf   s    r   Útest_global_ndarray_npmz#TestGlobals.test_global_ndarray_npm‹   ó   € Ø×!Ñ!¨4Ð!Õ0r   c                 óê   —  t        di |¤Žt        «      }t        j                  t	        t
        «      t        j                  ¬«      } ||«       t        j                  j                  |t
        «       y ©Nr   r:   )	r   r   ÚnpÚzerosr   r   Ú
complex128ÚtestingÚassert_equal©r^   r_   r`   Úarrs       r   Úcheck_global_complex_arrz$TestGlobals.check_global_complex_arr�   sH   € à"”C‘N˜'‘NÔ#7Ó8ˆ	Ü�h‰h”sœ6“{¬"¯-©-Ô8ˆÙ�#ŒÜ
�
‰
×Ñ ¤VÕ,r   c                 ó(   — | j                  d¬«       y rc   ©ru   rf   s    r   Útest_global_complex_arrz#TestGlobals.test_global_complex_arr–   ó   € Ø×%Ñ%¨tÐ%Õ4r   c                 ó(   — | j                  d¬«       y ri   rw   rf   s    r   Útest_global_complex_arr_npmz'TestGlobals.test_global_complex_arr_npm™   ry   r   c                 óØ   —  t        di |¤Žt        «      }t        j                  t        j
                  t        ¬«      } ||«       t        j                  j                  |t        «       y rm   )	r   r    rn   ro   r   r   Úx_dtrq   rr   rs   s       r   Úcheck_global_rec_arrz TestGlobals.check_global_rec_arr�   sD   € à"”C‘N˜'‘NÔ#6Ó7ˆ	Ü�h‰h”u—{‘{¬$Ô/ˆÙ�#ŒÜ
�
‰
×Ñ ¤UÕ+r   c                 ó(   — | j                  d¬«       y rc   ©r~   rf   s    r   Útest_global_rec_arrzTestGlobals.test_global_rec_arr¤   rk   r   c                 ó(   — | j                  d¬«       y ri   r€   rf   s    r   Útest_global_rec_arr_npmz#TestGlobals.test_global_rec_arr_npm§   rk   r   c                 óÄ  —  t        di |¤Žt        «      }t        j                  t        j
                  t        j                  ¬«      }t        j                  t        j
                  t        j                  ¬«      } |||«       t        j                  j                  |t        j                  «       t        j                  j                  |t        j                  «       y rm   )r   r"   rn   ro   r   r   Úint32Úfloat32rq   rr   r   r   )r^   r_   r`   Úarr1Úarr2s        r   Úcheck_global_rec_arr_extractz(TestGlobals.check_global_rec_arr_extract«   s   € à"”C‘N˜'‘NÔ#@ÓAˆ	Ü�x‰xœŸ™¬2¯8©8Ô4ˆÜ�x‰xœŸ™¬2¯:©:Ô6ˆÙ�$˜ÔÜ
�
‰
×Ñ ¤e§g¡gÔ.Ü
�
‰
×Ñ ¤e§g¡gÕ.r   c                 ó(   — | j                  d¬«       y rc   ©r‰   rf   s    r   Útest_global_rec_arr_extractz'TestGlobals.test_global_rec_arr_extract´   ó   € Ø×)Ñ)°4Ð)Õ8r   c                 ó(   — | j                  d¬«       y ri   r‹   rf   s    r   Útest_global_rec_arr_extract_npmz+TestGlobals.test_global_rec_arr_extract_npm·   r�   r   c                 óL  —  t        di |¤Žt        «      }t        j                  t        j
                  t        j                  ¬«      }t        j                  t        j
                  t        j                  ¬«      }t        j                  t        j
                  t        j                  ¬«      }t        j                  t        j
                  t        j                  ¬«      } |||||«       t        j                  j                  |t        j                  «       t        j                  j                  |t        j                  «       t        j                  j                  |t        j                  «       t        j                  j                  |t        j                   «       y rm   )r   r'   rn   ro   r   r   r…   r†   r&   Úint16Úfloat64rq   rr   r   r   r#   r$   )r^   r_   r`   r‡   rˆ   Úarr3Úarr4s          r   Úcheck_two_global_rec_arrsz%TestGlobals.check_two_global_rec_arrs»   sã   € à"”C‘N˜'‘NÔ#6Ó7ˆ	Ü�x‰xœŸ™¬2¯8©8Ô4ˆÜ�x‰xœŸ™¬2¯:©:Ô6ˆÜ�x‰xœŸ™¬2¯8©8Ô4ˆÜ�x‰xœŸ™¬2¯:©:Ô6ˆÙ�$˜˜d DÔ)Ü
�
‰
×Ñ ¤e§g¡gÔ.Ü
�
‰
×Ñ ¤e§g¡gÔ.Ü
�
‰
×Ñ ¤e§g¡gÔ.Ü
�
‰
×Ñ ¤e§g¡gÕ.r   c                 ó(   — | j                  d¬«       y rc   ©r•   rf   s    r   Útest_two_global_rec_arrsz$TestGlobals.test_two_global_rec_arrsÈ   ó   € Ø×&Ñ&°Ð&Õ5r   c                 ó(   — | j                  d¬«       y ri   r—   rf   s    r   Útest_two_global_rec_arrs_npmz(TestGlobals.test_two_global_rec_arrs_npmË   r™   r   c                 ó@   — t        dd«      }| j                  d|«       y )Nr4   é   T)r0   r]   )r^   Úress     r   Útest_global_modulezTestGlobals.test_global_moduleÎ   s   € ä   AÓ&ˆØ×Ñ˜˜sÕ#r   c                 óÐ   — t        j                  dt        ¬«      d   }d|_        t	        |«      }| j                  d|«       d|_        t	        |«      }| j                  d|«       y )Nr(   r   r   Tr1   F)rn   Úrecarrayr}   r   r-   r]   )r^   r   rž   s      r   Útest_global_recordzTestGlobals.test_global_recordÓ   sY   € ä�K‰K˜¤Ô& qÑ)ˆØˆŒÜ  Ó#ˆØ×Ñ˜˜sÔ#ØˆŒÜ  Ó#ˆØ×Ñ˜ Õ$r   c                 ó^   — t         }t        |«      }| j                   |«        |«       «       y r   )r;   r   r]   ©r^   ÚpyfuncÚjitfuncs      r   Útest_global_int_tuplez!TestGlobals.test_global_int_tupleÝ   ó$   € Ü!ˆÜ�v“,ˆØ×Ñ™›¡7£9Õ-r   c                 ó^   — t         }t        |«      }| j                   |«        |«       «       y r   )r?   r   r]   r¤   s      r   Útest_global_str_tuplez!TestGlobals.test_global_str_tupleâ   r¨   r   c                 ó^   — t         }t        |«      }| j                   |«        |«       «       y r   )rD   r   r]   r¤   s      r   Útest_global_mixed_tuplez#TestGlobals.test_global_mixed_tupleç   ó$   € Ü#ˆÜ�v“,ˆØ×Ñ™›¡7£9Õ-r   c                 ó^   — t         }t        |«      }| j                   |«        |«       «       y r   )rG   r   r]   r¤   s      r   Útest_global_float_tuplez#TestGlobals.test_global_float_tupleì   r­   r   c                 ó^   — t         }t        |«      }| j                   |«        |«       «       y r   )rJ   r   r]   r¤   s      r   Útest_global_npy_int_tuplez%TestGlobals.test_global_npy_int_tupleñ   s$   € Ü%ˆÜ�v“,ˆØ×Ñ™›¡7£9Õ-r   c                 ó   — t         t        fD ]c  }t        |«      }| j                  t        j
                  «      5 } |«        d d d «       d}| j                  |t        j                  «      «       Œe y # 1 sw Y   Œ3xY w)Nz%Cannot modify readonly array of type:)	rN   rQ   r   ÚassertRaisesr   ÚTypingErrorÚassertInÚstrÚ	exception)r^   Úfuncr¦   ÚeÚmsgs        r   Ú!test_global_write_to_arr_in_tuplez-TestGlobals.test_global_write_to_arr_in_tupleö   sd   € ô 2Ü7ó9ˆDä˜4“jˆGØ×"Ñ"¤6×#5Ñ#5Ô6¸!Ù”	÷ 7à9ˆCØ�M‰M˜#œs 1§;¡;Ó/Õ0ñ9÷ 7Ð6ús   ºA4Á4A=	c                 ó^   — t         }t        |«      }| j                   |«        |«       «       y r   )rX   r   r]   r¤   s      r   Útest_global_npy_boolz TestGlobals.test_global_npy_bool  s&   € ô !ˆÜ�v“,ˆØ×Ñ™›¡7£9Õ-r   N)Ú__name__Ú
__module__Ú__qualname__ra   rg   rj   ru   rx   r{   r~   r�   rƒ   r‰   rŒ   r�   r•   r˜   r›   rŸ   r¢   r§   rª   r¬   r¯   r±   r»   r½   r:   r   r   rZ   rZ      sz   „ ò+ò
1ò
1ò-ò5ò5ò,ò1ò1ò/ò9ò9ò/ò6ò6ò$ò
%ò.ò
.ò
.ò
.ò
.ò
	1ó.r   rZ   Ú__main__)CÚnumpyrn   Únumbar   r   r   Únumba.extendingr   Únumba.testsr   ÚunittestÚaranger
   r   rp   r   Útmpr   r   r…   r†   r}   r¡   r   r   r   r   r   r   r    r"   r‘   r’   Úy_dtr&   r#   r$   r'   r,   r-   r0   r9   r>   rA   rF   Úuint64Úint8rI   ÚonesrM   rP   r;   r?   rD   rG   rJ   rN   rQ   Úbool_rV   rW   rT   rX   ÚTestCaserZ   r¾   Úmainr:   r   r   Ú<module>rÐ      s—  ðÛ ß #Ñ #Ý ,Ý  Û à€B‡I�IˆbƒM€òð 
ˆ�‰�2˜RŸ]™]Ô	+€Ø€b‡i�i�˜"Ÿ-™-Ô(€Ø ˆ3ˆr‰6�2‰+Ñ €òð €r‡x�x�#�r—x‘x� 3¨¯
©
Ð"3Ð4Ó5€Øˆ�‰�B˜dÔ#€Ù	‰s�5‹zÖ	€AØ€Eˆ!�H„JØ�S‘€Eˆ!�H…Jð 
ò
ò
ð €r‡x�x�#�r—x‘x� 3¨¯
©
Ð"3Ð4Ó5€Øˆ�‰�B˜dÔ#€Ù	‰s�5‹zÖ	€AØ�R‘€Eˆ!�H„JØ�T‘€Eˆ!�H…Jð 
ò
ð �—‘˜A TÔ*¨1Ñ-€Ø€„Ø€„áˆdÔñ"ó ð"ñ ˆdÔñ(ó ð(ð €Ø
€Ø€	Ø€	Ø�—	‘	˜"“˜w˜rŸw™w q›zÐ*€Ø�"—'‘'˜!“*�Ð €Ø˜W˜RŸW™W Q›ZÐ)¨2¨sÐ3Ð ò#ò#òò'ò-ò!ò'ð �"—(‘(˜4“.€Ø�"—(‘(˜5“/€ð ñ	ó ð	ò,ô
G.�(×#Ñ#ô G.ðT ˆzÒØ€H‡M�M…Oð r   