
    i>                         S SK rS SKJr  S SKJr  S SKJr  S SKJrJ	r	  \R                  " S\R                  4S\R                  S4/5      r\" S	5       " S
 S\	5      5       r\S:X  a  \R                   " 5         gg)    N)cuda)	transpose)unittest)skip_on_cudasimCUDATestCaseij)      z-Device Array API unsupported in the simulatorc                   0    \ rS rSrS rSrS rS rS rSr	g)	TestTranspose   c                    SS[         R                  4SS[         R                  4SS[         R                  44nU H  u  p#nU R                  X#US9   [         R                  " X#-  US9R                  X25      n[         R                  " X#-  US9R                  X#5      n[        R                  " U5      n[        R                  R                  R                  U5      n[        Xx5        UR                  U5        [         R                  R                  UR                  5       U5        S S S 5        M     g ! , (       d  f       GM	  = f)N         i  i   )rowscolsdtyper   )npfloat64
complex128subTestarangereshapezerosr   	to_devicecudadrvdevicearrayfrom_array_liker   copy_to_hosttestingassert_array_equal)	selfvariantsr   r   r   xydxdys	            a/var/www/html/trading/venv/lib/python3.13/site-packages/numba/cuda/tests/cudapy/test_transpose.pytest_transposeTestTranspose.test_transpose   s    2::&#r}}-3

+- "*D4%@IIdk7??KHHT[6>>tJ^^A&\\--==a@"!"

--akkmQ? A@ "*@@s   CD44
E	))r   r
   )   r.   )r.      )r/   r.   )      )r1   r0   )r0   r0   c           	         U R                    GH#  u  pU R                  XS9   [        R                  " X4[        S9n[        U5       Hj  n[        U5       HX  nUS-  U-   X4U4   l        [        R                  " S[        R                  S9nUR                  SS5      U-  U-   X4U4   l
        MZ     Ml     UR                  n[        R                  " U5      n[        R                  " U5      n	[        X5        U	R!                  5       n
[        R"                  R%                  Xz5        S S S 5        GM&     g ! , (       d  f       GM9  = f)Nr   r   r   r   r   r
   )small_variantsr   r   recarrayrecordwith2darrayranger   r   float32r   r	   Tr   r   device_array_liker   r"   r#   r$   )r%   r   r   arrr'   r(   r	   
transposedd_arrd_transposedhost_transposeds              r+   test_transpose_record#TestTranspose.test_transpose_record!   s    --JD43kk4,6GHtA"4[&'1fqjqD	IIe2::>&'ii1o&9A&=qD	 ) % !UU
s+#55jA%.".";";"=

--jJ 43 .33s   DD66
E	c                    U R                    H  u  pU R                  XS9   [        R                  R	                  SX4[        R
                  S9nUR                  n[        R                  " U5      n[        R                  " U5      n[        XV5        UR                  5       n[        R                  R                  XG5        S S S 5        M     g ! , (       d  f       M  = f)Nr3   r   )sizer   )r4   r   r   randomrandintbool_r9   r   r   r:   r   r"   r#   r$   )r%   r   r   r;   r<   r=   r>   r?   s           r+   test_transpose_bool!TestTranspose.test_transpose_bool2   s    --JD43ii''BHH'M UU
s+#55jA%.".";";"=

--jJ 43 .33s   B!C
C	c                    [         R                  " S[         R                  S9R                  S5      nUS S S2S S S24   R                  n[
        R                  " U5      nUS S S2S S S24   R                  nU R                  UR                  S5        U R                  UR                  S5        UR                  5       n[         R                  R                  X%5        g )Nx   r   )
   r   r   )r   r   )(      )r   r   int64r   r9   r   r   assertEqualshapestridesr"   r#   r$   )r%   aa_view_td_a
d_a_view_t
h_a_view_ts         r+   test_transpose_view!TestTranspose.test_transpose_view?   s     IIc*228<SqS#A#X;==nnQ1cc]__
))62++W5,,.



%%h;     N)
__name__
__module____qualname____firstlineno__r,   r4   r@   rG   rW   __static_attributes__rZ   rY   r+   r   r      s     @ NK"K<rY   r   __main__)numpyr   numbar   numba.cuda.kernels.transposer   numba.cuda.testingr   r   r   r   int32r8   r6   r   r[   mainrZ   rY   r+   <module>rg      s}      2 ' < HHsBHHo"BJJ79 :  @A?<L ?< B?<D zMMO rY   