o
    i                     @   sT   d Z ddlmZ ddlmZ ddlmZmZ G dd deZe	dkr(e
  dS dS )	zW
Test function name mangling.
The mangling affects the ABI of numba compiled binaries.
    )types)default_mangler)unittestTestCasec                   @   s$   e Zd Zdd Zdd Zdd ZdS )TestManglingc                 C   s&   d}t jf}t||}| |d d S )NfooZ_Z3fooi)r   int32r   assertEqualselffnameargtypesname r   h/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/numba/tests/test_mangling.pytest_one_args   s   
zTestMangling.test_one_argsc                 C   s*   d}t jt jf}t||}| |d d S )Nr   Z_Z3fooif)r   r   float32r   r	   r
   r   r   r   test_two_args   s   
zTestMangling.test_two_argsc                 C   s|   d}t jt jf}t||}| |t |d }ddd |dD }d| }dt	||}| 
|| | |d	 d S )
Nu   foಠ    c                 s   s    | ]}d  |V  qdS )z_{:02x}N)format).0cr   r   r   	<genexpr>   s    z2TestMangling.test_unicode_fname.<locals>.<genexpr>utf8foz_Z{}{}ifz^_Z[a-zA-Z0-9_\$]+$)r   r   r   r   ZassertIsInstancestrjoinencoder   lenr	   ZassertRegexpMatches)r   r   r   r   Zunicharenctextexpectr   r   r   test_unicode_fname   s   

zTestMangling.test_unicode_fnameN)__name__
__module____qualname__r   r   r#   r   r   r   r   r      s    r   __main__N)__doc__Z
numba.corer   Znumba.core.funcdescr   Znumba.tests.supportr   r   r   r$   mainr   r   r   r   <module>   s   