Ë
    èÿæiÍ  ã                   óŒ   — d dl Z d dlZd dlmZ d dlmZ d dlZ G d„ dej                  «      Z	e
dk(  r ej                  «        yy)é    N)Únjit)Útypesc                   ó   — e Zd ZdZd„ Zy)Ú
TestMulti3a¢  
    This test is only relevant for 32-bit architectures.

    Test __multi3 implementation in _helperlib.c.
    The symbol defines a i128 multiplication.
    It is necessary for working around an issue in LLVM (see issue #969).
    The symbol does not exist in 32-bit platform, and should not be used by
    LLVM.  However, optimization passes will create i65 multiplication that
    is then lowered to __multi3.
    c                 óè   — t        d«      d„ «       }g d¢}t        d«      D ]'  }|j                  t        j                  dd«      «       Œ) d„ }|D ]   }| j                   ||«       ||«      «       Œ" y )Nz(int64,)c                 ó4   — d}t        | «      D ]  }||z  }Œ	 |S )Nr   )Úrange)ÚxÚresÚis      úl/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_multi3.pyÚfuncz$TestMulti3.test_multi3.<locals>.func   s#   € àˆCÜ˜1–X�Ø�q‘‘ð àˆJó    )éÿÿÿÿr   é   é   é   é   l   þÿ ì   ÿÿ l        l   ïMWž	lüÿÿÿïMWž	iô  r   r   c                 ó*   — | dk  ry| | dz
  z  dz  dz  S )Nr   r   é   l   ÿÿÿÿ © )r
   s    r   Úexpectedz(TestMulti3.test_multi3.<locals>.expected"   s#   € Ø�AŠv˜aØ˜!˜a™%‘[ QÑ&¨9Ñ5Ð5r   )r   r	   ÚappendÚrandomÚrandintÚassertEqual)Úselfr   Úx_casesÚ_r   r
   s         r   Útest_multi3zTestMulti3.test_multi3   sp   € Ü	ˆjÓ	ñ	ó 
ð	ò:ˆô �s–ˆAØ�N‰Nœ6Ÿ>™>¨!¨ZÓ8Õ9ð ò	6ó ˆAØ×Ñ™X a›[©$¨q«'Õ2ñ r   N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r!   r   r   r   r   r   	   s   „ ñ	ó3r   r   Ú__main__)r   ÚnumpyÚnpÚnumbar   Ú
numba.corer   ÚunittestÚTestCaser   r"   Úmainr   r   r   Ú<module>r.      sA   ðÛ ã å Ý Û ô3�×"Ñ"ô 3ðB ˆzÒØ€H‡M�M…Oð r   