§
    2@ÄjC  ã                   ó&  — d dl Zd dlZd dlmZmZ d dlmZmZ d dlm	Z	 d dl
mZmZ d dl
mZ d dl
mZ dd	iZd
d	i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  G d„ dee¦  «        Z!e"dk    r ej#        ¦   «          dS dS )é    N)ÚjitÚnjit)ÚerrorsÚtypes)Útypeof)ÚTestCaseÚMemoryLeakMixin)Úno_pyobj_flags)Úforce_pyobj_flagsÚforceobjTÚnopythonc                 ó   — | \  }}}|||fS ©N© )ÚlÚaÚbÚcs       úQC:\Projects\Historical\venv\Lib\site-packages\numba/tests/test_unpack_sequence.pyÚunpack_listr      s   € Ø�G€A€qˆ!Øˆq�!ˆ9Ðó    c                 ó(   — | j         \  }}}||z   |z   S r   ©Úshape)r   ÚxÚyÚzs       r   Úunpack_shaper      s   € ØŒg�G€A€qˆ!Øˆq‰5�1‰9Ðr   c                  ó8   — t          d¦  «        \  } }}| |z   |z   S )Né   ©Úrange©r   r   r   s      r   Úunpack_ranger$      ó!   € Ý�A‰hŒh�G€A€qˆ!Øˆq‰5�1‰9Ðr   c                  ó8   — t          d¦  «        \  } }}| |z   |z   S )Né   r!   r#   s      r   Úunpack_range_too_smallr(      r%   r   c                  ó8   — t          d¦  «        \  } }}| |z   |z   S )Né   r!   r#   s      r   Úunpack_range_too_larger+   #   r%   r   c                  ó   — d\  } }}| |z   |z   S )N©é   r'   r    r   r#   s      r   Úunpack_tupler/   (   ó   € Ø�G€A€qˆ!Øˆq‰5�1‰9Ðr   c                  ó   — d\  } }}| |z   |z   S )N)r.   r'   r   r#   s      r   Úunpack_tuple_too_smallr2   -   s   € Ø�G€A€qˆ!Øˆq‰5�1‰9Ðr   c                  ó   — d\  } }}| |z   |z   S )N)r.   r'   r    r*   r   r#   s      r   Úunpack_tuple_too_larger4   2   ó   € Ø�G€A€qˆ!Øˆq‰5�1‰9Ðr   c                  ó   — d\  } }}| |z   |z   S )N)r.   y              @r   r#   s      r   Ú$unpack_heterogeneous_tuple_too_smallr7   7   r0   r   c                  ó   — d\  } }}| |z   |z   S )N)r.   ç      @ù              @r*   r   r#   s      r   Ú$unpack_heterogeneous_tuple_too_larger;   <   s   € Ø�G€A€qˆ!Øˆq‰5�1‰9Ðr   c                  ó   — d\  } }}| |z   |z   S )N)r.   r9   r:   r   r#   s      r   Úunpack_heterogeneous_tupler=   A   r5   r   c                  ó"   — d\  } \  }}| |z   |z   S )N)r.   )r9   r:   r   r#   s      r   Ú!unpack_nested_heterogeneous_tupler?   F   s   € Ø�I€A�vˆˆ1Øˆq‰5�1‰9Ðr   c                 ó   — | \  }}||fS r   r   )Úseqr   r   s      r   Úunpack_arbitraryrB   K   s   € Ø�D€A€qØˆaˆ4€Kr   c                  ól   — t          j        d¦  «        } t          j        d¦  «        }|| f}|\  }}||fS )Nr.   r'   ©ÚnpÚzeros)r   r   ÚtupÚalphaÚbetas        r   Ú
unpack_nrtrJ   P   s8   € Ý
Œ�‰Œ€AÝ
Œ�‰Œ€AØ
ˆQˆ$€CØ�K€Eˆ4Ø�$ˆ;Ðr   c                 ó4   — | |fx}\  }}|\  }}||z   |z   |z   S r   r   )r   r   r   r   r   ÚdÚes          r   Úchained_unpack_assign1rN   X   s/   € à�Q�Ð€A‰ˆˆAØ�F€QˆØˆq‰5�1‰9�q‰=Ðr   c                 ó   — | dk    r|| }} | |fS )Nr   r   )r   r   s     r   Úconditional_swaprP   _   s   € àˆ1‚u€uØ�!ˆ1ˆØˆaˆ4€Kr   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efd„Zd„ Zeefd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zefd„Zd„ Zd„ Zd„ Z d„ Z!d„ Z"dS ) Ú
TestUnpackc                 óp   — t          |¦  «        }|                       |¦   «          |¦   «         ¦  «         d S r   )r   ÚassertPreciseEqual©ÚselfÚpyfuncÚcfuncs      r   Úcheck_nullary_npmzTestUnpack.check_nullary_npmh   s5   € Ý�V‘”ˆØ×Ò  ¡¤¨¨©¬Ñ2Ô2Ð2Ð2Ð2r   c                 ó„   —  t          d¬¦  «        |¦  «        }|                       |¦   «          |¦   «         ¦  «         d S )NT©r   )r   rT   rU   s      r   Úcheck_nullary_objmodez TestUnpack.check_nullary_objmodel   sD   € Ø"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆØ×Ò  ¡¤¨¨©¬Ñ2Ô2Ð2Ð2Ð2r   c                 óž   — t           } t          d¬¦  «        |¦  «        }g d¢}|                       ||¦  «         ||¦  «        ¦  «         d S )NTr[   r-   )r   r   ÚassertEqual)rV   rW   rX   r   s       r   Útest_unpack_listzTestUnpack.test_unpack_listp   sV   € ÝˆØ"•˜TÐ"Ñ"Ô" 6Ñ*Ô*ˆØˆIˆIˆØ×Ò˜˜˜q™œ 6 6¨!¡9¤9Ñ-Ô-Ð-Ð-Ð-r   c                 ó<  — t           } t          t          j        t          j        dd¬¦  «        fd¬¦  «        |¦  «        }t          j        d¬¦  «                             t
          j        ¦  «        }|                       ||¦  «         ||¦  «        ¦  «         d S )Nr    ÚC©ÚdtypeÚndimÚlayoutTr[   r-   r   )	r   r   r   ÚArrayÚint32rE   rF   ÚastyperT   ©rV   rW   rX   r   s       r   Útest_unpack_shapezTestUnpack.test_unpack_shapev   s•   € Ýˆð#••U”[¥u¤{¸À3ÐGÑGÔGÐIØ!ð#ñ #ô #Ø#)ñ+ô +ˆåŒH˜9Ð%Ñ%Ô%×,Ò,­R¬XÑ6Ô6ˆØ×Ò   a¡¤¨&¨&°©)¬)Ñ4Ô4Ð4Ð4Ð4r   c                 ó8  — t           } t          t          j        t          j        dd¬¦  «        f¦  «        |¦  «        }t          j        d¬¦  «                             t
          j        ¦  «        }|                       ||¦  «         ||¦  «        ¦  «         d S )Nr    ra   rb   r-   r   )	r   r   r   rf   rg   rE   rF   rh   rT   ri   s       r   Útest_unpack_shape_npmz TestUnpack.test_unpack_shape_npm}   s�   € Ýˆð••e”k­¬¸!ÀCÐHÑHÔHÐJñ ô Øñô ˆåŒH˜9Ð%Ñ%Ô%×,Ò,­R¬XÑ6Ô6ˆØ×Ò   a¡¤¨&¨&°©)¬)Ñ4Ô4Ð4Ð4Ð4r   c                 ó:   — |                       t          ¦  «         d S r   )r\   r$   ©rV   s    r   Útest_unpack_rangezTestUnpack.test_unpack_range„   ó   € Ø×"Ò"¥<Ñ0Ô0Ð0Ð0Ð0r   c                 ó:   — |                       t          ¦  «         d S r   )rY   r$   rn   s    r   Útest_unpack_range_npmz TestUnpack.test_unpack_range_npm‡   ó   € Ø×Ò�|Ñ,Ô,Ð,Ð,Ð,r   c                 ó:   — |                       t          ¦  «         d S r   )r\   r/   rn   s    r   Útest_unpack_tuplezTestUnpack.test_unpack_tupleŠ   rp   r   c                 ó:   — |                       t          ¦  «         d S r   )rY   r/   rn   s    r   Útest_unpack_tuple_npmz TestUnpack.test_unpack_tuple_npm�   rs   r   c                 ó:   — |                       t          ¦  «         d S r   )r\   r=   rn   s    r   Útest_unpack_heterogeneous_tuplez*TestUnpack.test_unpack_heterogeneous_tuple�   s   € Ø×"Ò"Õ#=Ñ>Ô>Ð>Ð>Ð>r   c                 ó:   — |                       t          ¦  «         d S r   )rY   r=   rn   s    r   Ú#test_unpack_heterogeneous_tuple_npmz.TestUnpack.test_unpack_heterogeneous_tuple_npm“   s   € Ø×ÒÕ9Ñ:Ô:Ð:Ð:Ð:r   c                 ó:   — |                       t          ¦  «         d S r   )r\   r?   rn   s    r   Ú&test_unpack_nested_heterogeneous_tuplez1TestUnpack.test_unpack_nested_heterogeneous_tuple–   s   € Ø×"Ò"Õ#DÑEÔEÐEÐEÐEr   c                 ó:   — |                       t          ¦  «         d S r   )rY   r?   rn   s    r   Ú*test_unpack_nested_heterogeneous_tuple_npmz5TestUnpack.test_unpack_nested_heterogeneous_tuple_npm™   s   € Ø×ÒÕ@ÑAÔAÐAÐAÐAr   c                 ó¨   — t           } t          t          j        t          j        ffi |¤Ž|¦  «        }d}|                       ||Ž  ||Ž ¦  «         d S )N)r*   é   )rN   r   r   rg   rT   )rV   ÚflagsrW   rX   Úargss        r   Útest_chained_unpack_assignz%TestUnpack.test_chained_unpack_assignœ   s\   € Ý'ˆØ8••U”[¥%¤+Ð.Ð8Ð8°%Ð8Ð8¸Ñ@Ô@ˆØˆØ×Ò   t ¨f¨f°d¨mÑ<Ô<Ð<Ð<Ð<r   c                 ó<   — |                       t          ¬¦  «         d S )N)r‚   )r„   r
   rn   s    r   Útest_chained_unpack_assign_npmz)TestUnpack.test_chained_unpack_assign_npm¢   s   € Ø×'Ò'­nÐ'Ñ=Ô=Ð=Ð=Ð=r   c                 ó    — |                       |¦  «        5   t          di |¤Ž|¦  «        } |¦   «          d d d ¦  «         d S # 1 swxY w Y   d S )Nr   )r   )ÚassertRaisesr   )rV   rW   r‚   ÚexcrX   s        r   Úcheck_unpack_errorzTestUnpack.check_unpack_error¥   s¢   € à×Ò˜sÑ#Ô#ð 	ð 	Ø$•CÐ$Ð$˜eÐ$Ð$ VÑ,Ô,ˆEØˆE‰GŒGˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   – AÁAÁ
Ac                 ón   — |                       t          ¦  «         |                       t          ¦  «         d S r   )rŠ   r2   r7   rn   s    r   Útest_unpack_tuple_too_smallz&TestUnpack.test_unpack_tuple_too_small«   ó2   € Ø×ÒÕ 6Ñ7Ô7Ð7Ø×ÒÕ DÑEÔEÐEÐEÐEr   c                 ó²   — |                       t          t          t          j        ¦  «         |                       t
          t          t          j        ¦  «         d S r   )rŠ   r2   r
   r   ÚTypingErrorr7   rn   s    r   Útest_unpack_tuple_too_small_npmz*TestUnpack.test_unpack_tuple_too_small_npm¯   óW   € Ø×ÒÕ 6½Ý &Ô 2ñ	4ô 	4ð 	4à×ÒÕ DÝ .µÔ0Bñ	Dô 	Dð 	Dð 	Dð 	Dr   c                 ón   — |                       t          ¦  «         |                       t          ¦  «         d S r   )rŠ   r4   r;   rn   s    r   Útest_unpack_tuple_too_largez&TestUnpack.test_unpack_tuple_too_largeµ   r�   r   c                 ó²   — |                       t          t          t          j        ¦  «         |                       t
          t          t          j        ¦  «         d S r   )rŠ   r4   r
   r   r�   r;   rn   s    r   Útest_unpack_tuple_too_large_npmz*TestUnpack.test_unpack_tuple_too_large_npm¹   r‘   r   c                 ó:   — |                       t          ¦  «         d S r   )rŠ   r(   rn   s    r   Útest_unpack_range_too_smallz&TestUnpack.test_unpack_range_too_small¿   ó   € Ø×ÒÕ 6Ñ7Ô7Ð7Ð7Ð7r   c                 óF   — |                       t          t          ¦  «         d S r   )rŠ   r(   r
   rn   s    r   Útest_unpack_range_too_small_npmz*TestUnpack.test_unpack_range_too_small_npmÂ   ó   € Ø×ÒÕ 6½ÑGÔGÐGÐGÐGr   c                 ó:   — |                       t          ¦  «         d S r   )rŠ   r+   rn   s    r   Útest_unpack_range_too_largez&TestUnpack.test_unpack_range_too_largeÅ   r˜   r   c                 óF   — |                       t          t          ¦  «         d S r   )rŠ   r+   r
   rn   s    r   Útest_unpack_range_too_large_npmz*TestUnpack.test_unpack_range_too_large_npmÈ   r›   r   c                 óè   —  t          t          j        t          j        ffi |¤Žt          ¦  «        }|                       |dd¦  «        d¦  «         |                       |dd¦  «        d¦  «         d S )Nr*   r�   )r�   r*   r   )r   r�   )r   r   rg   rP   rT   )rV   r‚   rX   s      r   Úcheck_conditional_swapz!TestUnpack.check_conditional_swapË   sq   € Ø8••U”[¥%¤+Ð.Ð8Ð8°%Ð8Ð8Õ9IÑJÔJˆØ×Ò   a¨¡¤¨VÑ4Ô4Ð4Ø×Ò   a¨¡¤¨VÑ4Ô4Ð4Ð4Ð4r   c                 ó.   — |                       ¦   «          d S r   )r¡   rn   s    r   Útest_conditional_swapz TestUnpack.test_conditional_swapÐ   s   € Ø×#Ò#Ñ%Ô%Ð%Ð%Ð%r   c                 ó:   — |                       t          ¦  «         d S r   )r¡   r
   rn   s    r   Útest_conditional_swap_npmz$TestUnpack.test_conditional_swap_npmÓ   s   € Ø×#Ò#¥NÑ3Ô3Ð3Ð3Ð3r   c                 ó   — t          d„ t          d¦  «        D ¦   «         ¦  «        }t          |¦  «        }t          } t	          |f¦  «        |¦  «        }|                       ||¦  «         ||¦  «        ¦  «         d S )Nc              3   óD   K  — | ]}t          j        |d z   ¦  «        V — ŒdS )r.   NrD   )Ú.0Úis     r   ú	<genexpr>z9TestUnpack.test_unpack_tuple_of_arrays.<locals>.<genexpr>×   s.   è è € Ð6Ð6¨•B”H˜Q ™U‘O”OÐ6Ð6Ð6Ð6Ð6Ð6r   r'   )Útupler"   r   rB   r   rT   )rV   rG   ÚtuptyrW   rX   s        r   Útest_unpack_tuple_of_arraysz&TestUnpack.test_unpack_tuple_of_arraysÖ   sw   € ÝÐ6Ð6­U°1©X¬XÐ6Ñ6Ô6Ñ6Ô6ˆÝ�s‘”ˆÝ!ˆØ•�e�X‘”˜vÑ&Ô&ˆØ×Ò   c¡
¤
¨F¨F°3©K¬KÑ8Ô8Ð8Ð8Ð8r   c                 ó�   — t           } t          d¦  «        |¦  «        }|                       |¦   «          |¦   «         ¦  «         d S )Nr   )rJ   r   rT   rU   s      r   Útest_unpack_nrtzTestUnpack.test_unpack_nrtÝ   sD   € ÝˆØ•�R‘	”	˜&Ñ!Ô!ˆØ×Ò  ¡¤¨¨©¬Ñ2Ô2Ð2Ð2Ð2r   c                 ó  — t           }|                      t          j        ¦  «        5 } t	          t
          j        f¦  «        |¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j	        ¦  «        ¦  «         d S )Nzfailed to unpack int32)
rB   rˆ   r   r�   r   r   rg   ÚassertInÚstrÚ	exception)rV   rW   Úraisess      r   Útest_invalid_unpackzTestUnpack.test_invalid_unpackâ   s²   € Ý!ˆØ×Ò�vÔ1Ñ2Ô2ð 	)°fØ �D•%”+�Ñ Ô  Ñ(Ô(Ð(ð	)ð 	)ð 	)ñ 	)ô 	)ð 	)ð 	)ð 	)ð 	)ð 	)ð 	)øøøð 	)ð 	)ð 	)ð 	)à�ŠÐ.µ°FÔ4DÑ0EÔ0EÑFÔFÐFÐFÐFs   §$AÁAÁAN)#Ú__name__Ú
__module__Ú__qualname__rY   r\   r_   rj   rl   ro   rr   ru   rw   ry   r{   r}   r   r   r„   r†   Ú
ValueErrorrŠ   rŒ   r�   r“   r•   r—   rš   r�   rŸ   r¡   r£   r¥   r­   r¯   rµ   r   r   r   rR   rR   f   s  € € € € € ð3ð 3ð 3ð3ð 3ð 3ð.ð .ð .ð5ð 5ð 5ð5ð 5ð 5ð1ð 1ð 1ð-ð -ð -ð1ð 1ð 1ð-ð -ð -ð?ð ?ð ?ð;ð ;ð ;ðFð Fð FðBð Bð Bð 0Að =ð =ð =ð =ð>ð >ð >ð 0AØ)ðð ð ð ðFð Fð FðDð Dð DðFð Fð FðDð Dð Dð8ð 8ð 8ðHð Hð Hð8ð 8ð 8ðHð Hð Hð ,=ð 5ð 5ð 5ð 5ð
&ð &ð &ð4ð 4ð 4ð9ð 9ð 9ð3ð 3ð 3ð
Gð Gð Gð Gð Gr   rR   Ú__main__)$ÚnumpyrE   ÚunittestÚnumbar   r   Ú
numba.corer   r   r   Únumba.tests.supportr   r	   r
   Únullary_no_pyobj_flagsr   Únullary_force_pyobj_flagsr   r   r$   r(   r+   r/   r2   r4   r7   r;   r=   r?   rB   rJ   rN   rP   rR   r¶   Úmainr   r   r   ú<module>rÃ      s   ðØ Ð Ð Ð à €€€Ø Ð Ð Ð Ð Ð Ð Ð Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ð 9Ø HÐ HÐ HÐ HÐ HÐ HØ NÐ NÐ NÐ NÐ NÐ Nà Ð&Ð Ø˜dÐ#€ðð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ðð ð ðð ð ð@Gð @Gð @Gð @Gð @G� (ñ @Gô @Gð @GðF ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   