U
    Ã9%e
  ã                   @   sf   d dl mZmZmZmZmZmZ d dlmZ d dl	m
Z
 d dlZG dd„ dejƒZedkrbe ¡  dS )é    )Úint32Úint64Úuint32Úuint64Úfloat32Úfloat64)Úrange_iter32_type)Úitanium_manglerNc                   @   s<   e Zd Zdd„ Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ ZdS )ÚTestItaniumManagerc                 C   sR   t  d¡}d}|  ||¡ t  d¡}d}|  ||¡ t  d¡}d}|  ||¡ d S )NÚappleZ5appleZap_pleZ6ap_pleZapple213Z	8apple213)r	   Úmangle_identifierÚassertEqual©ÚselfÚgotÚexpect© r   ú_/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/numba/tests/test_itanium_mangler.pyÚ
test_ident	   s    


zTestItaniumManager.test_identc                 C   s    t  t¡}d}|  ||¡ t  t¡}d}|  ||¡ t  t¡}d}|  ||¡ t  t¡}d}|  ||¡ t  t¡}d}|  ||¡ t  t¡}d}|  ||¡ d S )NÚiÚxÚjÚyÚfÚd)	r	   Úmangle_typer   r   r   r   r   r   r   r   r   r   r   Ú
test_types   s$    





zTestItaniumManager.test_typesc                 C   sF   t  dttg¡}d}|  ||¡ t  dtttg¡}d}|  ||¡ d S )NÚwhatZ	_Z4whatifZa_little_brown_foxZ_Z18a_little_brown_foxyjd)r	   Zmangler   r   r   r   r   r   r   r   r   r   Útest_function/   s    þz TestItaniumManager.test_functionc                 C   s4   t  t¡}ttƒ}djt|ƒ|d}|  ||¡ d S )Nz	{n}{name})ÚnÚname)r	   r   r   ÚstrÚformatÚlenr   )r   r   r    r   r   r   r   Útest_custom_type:   s    
z#TestItaniumManager.test_custom_typec                 C   s4   t  d¡}d}|  ||¡ t  d¡}|  |d¡ d S )Né{   ZLi123Egš™™™™™(@z^\d+_12_[0-9a-z][0-9a-z]3$)r	   Zmangle_valuer   ÚassertRegexpMatchesr   r   r   r   Útest_mangle_literal@   s
    

z&TestItaniumManager.test_mangle_literalc                 C   s   d}t  |¡}|  |d¡ d S )Nu	   fâˆ‚Æ’Â©zz^\d+f(_[a-z0-9][a-z0-9])+z$)r	   r   r&   )r   r    r   r   r   r   Útest_mangle_unicodeI   s    
z&TestItaniumManager.test_mangle_unicodeN)	Ú__name__Ú
__module__Ú__qualname__r   r   r   r$   r'   r(   r   r   r   r   r
      s   	r
   Ú__main__)Znumbar   r   r   r   r   r   Znumba.core.typesr   Z
numba.corer	   ZunittestZTestCaser
   r)   Úmainr   r   r   r   Ú<module>   s    G