o
    Y۷i                     @   sX   d dl Zd dlmZmZ d dlmZmZ d dlZG dd deZ	e
dkr*e  dS dS )    N)
from_dtypecuda)skip_on_cudasimCUDATestCasec                   @   s$   e Zd Zdd Zeddd ZdS )TestAlignmentc                 C   s   t jddgdd}t|}t|d d  fdd }t jd|d}t|jD ]}|| }d	|_|d
 d |_	q'|d | | 
t |j|j	k d S )Naint32bfloat64T)alignc                 S      t d}| | j| | _d S N   r   gridr   r   r   i r   \/home/ubuntu/vllm_env/lib/python3.10/site-packages/numba/cuda/tests/cudapy/test_alignment.pyfoo      
z0TestAlignment.test_record_alignment.<locals>.foo   )dtyper   r   {   )r   r   )npr   r   r   jitrecarrayrangesizer   r   
assertTrueall)self	rec_dtyperecr   
a_recarrayr   a_recr   r   r   test_record_alignment   s   
z#TestAlignment.test_record_alignmentz"Simulator does not check alignmentc                 C   st   t ddg}t|}| t}t|d d  fdd }W d    n1 s)w   Y  | dt|j	v  d S )Nr   r
   c                 S   r   r   r   r   r   r   r   r   !   r   z6TestAlignment.test_record_alignment_error.<locals>.fooztype float64 is not aligned)
r   r   r   assertRaises	Exceptionr   r   r!   str	exception)r#   r$   r%   raisesr   r   r   r   test_record_alignment_error   s   z)TestAlignment.test_record_alignment_errorN)__name__
__module____qualname__r(   r   r.   r   r   r   r   r      s    r   __main__)numpyr   numbar   r   numba.cuda.testingr   r   unittestr   r/   mainr   r   r   r   <module>   s    "