o
    'ѹg
                     @   sj   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r3e  dS 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 )NZappleZ5appleZap_pleZ6ap_pleZapple213Z	8apple213)r	   mangle_identifierassertEqualselfgotexpect r   d/Users/admin/.pyenv/versions/3.10.0/lib/python3.10/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   assertRegexr   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