U
    iâËd�
  ã                   @   s˜   d dl Z d dlZd dlZd dlmZ d dlmZ d dlmZm	Z	 dZ
dd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ ZG dd„ deƒZedkr”e  ¡  dS )é    N)Újit)Úutils)ÚTestCaseÚtagì   ÿÿÿÿ c                   C   s   t S ©N)Ú
max_uint64© r	   r	   úR/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/numba/tests/test_intwidth.pyÚusecase_uint64_global   s    r   c                   C   s   dS )Nr   r	   r	   r	   r	   r
   Úusecase_uint64_constant   s    r   c                   C   s
   t ddƒS )Nl   þÿÿÿ r   )Úmaxr	   r	   r	   r
   Úusecase_uint64_func   s    r   c                   C   s   dS )Nì   ÿÿÿÿ r	   r	   r	   r	   r
   Úusecase_int64_pos   s    r   c                   C   s   dS )Nìûÿÿÿ         r	   r	   r	   r	   r
   Úusecase_int64_neg   s    r   c                   C   s   t ddƒtddƒ S )Nr   r   )r   Úminr	   r	   r	   r
   Úusecase_int64_func   s    ÿr   c                   @   sd   e Zd Zdd„ Zddd„Zdd„ Zddd	„Zd
d„ Zddd„Zdd„ Z	dd„ Z
ddd„Zdd„ ZdS )ÚIntWidthTestc                 K   s"   t f |Ž|ƒ}|  |ƒ |ƒ ¡ d S r   )r   ZassertPreciseEqual)ÚselfÚpyfuncÚkwargsZcfuncr	   r	   r
   Úcheck_nullary_func#   s    zIntWidthTest.check_nullary_funcFc                 C   s   t }| j||d� d S ©N©Únopython)r   r   ©r   r   r   r	   r	   r
   Útest_global_uint64'   s    zIntWidthTest.test_global_uint64c                 C   s   | j dd� d S ©NTr   )r   ©r   r	   r	   r
   Útest_global_uint64_npm+   s    z#IntWidthTest.test_global_uint64_npmc                 C   s   t }| j||d� d S r   )r   r   r   r	   r	   r
   Útest_constant_uint64.   s    z!IntWidthTest.test_constant_uint64c                 C   s   | j dd� d S r   )r"   r    r	   r	   r
   Útest_constant_uint64_npm2   s    z%IntWidthTest.test_constant_uint64_npmc                 C   s   t }| j||d� d S r   )r   r   r   r	   r	   r
   Ú"test_constant_uint64_function_call5   s    z/IntWidthTest.test_constant_uint64_function_callc                 C   s   | j dd� d S r   )r$   r    r	   r	   r
   Ú&test_constant_uint64_function_call_npm9   s    z3IntWidthTest.test_constant_uint64_function_call_npmc                 C   s
  t j}|  |dƒd¡ |  |dƒd¡ |  |dƒd¡ |  |dƒd¡ |  |dƒd¡ |  |dƒd¡ |  |d	ƒd
¡ |  |dƒd¡ |  |dƒd
¡ |  |dƒd¡ |  |dƒd¡ |  |dƒd¡ |  |dƒd¡ |  |dƒd¡ |  |dƒd¡ |  |dƒd¡ d S )Né   é   i�ÿÿÿé€   é   i€ÿÿÿéÿ   iÿÿÿé   é	   i ÿÿÿiÿþÿÿiÿÿÿé   i  €i   €l        é    l   ÿÿ r   é@   l            éA   )r   Ú
bit_lengthÚassertEqual)r   Úfr	   r	   r
   Útest_bit_length<   s"    zIntWidthTest.test_bit_lengthc                 C   s.   | j t|d� | j t|d� | j t|d� d S r   )r   r   r   r   )r   r   r	   r	   r
   Útest_constant_int64O   s    z IntWidthTest.test_constant_int64c                 C   s   | j dd� d S r   )r5   r    r	   r	   r
   Útest_constant_int64_npmT   s    z$IntWidthTest.test_constant_int64_npmN)F)F)F)F)Ú__name__Ú
__module__Ú__qualname__r   r   r!   r"   r#   r$   r%   r4   r5   r6   r	   r	   r	   r
   r   !   s   



r   Ú__main__)ZunittestÚmathÚsysZnumbar   Z
numba.corer   Znumba.tests.supportr   r   r   r   r   r   r   r   r   r   r7   Úmainr	   r	   r	   r
   Ú<module>   s   7