§
    2@Äj  ã                   ó|   — d Z ddlmZ ddlmZ ddlmZmZ  G d„ de¦  «        Ze	dk    r ej
        ¦   «          dS dS )	zW
Test function name mangling.
The mangling affects the ABI of numba compiled binaries.
é    )Útypes)Údefault_mangler)ÚunittestÚTestCasec                   ó    — e Zd Zd„ Zd„ Zd„ ZdS )ÚTestManglingc                 óp   — d}t           j        f}t          ||¦  «        }|                      |d¦  «         d S )NÚfooÚ_Z3fooi)r   Úint32r   ÚassertEqual©ÚselfÚfnameÚargtypesÚnames       úJC:\Projects\Historical\venv\Lib\site-packages\numba/tests/test_mangling.pyÚtest_one_argszTestMangling.test_one_args   s;   € ØˆÝ”;�<ˆÝ˜u hÑ/Ô/ˆØ×Ò˜˜yÑ)Ô)Ð)Ð)Ð)ó    c                 ó†   — d}t           j        t           j        f}t          ||¦  «        }|                      |d¦  «         d S )Nr
   Ú_Z3fooif)r   r   Úfloat32r   r   r   s       r   Útest_two_argszTestMangling.test_two_args   s@   € ØˆÝ”;¥¤Ð-ˆÝ˜u hÑ/Ô/ˆØ×Ò˜˜zÑ*Ô*Ð*Ð*Ð*r   c                 ó¬  — d}t           j        t           j        f}t          ||¦  «        }|                      |t
          ¦  «         |d         }d                     d„ |                     d¦  «        D ¦   «         ¦  «        }d|z   }d                     t          |¦  «        |¦  «        }|  
                    ||¦  «         |                      |d¦  «         d S )	Nu   foà² é   Ú c              3   ó@   K  — | ]}d                       |¦  «        V — ŒdS )z_{:02x}N)Úformat)Ú.0Úcs     r   ú	<genexpr>z2TestMangling.test_unicode_fname.<locals>.<genexpr>   sD   è è € ð 7ð 7Øð  ×&Ò& qÑ)Ô)ð 7ð 7ð 7ð 7ð 7ð 7r   Úutf8Úfoz_Z{}{}ifz^_Z[a-zA-Z0-9_\$]+$)r   r   r   r   ÚassertIsInstanceÚstrÚjoinÚencoder   Úlenr   ÚassertRegex)r   r   r   r   ÚunicharÚencÚtextÚexpects           r   Útest_unicode_fnamezTestMangling.test_unicode_fname   sÕ   € ØˆÝ”;¥¤Ð-ˆÝ˜u hÑ/Ô/ˆØ×Ò˜d¥CÑ(Ô(Ð(à˜”(ˆØ�gŠgð 7ð 7Ø&Ÿ~š~¨fÑ5Ô5ð7ñ 7ô 7ñ 7ô 7ˆà�c‰zˆØ×"Ò"¥3 t¡9¤9¨dÑ3Ô3ˆØ×Ò˜˜vÑ&Ô&Ð&à×Ò˜Ð5Ñ6Ô6Ð6Ð6Ð6r   N)Ú__name__Ú
__module__Ú__qualname__r   r   r.   © r   r   r   r      sA   € € € € € ð*ð *ð *ð+ð +ð +ð7ð 7ð 7ð 7ð 7r   r   Ú__main__N)Ú__doc__Ú
numba.corer   Únumba.core.funcdescr   Únumba.tests.supportr   r   r   r/   Úmainr2   r   r   ú<module>r9      s�   ððð ð Ð Ð Ð Ð Ð Ø /Ð /Ð /Ð /Ð /Ð /Ø 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2Ð 2ð7ð 7ð 7ð 7ð 7�8ñ 7ô 7ð 7ð: ˆzÒÐØ€H„M�O„O€O€O€Oð Ðr   