o
    8ήc                     @   sL   d dl Zd dlmZ d dlmZmZ G dd deZedkr$e	  dS dS )    N)cuda)unittestCUDATestCasec                   @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )TestArrayAttrc                 C   st   t d}|dd}t |}t|}t|}| |  | |   | |   | |  d S N
         	nparangereshapeasfortranarrayr   	to_device
assertTrueis_c_contiguousis_f_contiguousselfarycaryfarydcarydfary r   O/tmp/pip-target-vg8gfxp4/lib/python/numba/cuda/tests/cudadrv/test_array_attr.pytest_contigous_2d   s   



zTestArrayAttr.test_contigous_2dc                 C   sv   t d}|ddd}t |}t|}t|}| |  | |   | |   | |  d S )N   r   r	   r
   r   r   r   r   test_contigous_3d   s   



zTestArrayAttr.test_contigous_3dc                 C   sx   t d}|dddd}t |}t|}t|}| |  | |   | |   | |  d S )N<   r   r	      r
   r   r   r   r   test_contigous_4d   s   



zTestArrayAttr.test_contigous_4dc                 C   s   t d}|dddd}|jdd}t|}| }| }| |jd | 	|| dD ]$}|j|d}t|}|j|d}| }| |jd | 	|| q/d S )	Nr   r   r	   r    Corder   CA)
r   r   r   ravelr   r   copy_to_hostassertEqualndimassertPreciseEqual)r   r   reshapedexpectdarydflatflatr$   r   r   r   test_ravel_c+   s    


zTestArrayAttr.test_ravel_cc                 C   sr   t d}t |dddd}dD ]$}|j|d}t|}|j|d}| }| |j	d | 
|| qd S )Nr   r   r	   r    FAr#   r%   )r   r   r   r   r'   r   r   r(   r)   r*   r+   )r   r   r,   r$   r-   r.   r/   r0   r   r   r   test_ravel_f?   s   

zTestArrayAttr.test_ravel_fc                 C   sD   t d}|dd}t|}|dd}| }| || d S r   r   r   r   r   r   r(   r+   r   r   r-   r.   dary_reshapedgotr   r   r   test_reshape_cJ   s   

zTestArrayAttr.test_reshape_cc                 C   sL   t d}|jdddd}t|}|jdddd}| }| || d S )Nr   r   r	   Fr#   r4   r5   r   r   r   test_reshape_fR   s   

zTestArrayAttr.test_reshape_fN)
__name__
__module____qualname__r   r   r!   r1   r3   r8   r:   r   r   r   r   r      s    r   __main__)
numpyr   numbar   numba.cuda.testingr   r   r   r;   mainr   r   r   r   <module>   s    U