U
    9%e                     @   sT   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rPe  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 |_	qN|d | | 
t |j|j	k d S )NaZint32bZfloat64T)alignc                 S   s   t d}| | j| | _d S N   r   gridr
   r   r   i r   e/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/numba/cuda/tests/cudapy/test_alignment.pyfoo   s    
z0TestAlignment.test_record_alignment.<locals>.foo   )dtyper   r   {   )r   r   )npr   r   r   jitZrecarrayrangesizer   r
   
assertTrueall)self	rec_dtyperecr   Z
a_recarrayr   Za_recr   r   r   test_record_alignment   s    
z#TestAlignment.test_record_alignmentz"Simulator does not check alignmentc              	   C   s`   t ddg}t|}| t"}t|d d  fdd }W 5 Q R X | dt|j	k d S )Nr   r	   c                 S   s   t d}| | j| | _d S r   r   r   r   r   r   r   !   s    
z6TestAlignment.test_record_alignment_error.<locals>.fooztype float64 is not aligned)
r   r   r   assertRaises	Exceptionr   r   r   str	exception)r   r   r    Z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   Znumbar   r   Znumba.cuda.testingr   r   Zunittestr   r'   mainr   r   r   r   <module>   s   "