§
    ƒÛgÂ  ã                   ó€   — 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     ú\/granary/edev/quantum/lib/python3.11/site-packages/numba/cuda/tests/cudapy/test_alignment.pyÚfooz0TestAlignment.test_record_alignment.<locals>.foo   s$   € å”	˜!‘”ˆAØ�q”T”VˆAˆaŒDŒFˆFˆFó    é   )Ú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æ   € Ý”H˜nÐ.>Ð?ÀtÐLÑLÔLˆ	Ý˜Ñ#Ô#ˆå	Œ�3�q�q�q”6�)Ñ	Ô	ð	ð 	ñ 
Ô	ð	õ ”[ ¨)Ð4Ñ4Ô4ˆ
Ý�z”Ñ'Ô'ð 	$ð 	$ˆAØ˜q”MˆEØˆEŒGØ˜1‘u ‘mˆEŒGˆGàˆˆ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$   € å”I˜a‘L”L�Ø˜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ã   € å”H˜nÐ.>Ð?Ñ@Ô@ˆ	Ý˜Ñ#Ô#ˆà×Ò�yÑ)Ô)ð 	 ¨VÝŒX�s˜1˜1˜1”v�iÑ Ô ð ð  ñ !Ô ð ð	 ð 	 ð 	 ñ 	 ô 	 ð 	 ð 	 ð 	 ð 	 ð 	 ð 	 øøøð 	 ð 	 ð 	 ð 	 ð 	�ŠÐ5½¸VÔ=MÑ9NÔ9NÐ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ÒÐØ€H„M�O„O€O€O€Oð Ðr   