
    sh                     r    S SK rS SKJr  S SKJrJrJr   " S S\5      r\	S:X  a  \R                  " 5         gg)    N)cuda)unittestCUDATestCaseskip_on_cudasimc                       \ rS rSrS rS rS rS r\" S5      S 5       r	S r
\" S5      S	 5       rS
 r\" S5      S 5       rS rS rSrg)TestArrayAttr   c                    [         R                  " S5      nUR                  SS5      n[         R                  " U5      n[        R
                  " U5      n[        R
                  " U5      nU R                  UR                  5       5        U R                  UR                  5       (       + 5        U R                  UR                  5       (       + 5        U R                  UR                  5       5        g N
         	nparangereshapeasfortranarrayr   	to_device
assertTrueis_c_contiguousis_f_contiguousselfarycaryfarydcarydfarys         |/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/tests/cudadrv/test_array_attr.pytest_contigous_2dTestArrayAttr.test_contigous_2d   s    iim{{1a   &t$t$--/0E11334E11334--/0    c                    [         R                  " S5      nUR                  SSS5      n[         R                  " U5      n[        R
                  " U5      n[        R
                  " U5      nU R                  UR                  5       5        U R                  UR                  5       (       + 5        U R                  UR                  5       (       + 5        U R                  UR                  5       5        g )N   r   r   r   r   s         r   test_contigous_3dTestArrayAttr.test_contigous_3d   s    iim{{1a#  &t$t$--/0E11334E11334--/0r"   c                    [         R                  " S5      nUR                  SSSS5      n[         R                  " U5      n[        R
                  " U5      n[        R
                  " U5      nU R                  UR                  5       5        U R                  UR                  5       (       + 5        U R                  UR                  5       (       + 5        U R                  UR                  5       5        g )N<   r   r      r   r   s         r   test_contigous_4dTestArrayAttr.test_contigous_4d    s    iim{{1aA&  &t$t$--/0E11334E11334--/0r"   c                 H   [         R                  " S5      n[        R                  " U5      nS Hp  nUR	                  US9nUR	                  US9nUR                  5       nU R                  X%L5        U R                  UR                  S5        U R                  XF5        Mr     g )Nr(   CFAorder   )
r   r   r   r   ravelcopy_to_hostr   assertEqualndimassertPreciseEqual)r   r   daryr/   expectdflatflats          r   test_ravel_1dTestArrayAttr.test_ravel_1d,   s    iim~~c"EYYUY+FJJUJ+E%%'DOOD-.TYY*##F1 r"   z6CUDA Array Interface is not supported in the simulatorc                 T   [         R                  " S5      n[        R                  " U5      nUS S S2   nUR                  S   S   nUR                  S   S   nU R                  XE5        U R                  [        5         UR                  5         S S S 5        g ! , (       d  f       g = f)Nr(   r   datar   )	r   r   r   r   __cuda_array_interface__r3   assertRaisesNotImplementedErrorr1   )r   r   r6   
darystride	dary_dataddarystride_datas         r   test_ravel_stride_1d"TestArrayAttr.test_ravel_stride_1d7   s    iim~~c"#A#Y
11&9!<	%>>vFqI523 433s   ?B
B'c                 x   [         R                  " S5      nUR                  SSSS5      nUR                  SS9n[        R
                  " U5      nUR                  5       nUR                  5       nU R                  XEL5        U R                  UR                  S5        U R                  X65        S H  nUR                  US9n[        R
                  " U5      nUR                  US9nUR                  5       nU R                  XEL5        U R                  UR                  S5        U R                  X65        M     g )	Nr(   r   r   r)   Cr.   r0   CA)r   r   r   r1   r   r   r2   r   r3   r4   r5   )r   r   reshapedr7   r6   r8   r9   r/   s           r   test_ravel_cTestArrayAttr.test_ravel_cD   s   iim;;q!Q*c*~~h'

!!#)*A&- E^^%^0F>>(+DJJUJ+E%%'DOOD-.TYY*##F1 r"   c                    [         R                  " S5      nUR                  SSSS5      n[        R                  " U5      nUS S S2S S S2S S S2S S S24   nUR
                  S   S   nUR
                  S   S   nU R                  XV5        U R                  [        5         UR                  5         S S S 5        g ! , (       d  f       g = fNr(   r   r   r)   r=   r   )
r   r   r   r   r   r>   r3   r?   r@   r1   r   r   rI   r6   rA   rB   rC   s          r   test_ravel_stride_c!TestArrayAttr.test_ravel_stride_cZ   s    iim;;q!Q*~~h'#A#ssCaC1,-
11&9!<	%>>vFqI523 433s    B::
Cc                    [         R                  " S5      n[         R                  " UR                  SSSS5      5      nS H  nUR	                  US9n[
        R                  " U5      nUR	                  US9nUR                  5       nU R                  XVL5        U R                  UR                  S5        U R                  XG5        M     g )Nr(   r   r   r)   FAr.   r0   )r   r   r   r   r1   r   r   r2   r   r3   r4   r5   )r   r   rI   r/   r7   r6   r8   r9   s           r   test_ravel_fTestArrayAttr.test_ravel_fg   s    iim$$S[[Aq!%<=E^^%^0F>>(+DJJUJ+E%%'DOOD-.TYY*##F1 r"   c                    [         R                  " S5      n[         R                  " UR                  SSSS5      5      n[        R
                  " U5      nUS S S2S S S2S S S2S S S24   nUR                  S   S   nUR                  S   S   nU R                  XV5        U R                  [        5         UR                  5         S S S 5        g ! , (       d  f       g = frM   )r   r   r   r   r   r   r>   r3   r?   r@   r1   rN   s          r   test_ravel_stride_f!TestArrayAttr.test_ravel_stride_fs   s    iim$$S[[Aq!%<=~~h'#A#ssCaC1,-
11&9!<	%>>vFqI523 433s   4C
Cc                     [         R                  " S5      nUR                  SS5      n[        R                  " U5      nUR                  SS5      nUR                  5       nU R                  X%5        g r   r   r   r   r   r   r2   r5   r   r   r7   r6   dary_reshapedgots         r   test_reshape_cTestArrayAttr.test_reshape_c   sY    iimQ"~~c"Q*((*,r"   c                     [         R                  " S5      nUR                  SSSS9n[        R                  " U5      nUR                  SSSS9nUR                  5       nU R                  X%5        g )Nr   r   r   Fr.   rY   rZ   s         r   test_reshape_fTestArrayAttr.test_reshape_f   sa    iimQ-~~c"Q5((*,r"    N)__name__
__module____qualname____firstlineno__r    r%   r*   r:   r   rD   rJ   rO   rS   rV   r]   ra   __static_attributes__rc   r"   r   r   r      s{    
1
1
1	2 MN
 O
2, MN
 O

2 MN	 O	--r"   r   __main__)numpyr   numbar   numba.cuda.testingr   r   r   r   rd   mainrc   r"   r   <module>rn      s8      F FG-L G-T zMMO r"   