ó
    „ñ:iI  ã                   ó¸   • S SK rS SKJr  S SKJr  S SKJr  S SKrS SK	r	S r
S rS rS rS	 r " S
 S\	R                  5      r\S:X  a  \	R$                  " 5         gg)é    N)ÚTypingError)Únjit)Útypesc                 ó.   • [         R                  " U 5      $ ©N)r   Úint32©Úxs    Ú[/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/tests/test_casting.pyÚfloat_to_intr   	   s   € Ü�;Š;�q‹>Ðó    c                 ó4   • [         R                  " U 5      S-  $ )Né   )r   Úfloat64r	   s    r   Úint_to_floatr      s   € Ü�=Š=˜Ó˜aÑÐr   c                 ó.   • [         R                  " U 5      $ r   )r   Úuint32r	   s    r   Úfloat_to_unsignedr      s   € Ü�<Š<˜‹?Ðr   c                 ó.   • [         R                  " U 5      $ r   )r   Ú
complex128r	   s    r   Úfloat_to_complexr      s   € Ü×Ò˜AÓÐr   c                  óX   • [         R                  " [         R                  " S5      5        g )N)é   )Únpr   Úzeros© r   r   Únumpy_scalar_cast_errorr      s   € Ü‡H‚HŒR�XŠX�d‹^Õr   c                   óD   • \ rS rSrS rS rS rS rS rS r	S r
S	 rS
rg)ÚTestCastingé   c                 óº  • [         n[        [        R                  45      " U5      nU R	                  UR
                  S   R                  [        R                  5        U R	                  U" S5      U" S5      5        U R	                  U" S5      [        S5      5        U R	                  U" S5      U" S5      5        U R	                  U" S5      [        S5      5        g )Nr   çš™™™™™(@gš™™™™™(À)	r   r   r   Úfloat32ÚassertEqualÚnopython_signaturesÚreturn_typer   Úint©ÚselfÚpyfuncÚcfuncs      r   Útest_float_to_intÚTestCasting.test_float_to_int   s¢   € ÜˆÜ”e—m‘mÐ%Ô& vÓ.ˆà×Ñ˜×2Ñ2°1Ñ5×AÑAÄ5Ç;Á;ÔOØ×Ñ™˜t›¡f¨T£lÔ3Ø×Ñ™˜t›¤c¨$£iÔ0Ø×Ñ™˜u›¡v¨e£}Ô5Ø×Ñ™˜u›¤s¨5£zÕ2r   c                 ó*  • [         n[        [        R                  45      " U5      nU R	                  UR
                  S   R                  [        R                  5        U R	                  U" S5      U" S5      5        U R	                  U" S5      S5        g )Nr   iA  g     d@)r   r   r   Úint64r$   r%   r&   r   r(   s      r   Útest_int_to_floatÚTestCasting.test_int_to_float'   sp   € ÜˆÜ”e—k‘k�^Ô$ VÓ,ˆà×Ñ˜×2Ñ2°1Ñ5×AÑAÜŸ™ô	(à×Ñ™˜s›¡V¨C£[Ô1Ø×Ñ™˜s› XÕ.r   c           
      ó„  • [         n[        [        R                  45      " U5      nU R	                  UR
                  S   R                  [        R                  5        U R	                  U" S5      U" S5      5        U R	                  U" S5      [        R                  " S[        R                  " SS5      5      S   5        g )Nr   g®Gáz®	@ÚIÚié   )r   r   r   r#   r$   r%   r&   r   ÚstructÚunpackÚpackr(   s      r   Útest_float_to_unsignedÚ"TestCasting.test_float_to_unsigned0   s—   € Ü"ˆÜ”e—m‘mÐ%Ô& vÓ.ˆà×Ñ˜×2Ñ2°1Ñ5×AÑAÄ5Ç<Á<ÔPØ×Ñ™˜t›¡f¨T£lÔ3Ø×Ñ™˜t›¤f§m¢m°C¼¿ºÀSØFGó:Ió 'JØJKñ'Mõ 	Nr   c                 ó*  • [         n[        [        R                  45      " U5      nU R	                  UR
                  S   R                  [        R                  5        U R	                  U" S5      U" S5      5        U R	                  U" S5      S5        g )Nr   g®Gáz®	Ày®Gáz®	À        )r   r   r   r   r$   r%   r&   r   r(   s      r   Útest_float_to_complexÚ!TestCasting.test_float_to_complex9   ss   € Ü!ˆÜ”e—m‘mÐ%Ô& vÓ.ˆØ×Ñ˜×2Ñ2°1Ñ5×AÑAÜ×)Ñ)ô	+à×Ñ™˜u›¡v¨e£}Ô5Ø×Ñ™˜u› zÕ2r   c                 ó8  ^• [        S5      S 5       mTR                  5         [        S5      U4S j5       n[        R                  " S/[        R                  S9nU R                  U" U5      US   5        U R                  [        TR                  5      S5        g	)
z,Make sure this compiles.

Cast C to A array
z	f8(f8[:])c                 ó   • U S   $ )Nr   r   r	   s    r   ÚinnerÚ.TestCasting.test_array_to_array.<locals>.innerF   s   € à�Q‘4ˆKr   zf8(f8[::1])c                 ó   >• T" U 5      $ r   r   )r
   r@   s    €r   ÚdriverÚ/TestCasting.test_array_to_array.<locals>.driverL   s   ø€ á˜“8ˆOr   iÒ  ©Údtyper   é   N)r   Údisable_compiler   Úarrayr   r$   ÚlenÚ	overloads)r)   rC   r
   r@   s      @r   Útest_array_to_arrayÚTestCasting.test_array_to_arrayA   sŠ   ø€ ô
 
ˆkÓ	ñ	ó 
ð	ð 	×ÑÔä	ˆmÓ	ô	ó 
ð	ô �HŠH�d�V¤2§:¡:Ñ.ˆØ×Ñ™ › A a¡DÔ)Ø×Ñœ˜UŸ_™_Ó-¨qÕ1r   c                 óø  • [         S 5       n[        R                  S4[        R                  S4[        R                  S4[        R
                  S4[        R                  S4[        R                  S4[        R                  [        R                  " SS5      4[        R                  [        R                  " S5      4S	/	nU H4  u  p4[        R                  " XCS
9nU R                  U" U5      US   5        M6     g )Nc                 ó8   • U R                   R                  U 5      $ r   )rF   Útyper	   s    r   r@   Ú-TestCasting.test_0darrayT_to_T.<locals>.innerU   s   € à—7‘7—<‘< “?Ð"r   Tr"   é   y      @       @r5   Úhz
2016-01-01)z<U3ÚABCrE   r   )r   r   Úbool_r#   r   r/   Ú	complex64r   Útimedelta64Ú
datetime64rI   r$   )r)   r@   ÚinputsÚTÚinpr
   s         r   Útest_0darrayT_to_TÚTestCasting.test_0darrayT_to_TT   sÇ   € Ü	ñ	#ó 
ð	#ô �X‰X�tÐÜ�Z‰Z˜ÐÜ�Z‰Z˜ÐÜ�X‰X�rˆNÜ�\‰\˜4Ð Ü�]‰]˜DÐ!Ü�^‰^œRŸ^š^¨A¨sÓ3Ð4Ü�]‰]œBŸMšM¨,Ó7Ð8Øð

ˆó ‰HˆQÜ—’˜Ñ&ˆAØ×Ñ™U 1›X q¨¡uÖ-ò r   c                 óÖ   • U R                  [        5       n[        S5      " [        5        SSS5        U R	                  S[        WR                  5      5        g! , (       d  f       N4= f)z^
Ensure that a TypingError exception is raised if
user tries to convert numpy array to scalar
r   Nz?Casting array(float64, 1d, C) to int32 directly is unsupported.)ÚassertRaisesr   r   r   ÚassertInÚstrÚ	exception)r)   Úraisess     r   Útest_array_to_scalarÚ TestCasting.test_array_to_scalari   sN   € ð ×Ñœ{Ô+¨vÜ�ŒHÔ,Ô-÷ ,ð 	�‰ÐWÜ˜&×*Ñ*Ó+õ	-÷ ,Õ+ús   –AÁ
A(c                 ó$  • [         R                  " [         R                  5      n[         R                  " [         R                  5      nU" U5      n[	        U5      S 5       nU R                  U" S5      S5        U R                  U" S5      5        g)zw
Test error due mishandling of Optional to Optional casting

Related issue: https://github.com/numba/numba/issues/1718
c                 ó   • U $ r   r   )Úas    r   ÚfooÚ2TestCasting.test_optional_to_optional.<locals>.foo€   s   € àˆHr   r   N)r   ÚOptionalÚintpr   r   r$   ÚassertIsNone)r)   Úopt_intÚopt_fltÚsigri   s        r   Útest_optional_to_optionalÚ%TestCasting.test_optional_to_optionalu   sp   € ô —.’.¤§¡Ó,ˆÜ—.’.¤§¡Ó/ˆÙ�gÓˆä	ˆc‹ñ	ó 
ð	ð 	×Ñ™˜Q› Ô#Ø×Ñ™#˜d›)Õ$r   r   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r,   r0   r9   r<   rL   r\   rd   rq   Ú__static_attributes__r   r   r   r   r      s+   † ò3ò/òNò3ò2ò&.ò*
-õ%r   r   Ú__main__)Únumpyr   Únumba.core.errorsr   Únumbar   Ú
numba.corer   r6   Úunittestr   r   r   r   r   ÚTestCaser   rs   Úmainr   r   r   Ú<module>r€      s]   ðÛ Ý )Ý Ý Û Û òò òòòôi%�(×#Ñ#ô i%ðX ˆzÓØ‡M‚M…Oð r   