
    `i                     x    d dl Zd dlmZ d dlmZmZmZ  G d de          Ze	dk    r ej
                     dS dS )    N)cuda)unittestCUDATestCaseskip_on_cudasimc                       e Zd Zd Zd Zd Zd Z ed          d             Zd Z	 ed          d             Z
d	 Z ed          d
             Zd Zd ZdS )TestArrayAttrc                    t          j        d          }|                    dd          }t          j        |          }t	          j        |          }t	          j        |          }|                     |                                           |                     |                                            |                     |                                            |                     |                                           d S N
         	nparangereshapeasfortranarrayr   	to_device
assertTrueis_c_contiguousis_f_contiguousselfarycaryfarydcarydfarys         |/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/numba/cuda/tests/cudadrv/test_array_attr.pytest_contigous_2dzTestArrayAttr.test_contigous_2d   s    imm{{1a   &&t$$t$$--//000E11333444E11333444--//00000    c                    t          j        d          }|                    ddd          }t          j        |          }t	          j        |          }t	          j        |          }|                     |                                           |                     |                                            |                     |                                            |                     |                                           d S )N   r   r   r   r   s         r   test_contigous_3dzTestArrayAttr.test_contigous_3d   s    imm{{1a## &&t$$t$$--//000E11333444E11333444--//00000r    c                    t          j        d          }|                    dddd          }t          j        |          }t	          j        |          }t	          j        |          }|                     |                                           |                     |                                            |                     |                                            |                     |                                           d S )N<   r   r      r   r   s         r   test_contigous_4dzTestArrayAttr.test_contigous_4d    s    imm{{1aA&& &&t$$t$$--//000E11333444E11333444--//00000r    c                 p   t          j        d          }t          j        |          }dD ]}|                    |          }|                    |          }|                                }|                     ||u           |                     |j        d           | 	                    ||           d S )Nr%   CFAorder   )
r   r   r   r   ravelcopy_to_hostr   assertEqualndimassertPreciseEqual)r   r   daryr+   expectdflatflats          r   test_ravel_1dzTestArrayAttr.test_ravel_1d,   s    imm~c"" 	2 	2EYYUY++FJJUJ++E%%''DOOD-...TY***##FD1111	2 	2r    z6CUDA Array Interface is not supported in the simulatorc                 r   t          j        d          }t          j        |          }|d d d         }|j        d         d         }|j        d         d         }|                     ||           |                     t                    5  |                                 d d d            d S # 1 swxY w Y   d S )Nr%   r   datar   )	r   r   r   r   __cuda_array_interface__r/   assertRaisesNotImplementedErrorr-   )r   r   r2   
darystride	dary_dataddarystride_datas         r   test_ravel_stride_1dz"TestArrayAttr.test_ravel_stride_1d7   s    imm~c""##A#Y
1&9!<	%>vFqI$4555233 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   
B,,B03B0c                    t          j        d          }|                    dddd          }|                    d          }t	          j        |          }|                                }|                                }|                     ||u           |                     |j	        d           | 
                    ||           dD ]}|                    |          }t	          j        |          }|                    |          }|                                }|                     ||u           |                     |j	        d           | 
                    ||           d S )	Nr%   r   r   r&   Cr*   r,   CA)r   r   r   r-   r   r   r.   r   r/   r0   r1   )r   r   reshapedr3   r2   r4   r5   r+   s           r   test_ravel_czTestArrayAttr.test_ravel_cD   sT   imm;;q!Q**c**~h''

!!##E)***A&&&---  	2 	2E^^%^00F>(++DJJUJ++E%%''DOOD-...TY***##FD1111	2 	2r    c                    t          j        d          }|                    dddd          }t          j        |          }|d d dd d dd d dd d df         }|j        d         d         }|j        d         d         }|                     ||           |                     t                    5  |	                                 d d d            d S # 1 swxY w Y   d S Nr%   r   r   r&   r8   r   )
r   r   r   r   r   r9   r/   r:   r;   r-   r   r   rC   r2   r<   r=   r>   s          r   test_ravel_stride_cz!TestArrayAttr.test_ravel_stride_cZ   s'   imm;;q!Q**~h''##A#sssCCaC1,-
1&9!<	%>vFqI$4555233 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   /CCCc                    t          j        d          }t          j        |                    dddd                    }dD ]}|                    |          }t          j        |          }|                    |          }|                                }|                     ||u           | 	                    |j
        d           |                     ||           d S )Nr%   r   r   r&   FAr*   r,   )r   r   r   r   r-   r   r   r.   r   r/   r0   r1   )r   r   rC   r+   r3   r2   r4   r5   s           r   test_ravel_fzTestArrayAttr.test_ravel_fg   s    imm$S[[Aq!%<%<== 	2 	2E^^%^00F>(++DJJUJ++E%%''DOOD-...TY***##FD1111	2 	2r    c                    t          j        d          }t          j        |                    dddd                    }t	          j        |          }|d d dd d dd d dd d df         }|j        d         d         }|j        d         d         }|                     ||           |                     t                    5  |
                                 d d d            d S # 1 swxY w Y   d S rF   )r   r   r   r   r   r   r9   r/   r:   r;   r-   rG   s          r   test_ravel_stride_fz!TestArrayAttr.test_ravel_stride_fs   s2   imm$S[[Aq!%<%<==~h''##A#sssCCaC1,-
1&9!<	%>vFqI$4555233 	 		 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 	s   C##C'*C'c                    t          j        d          }|                    dd          }t          j        |          }|                    dd          }|                                }|                     ||           d S r
   r   r   r   r   r   r.   r1   r   r   r3   r2   dary_reshapedgots         r   test_reshape_czTestArrayAttr.test_reshape_c   sq    immQ""~c""Q**((**,,,,,r    c                 
   t          j        d          }|                    ddd          }t          j        |          }|                    ddd          }|                                }|                     ||           d S )Nr   r   r   Fr*   rO   rP   s         r   test_reshape_fzTestArrayAttr.test_reshape_f   sy    immQ--~c""Q55((**,,,,,r    N)__name__
__module____qualname__r   r#   r'   r6   r   r?   rD   rH   rK   rM   rS   rV    r    r   r   r      s       
1 
1 
1
1 
1 
1
1 
1 
1	2 	2 	2 _MNN
 
 ON
2 2 2, _MNN
 
 ON

2 
2 
2 _MNN	 	 ON	- - -- - - - -r    r   __main__)numpyr   numbar   numba.cuda.testingr   r   r   r   rW   mainrZ   r    r   <module>r`      s              F F F F F F F F F FG- G- G- G- G-L G- G- G-T zHMOOOOO r    