§
    ƒÛgt  ã                   óh  — 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mZ  e¦   «         Zde_         e¦   «         Zde_         e¦   «         Zde_        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)Úcompile_isolatedÚFlags)ÚerrorsÚtypes)Útypeof)ÚTestCaseÚMemoryLeakMixinÚtagTc                 ó   — | \  }}}|||fS ©N© )ÚlÚaÚbÚcs       úV/granary/edev/quantum/lib/python3.11/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_smallr/   1   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_larger1   6   ó   € Ø�G€A€qˆ!Øˆq‰5�1‰9Ðr   c                  ó   — d\  } }}| |z   |z   S )N)r+   y              @r   r    s      r   Ú$unpack_heterogeneous_tuple_too_smallr4   ;   r-   r   c                  ó   — d\  } }}| |z   |z   S )N)r+   ç      @ù              @r'   r   r    s      r   Ú$unpack_heterogeneous_tuple_too_larger8   @   s   € Ø�G€A€qˆ!Øˆq‰5�1‰9Ðr   c                  ó   — d\  } }}| |z   |z   S )N)r+   r6   r7   r   r    s      r   Úunpack_heterogeneous_tupler:   E   r2   r   c                  ó"   — d\  } \  }}| |z   |z   S )N)r+   )r6   r7   r   r    s      r   Ú!unpack_nested_heterogeneous_tupler<   J   s   € Ø�I€A�vˆˆ1Øˆq‰5�1‰9Ðr   c                 ó   — | \  }}||fS r   r   )Úseqr   r   s      r   Úunpack_arbitraryr?   O   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_nrtrG   T   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_assign1rK   \   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_swaprM   c   s   € àˆ1‚u€uØ�!ˆ1ˆØˆaˆ4€Kr   c                   óØ   — e Zd Zd„ Zefd„Zd„ Zefd„Zd„ Zefd„Z	d„ Z
efd„Zd	„ Zef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                 ó¨   — t           }t          |dt          ¬¦  «        }|j        }g d¢}|                       ||¦  «         ||¦  «        ¦  «         d S )Nr   ©Úflagsr*   )r   r   Úforce_pyobj_flagsÚentry_pointÚassertEqual)ÚselfÚpyfuncÚcrÚcfuncr   s        r   Útest_unpack_listzTestUnpack.test_unpack_listl   sX   € ÝˆÝ˜f bÕ0AÐBÑBÔBˆØ”ˆØˆIˆIˆØ×Ò˜˜˜q™œ 6 6¨!¡9¤9Ñ-Ô-Ð-Ð-Ð-r   c                 ó:  — t           }t          |t          j        t          j        dd¬¦  «        g|¬¦  «        }|j        }t          j        d¬¦  «                             t          j        ¦  «        }|  	                     ||¦  «         ||¦  «        ¦  «         d S )Nr   ÚC)ÚdtypeÚndimÚlayoutrQ   r*   r   )
r   r   r   ÚArrayÚint32rT   rB   rC   ÚastypeÚassertPreciseEqual)rV   rR   rW   rX   rY   r   s         r   Útest_unpack_shapezTestUnpack.test_unpack_shapes   sŸ   € ÝˆÝ˜f¥u¤{½¼Ø=>Ø?Bð(Dñ (Dô (Dð 'Eð %*ð+ñ +ô +ˆð ”ˆÝŒH˜9Ð%Ñ%Ô%×,Ò,­R¬XÑ6Ô6ˆØ×Ò   a¡¤¨&¨&°©)¬)Ñ4Ô4Ð4Ð4Ð4r   c                 ó<   — |                       t          ¬¦  «         d S ©NrQ   )rd   Úno_pyobj_flags©rV   s    r   Útest_unpack_shape_npmz TestUnpack.test_unpack_shape_npm}   ó   € Ø×Ò¥^ÐÑ4Ô4Ð4Ð4Ð4r   c                 ó<   — |                       t          |¦  «         d S r   )Úrun_nullary_funcr!   ©rV   rR   s     r   Útest_unpack_rangezTestUnpack.test_unpack_range€   ó   € Ø×Ò�l¨EÑ2Ô2Ð2Ð2Ð2r   c                 ó<   — |                       t          ¬¦  «         d S rf   )rn   rg   rh   s    r   Útest_unpack_range_npmz TestUnpack.test_unpack_range_npmƒ   rj   r   c                 ó<   — |                       t          |¦  «         d S r   )rl   r,   rm   s     r   Útest_unpack_tuplezTestUnpack.test_unpack_tuple†   ro   r   c                 ó<   — |                       t          ¬¦  «         d S rf   )rs   rg   rh   s    r   Útest_unpack_tuple_npmz TestUnpack.test_unpack_tuple_npm‰   rj   r   c                 ó<   — |                       t          |¦  «         d S r   )rl   r:   rm   s     r   Útest_unpack_heterogeneous_tuplez*TestUnpack.test_unpack_heterogeneous_tupleŒ   s   € Ø×ÒÕ8¸%Ñ@Ô@Ð@Ð@Ð@r   c                 ó<   — |                       t          ¬¦  «         d S rf   )rw   rg   rh   s    r   Ú#test_unpack_heterogeneous_tuple_npmz.TestUnpack.test_unpack_heterogeneous_tuple_npm�   s   € Ø×,Ò,µ>Ð,ÑBÔBÐBÐBÐBr   c                 ó<   — |                       t          |¦  «         d S r   )rl   r<   rm   s     r   Ú&test_unpack_nested_heterogeneous_tuplez1TestUnpack.test_unpack_nested_heterogeneous_tuple’   s   € Ø×ÒÕ?ÀÑGÔGÐGÐGÐGr   c                 ó<   — |                       t          ¬¦  «         d S rf   )r{   rg   rh   s    r   Ú*test_unpack_nested_heterogeneous_tuple_npmz5TestUnpack.test_unpack_nested_heterogeneous_tuple_npm•   s   € Ø×3Ò3½.Ð3ÑIÔIÐIÐIÐIr   c                 ó®   — t           }t          |t          j        t          j        g|¬¦  «        }|j        }d}|                       ||Ž  ||Ž ¦  «         d S )NrQ   )r'   é   )rK   r   r   ra   rT   rc   )rV   rR   rW   rX   rY   Úargss         r   Útest_chained_unpack_assignz%TestUnpack.test_chained_unpack_assign˜   s_   € Ý'ˆÝ˜f¥u¤{µE´KÐ&@Ø$)ð+ñ +ô +ˆà”ˆØˆØ×Ò   t ¨f¨f°d¨mÑ<Ô<Ð<Ð<Ð<r   c                 ó<   — |                       t          ¬¦  «         d S rf   )r�   rg   rh   s    r   Útest_chained_unpack_assign_npmz)TestUnpack.test_chained_unpack_assign_npm    s   € Ø×'Ò'­nÐ'Ñ=Ô=Ð=Ð=Ð=r   c                 ó¨   — |                       |¦  «        5  t          |d|¬¦  «        }|j        } |¦   «          d d d ¦  «         d S # 1 swxY w Y   d S ©Nr   rQ   )ÚassertRaisesr   rT   )rV   rW   rR   ÚexcrX   rY   s         r   Úcheck_unpack_errorzTestUnpack.check_unpack_error£   s    € Ø×Ò˜sÑ#Ô#ð 	ð 	Ý! &¨"°EÐ:Ñ:Ô:ˆBØ”NˆEØˆE‰GŒGˆGð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s   –$AÁAÁAc                 ón   — |                       t          ¦  «         |                       t          ¦  «         d S r   )rˆ   r/   r4   rh   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ˆ   r/   rg   r   ÚTypingErrorr4   rh   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ˆ   r1   r8   rh   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ˆ   r1   rg   r   r�   r8   rh   s    r   Útest_unpack_tuple_too_large_npmz*TestUnpack.test_unpack_tuple_too_large_npm·   r�   r   c                 ó:   — |                       t          ¦  «         d S r   )rˆ   r%   rh   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%   rg   rh   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(   rh   s    r   Útest_unpack_range_too_largez&TestUnpack.test_unpack_range_too_largeÃ   r–   r   c                 óF   — |                       t          t          ¦  «         d S r   )rˆ   r(   rg   rh   s    r   Útest_unpack_range_too_large_npmz*TestUnpack.test_unpack_range_too_large_npmÆ   r™   r   c                 óî   — t          t          t          j        t          j        f|¬¦  «        }|j        }|                       |dd¦  «        d¦  «         |                       |dd¦  «        d¦  «         d S )NrQ   r'   r   )r   r'   r   )r   r   )r   rM   r   ra   rT   rc   )rV   rR   rX   rY   s       r   Úcheck_conditional_swapz!TestUnpack.check_conditional_swapÉ   st   € ÝÕ.µ´½e¼kÐ0JØ$)ð+ñ +ô +ˆà”ˆØ×Ò   a¨¡¤¨VÑ4Ô4Ð4Ø×Ò   a¨¡¤¨VÑ4Ô4Ð4Ð4Ð4r   c                 ó.   — |                       ¦   «          d S r   )rŸ   rh   s    r   Útest_conditional_swapz TestUnpack.test_conditional_swapÐ   s   € Ø×#Ò#Ñ%Ô%Ð%Ð%Ð%r   c                 ó:   — |                       t          ¦  «         d S r   )rŸ   rg   rh   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t
          ¬¦  «        }|j        }|                       ||¦  «         ||¦  «        ¦  «         d S )Nc              3   óD   K  — | ]}t          j        |d z   ¦  «        V — ŒdS )r+   NrA   )Ú.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$   rQ   )Útupler   r   r?   r   rg   rT   rc   )rV   rD   ÚtuptyrW   rX   rY   s         r   Útest_unpack_tuple_of_arraysz&TestUnpack.test_unpack_tuple_of_arraysÖ   s„   € ÝÐ6Ð6­U°1©X¬XÐ6Ñ6Ô6Ñ6Ô6ˆÝ�s‘”ˆÝ!ˆÝ˜f u hÝ$2ð4ñ 4ô 4ˆà”ˆØ×Ò   c¡
¤
¨F¨F°3©K¬KÑ8Ô8Ð8Ð8Ð8r   c                 óœ   — t           }t          |dt          ¬¦  «        }|j        }|                       |¦   «          |¦   «         ¦  «         d S r…   )rG   r   rg   rT   rc   )rV   rW   rX   rY   s       r   Útest_unpack_nrtzTestUnpack.test_unpack_nrtß   sJ   € ÝˆÝ˜f bµÐ?Ñ?Ô?ˆØ”ˆØ×Ò  ¡¤¨¨©¬Ñ2Ô2Ð2Ð2Ð2r   c                 ó  — t           }|                      t          j        ¦  «        5 }t	          |t
          j        ft          ¬¦  «         d d d ¦  «         n# 1 swxY w Y   |                      dt          |j
        ¦  «        ¦  «         d S )NrQ   zfailed to unpack int32)r?   r†   r   r�   r   r   ra   rg   ÚassertInÚstrÚ	exception)rV   rW   Úraisess      r   Útest_invalid_unpackzTestUnpack.test_invalid_unpackå   s¿   € Ý!ˆØ×Ò�vÔ1Ñ2Ô2ð 	K°fÝ˜V¥e¤k ^½>ÐJÑJÔJÐJð	Kð 	Kð 	Kñ 	Kô 	Kð 	Kð 	Kð 	Kð 	Kð 	Kð 	Køøøð 	Kð 	Kð 	Kð 	Kà�ŠÐ.µ°FÔ4DÑ0EÔ0EÑFÔFÐFÐFÐFs   §#AÁAÁAN)!Ú__name__Ú
__module__Ú__qualname__rZ   rS   rd   ri   rn   rq   rs   ru   rw   ry   r{   r}   r�   rƒ   Ú
ValueErrorrˆ   rŠ   rŽ   r‘   r“   r•   r˜   r›   r�   rŸ   r¡   r£   r«   r­   r³   r   r   r   rO   rO   j   s3  € € € € € ð.ð .ð .ð '8ð 5ð 5ð 5ð 5ð5ð 5ð 5ð '8ð 3ð 3ð 3ð 3ð5ð 5ð 5ð '8ð 3ð 3ð 3ð 3ð5ð 5ð 5ð 5Fð Að Að Að AðCð Cð Cð <Mð Hð Hð Hð HðJð Jð Jð 0Að =ð =ð =ð =ð>ð >ð >ð 0AÀjð ð ð ð ð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   rO   Ú__main__)(ÚnumpyrB   ÚunittestÚnumba.core.compilerr   r   Ú
numba.corer   r   Únumbar   Únumba.tests.supportr   r	   r
   Úenable_pyobj_flagsÚenable_pyobjectrS   Úforce_pyobjectrg   Únrtr   r   r!   r%   r(   r,   r/   r1   r4   r8   r:   r<   r?   rG   rK   rM   rO   r´   Úmainr   r   r   ú<module>rÄ      s
  ðØ Ð Ð Ð à €€€Ø 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ð 7Ø $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø Ð Ð Ð Ð Ð Ø >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >Ð >à�U‘W”WÐ Ø%)Ð Ô "à�E‘G”GÐ Ø#'Ð Ô  à�‘”€Ø€Ô ðð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ð
ð ð ðð ð ðð ð ðGð Gð Gð Gð G� (ñ Gô Gð GðD ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   