
    J/Ph                         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                     dS dS )    N)
from_dtypecuda)skip_on_cudasimCUDATestCasec                   <    e Zd Zd Z ed          d             ZdS )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         |           | 
                    t          j        |j        |j	        k                         d S )Naint32bfloat64T)alignc                 ^    t          j        d          }| |         j        | |         _        d S N   r   gridr   r   r   is     f/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/cuda/tests/cudapy/test_alignment.pyfooz0TestAlignment.test_record_alignment.<locals>.foo   s$    	!AqTVAaDFFF       )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    Hn.>?tLLL	##	3qqq6)			 	 
		 [)444
z'' 	$ 	$AqMEEG1umEGGD	*z|z|;<<=====r   z"Simulator does not check alignmentc                 R   t          j        ddg          }t          |          }|                     t                    5 }t          j        |d d          f          d             }d d d            n# 1 swxY w Y   |                     dt          |j	                  v            d S )Nr
   r   c                 ^    t          j        d          }| |         j        | |         _        d S r   r   r   s     r   r   z6TestAlignment.test_record_alignment_error.<locals>.foo!   s$    IaLL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    Hn.>?@@	##y)) 	 VXs111vi      !  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	  	5V=M9N9NNOOOOOs    'A33A7:A7N)__name__
__module____qualname__r*   r   r2    r   r   r   r      sO        > > >& _9::
P 
P ;:
P 
P 
Pr   r   __main__)numpyr   numbar   r   numba.cuda.testingr   r   unittestr   r3   mainr6   r   r   <module>r=      s        " " " " " " " " < < < < < < < < P P P P PL P P PD zHMOOOOO r   