
    `i                         d dl Z d dlmZmZ  ed           G d de                      Zedk    r e j                     dS dS )    N)CUDATestCaseskip_on_cudasimz4cudasim doesn't support cuda import at non-top-levelc                       e Zd Zd ZdS )
TestRandomc                    ddl m ddlm}m dd l}j        fd            }d\  }}}d\  }}}	d\  }
}}||z  |	z  |
z  |z  |z  } ||d	          }                    |||f|j        
          } ||
||f|||	ff         ||           |	                                }| 
                    |                    |          d           |                     |                    |          d           |                     |                    |dk                         |                     |                    |dk                         d S )Nr   )cuda)create_xoroshiro128p_statesxoroshiro128p_uniform_float32c                 l                        d          \  }}}                    d          \  }}}||z  |z  ||z  z   |z   }t          || j        d         |          D ]R}	t          || j        d         |          D ]3}
t          || j        d         |          D ]} ||          | |	|
|f<   4Sd S )N   r         )gridgridsizerangeshape)arr
rng_statesstartxstartystartzstridexstrideystrideztidijkr   r
   s               }/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/numba/cuda/tests/doc_examples/test_random.py	random_3dz-TestRandom.test_ex_3d_grid.<locals>.random_3d   s     &*YYq\\"FFF(,a(8(8%GWg G#g-&72BCfLC 639Q<99 V Vvsy|W== V VA"639Q<AA V V'D'DZQT'U'UAq!GVVV V    )i  i  i  )   r"   r"   )   r#   r#   r   )seed)dtypeg\(\?gRQ?g      ?g        )numbar   numba.cuda.randomr	   r
   numpyjitdevice_arrayfloat32copy_to_hostassertGreatermean
assertLess
assertTrueall)selfr	   npr    XYZbxbybzgxgygznthreadsr   r   host_arrr   r
   s                    @@r   test_ex_3d_gridzTestRandom.test_ex_3d_grid
   s   	F 	F 	F 	F 	F 	F 	F 	F		V 	V 	V 	V 	V 
	V  1a 
B
B 7R<"$r)B. 10BBB
 Aq	<<-	2r2,R,-c:>>> ##%%2778,,d333))4000x3//000x3//00000r!   N)__name__
__module____qualname__r?    r!   r   r   r      s#        -1 -1 -1 -1 -1r!   r   __main__)unittestnumba.cuda.testingr   r   r   r@   mainrC   r!   r   <module>rH      s     < < < < < < < < GHH.1 .1 .1 .1 .1 .1 .1 IH.1b zHMOOOOO r!   