
    xKg                     x    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e      Z	e
dk(  r ej                          yy)    N)
from_dtypecuda)skip_on_cudasimCUDATestCasec                   .    e Zd Zd Z ed      d        Zy)TestAlignmentc                    t        j                  ddgd      }t        |      }t        j                  |d d  f      d        }t        j
                  d|      }t        |j                        D ]  }||   }d|_        |d	z   d
z  |_	          |d   |       | j                  t        j                  |j                  |j                  k(               y )Naint32bfloat64T)alignc                 \    t        j                  d      }| |   j                  | |   _        y N   r   gridr   r   r   is     j/home/alanp/www/video.onchill/myenv/lib/python3.12/site-packages/numba/cuda/tests/cudapy/test_alignment.pyfooz0TestAlignment.test_record_alignment.<locals>.foo   s"    		!AqTVVAaDF       )dtyper   r   {   )r   r   )npr   r   r   jitrecarrayrangesizer   r   
assertTrueall)self	rec_dtyperecr   
a_recarrayr   a_recs          r   test_record_alignmentz#TestAlignment.test_record_alignment   s    HHn.>?tL	#	3q6)		 
	 [[)4
z'AqMEEG1umEG (
 	D	*z||z||;<=r   z"Simulator does not check alignmentc                 &   t        j                  ddg      }t        |      }| j                  t              5 }t        j                  |d d  f      d        }d d d        | j                  dt        j                        v        y # 1 sw Y   0xY w)Nr
   r   c                 \    t        j                  d      }| |   j                  | |   _        y r   r   r   s     r   r   z6TestAlignment.test_record_alignment_error.<locals>.foo!   s"    IIaL1!r   ztype float64 is not aligned)
r   r   r   assertRaises	Exceptionr   r   r#   str	exception)r%   r&   r'   raisesr   s        r   test_record_alignment_errorz)TestAlignment.test_record_alignment_error   s~    HHn.>?@	#y)VXXs1vi   !  * 	5V=M=M9NNO *)s    BBN)__name__
__module____qualname__r*   r   r2    r   r   r   r      s#    >& 9:
P ;
Pr   r   __main__)numpyr   numbar   r   numba.cuda.testingr   r   unittestr   r3   mainr6   r   r   <module>r=      s:     " < PL PD zHMMO r   