+
    :i                         ^ RI t ^ RIt^ RIHt ^ RIHt ^ RIHtHt ^ RI	H
t
HtHtHt ^t^t]P                   R 4       t]P                   R 4       t ! R R	]4      t]R
8X  d   ]P*                  ! 4        R# R# )    N)cuda)unittest)skip_on_cudasimCUDATestCase)xoroshiro128p_uniform_float32xoroshiro128p_normal_float32xoroshiro128p_uniform_float64xoroshiro128p_normal_float64c                     \         P                  ! ^4      p\        V4       FF  pWB,          V,           pV\        8X  d   \	        W4      W&   K,  V\
        8X  g   K9  \        W4      W&   KH  	  R#    N)r   gridrangeUNIFORMr   NORMALr   statesoutcountdistribution	thread_idiidxs   &&&&   a/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/cuda/tests/cudapy/test_random.pyrng_kernel_float32r      R    		!I5\!#7"4VGCHV#3FFCH     c                     \         P                  ! ^4      p\        V4       FF  pWB,          V,           pV\        8X  d   \	        W4      W&   K,  V\
        8X  g   K9  \        W4      W&   KH  	  R# r   )r   r   r   r   r	   r   r
   r   s   &&&&   r   rng_kernel_float64r       r   r   c                      a  ] tR t^-t o R tR tR tR tR t]	! R4      R 4       t
R tR	 t]	! R4      R
 4       tRtV tR# )TestCudaRandomXoroshiro128pc                    \         P                  P                  ^
^R7      pVP                  4       pV P	                  \        \        P                  ! V4      4      ^
4       R# )
   seedN)r   randomcreate_xoroshiro128p_statescopy_to_hostassertEquallennpunique)selfr   ss   &  r   test_create'TestCudaRandomXoroshiro128p.test_create.   sF    88!8D!RYYq\*B/r   c                    \         P                  P                  ^
^R7      pVP                  4       p\         P                  P                  ^
^^R7      pVP                  4       p\        P
                  P                  VR,          VRR 4       R# )r#   r$   )r%   subsequence_start:   NNN)r   r&   r'   r(   r+   testingassert_array_equal)r-   r   s1s2s   &   r   test_create_subsequence_start9TestCudaRandomXoroshiro128p.test_create_subsequence_start3   sx    88!8D  "88!KL 9 N  " 	

%%bfb"g6r   c                    \         P                  ! 4       p\         P                  P                  ^
^VR7      pVP	                  4       pV P                  \        \        P                  ! V4      4      ^
4       R# )r#   )r%   streamN)	r   r<   r&   r'   r(   r)   r*   r+   r,   )r-   r<   r   r.   s   &   r   test_create_stream.TestCudaRandomXoroshiro128p.test_create_stream>   sY    88!@F 9 H!RYYq\*B/r   c                   \         P                  P                  ^@^R7      p\        P                  ! R\        P
                  R7      pVR,          ! W4^ \        4       V P                  VP                  4       RRR7       V P                  VP                  4       RRR7       V P                  VP                  4       RRR7       V P                  VP                  4       R^\        P                  ! ^4      ,          ,          R	R7       R
# )    r$   dtype        gMbP?delta      ?g      ?gQ?g~jtx?N      r@   )r   r&   r'   r+   zerosfloat32r   assertAlmostEqualminmaxmeanstdmathsqrtr-   kernel_funcrB   r   r   s   &&&  r   check_uniform)TestCudaRandomXoroshiro128p.check_uniformE   s    88a8Hhh{"**5E6G4swwy#T:swwy#T:sxxz3f=swwy#TYYq\1A*B$Or   c                N    V P                  \        \        P                  4       R # N)rU   r   r+   rK   r-   s   &r   test_uniform_float320TestCudaRandomXoroshiro128p.test_uniform_float32O   s    -rzz:r   z!skip test for speed under cudasimc                N    V P                  \        \        P                  4       R # rX   )rU   r   r+   float64rY   s   &r   test_uniform_float640TestCudaRandomXoroshiro128p.test_uniform_float64R   s    -rzz:r   c                *   \         P                  P                  ^@^R7      p\        P                  ! R	VR7      pVR
,          ! W4^ \
        4       V P                  VP                  4       RRR7       V P                  VP                  4       RRR7       R# )r@   r$   rA   rC   gMbp?rD   rF   gMb`?NrG   rH   )	r   r&   r'   r+   rJ   r   rL   rO   rP   rS   s   &&&  r   check_normal(TestCudaRandomXoroshiro128p.check_normalV   sr    88a8Hhh{%0E6F3sxxz3d;swwy#T:r   c                N    V P                  \        \        P                  4       R # rX   )ra   r   r+   rK   rY   s   &r   test_normal_float32/TestCudaRandomXoroshiro128p.test_normal_float32_   s    ,bjj9r   c                N    V P                  \        \        P                  4       R # rX   )ra   r   r+   r]   rY   s   &r   test_normal_float64/TestCudaRandomXoroshiro128p.test_normal_float64b   s    ,bjj9r    N)__name__
__module____qualname____firstlineno__r/   r9   r=   rU   rZ   r   r^   ra   rd   rg   __static_attributes____classdictcell__)__classdict__s   @r   r!   r!   -   s]     0
	70P; 89; :;;: 89: ::r   r!   __main__)rQ   numpyr+   numbar   numba.cuda.testingr   r   r   numba.cuda.randomr   r   r	   r
   r   r   jitr   r   r!   rj   mainri   r   r   <module>rx      s       ' <@ @ 	
 	G 
	G 	G 
	G7:, 7:t zMMO r   