
    sh              	           S SK r S SKJrJrJrJrJr  S SKJr  \\\" S5      \" S5       " S S\5      5       5       5       5       r	\
S:X  a  \ R                  " 5         gg)	    N)CUDATestCaseskip_if_cudadevrt_missingskip_on_cudasimskip_unless_cc_60skip_if_mvc_enabled)captured_stdoutzCG not supported with MVCz4cudasim doesn't support cuda import at non-top-levelc                   >   ^  \ rS rSrSrU 4S jrU 4S jrS rSrU =r	$ )TestSessionization	   z"
Test click stream sessionization
c                 t   > [        5       U l        U R                  R                  5         [        TU ]  5         g N)r   _captured_stdout	__enter__supersetUpself	__class__s    ځ/Users/tiagomarins/Projetos/claudeai/copy_bank/venv/lib/python3.13/site-packages/numba/cuda/tests/doc_examples/test_sessionize.pyr   TestSessionization.setUp   s)     / 1'')    c                 \   > U R                   R                  S S S 5        [        TU ]  5         g r   )r   __exit__r   tearDownr   s    r   r   TestSessionization.tearDown   s&    &&tT48r   c                 N  ^^ SS K nSSKJm  UR                  UR	                  SS5      5      mTR                  UR                  / SQ5      5      nTR                  UR                  / SQSS9R                  S	5      5      nTR                  UR                  [        U5      5      5      nTR                  UU4S
 j5       nUR                  [        U5      5      " X#U5        [        UR                  5       5        / SQnUR                  R                  XdR                  5       5        g )Nr   )cuda3600s)   r    r    r    r    r       r!   r!      r"   r"   r"   r"   r"   r"   r"   r"   r"      r#   r#   r#   r#   r#   r#   r#   r#   )r    r!   r"       i  r    r!   r"   r    r!   r$   r%   i'  i'  i'  i'  :  iI r    r$   iQ  r&   i N  ia  ia  ia  ia  zdatetime64[ns])dtypeint64c                   > TR                  S5      n[        U 5      nX4:  a  g US:H  nU(       d'  X   XS-
     :g  nX   XS-
     -
  T:  nU=(       d    UnOSnU(       ag  X2U'   TR                  R                  5       n	U	R	                  5         Sn
X#U
-      S:X  a+  X2X:-   '   U
S-  n
X:-   US-
  :X  a  X2X:-   '   g X#U
-      S:X  a  M*  g g g )Nr    r   T)gridlencg	this_gridsync)user_id	timestampresultsgidsizeis_first_datapointnew_user	timed_outis_sess_boundaryr*   
look_aheadr   session_timeouts              r   
sessionize9TestSessionization.test_ex_sessionize.<locals>.sessionizeE   s    ))A,Cw<D{ "%%"<77+;;NYQw%77/I  $,#8y #'   " ww((*		
 J./1403C,-!OJ'4!8347 01 J./14  r   )r   r   r   r"   r"   r"      r<   r<   r   r      r=      r>   r>   r>                  rC         rE   rE   rE   )numpynumbar   r(   timedelta64	to_devicearrayastypezerosr+   jitforallprintcopy_to_hosttestingassert_equal)	r   npidssecr1   r:   expectr   r9   s	          @@r   test_ex_sessionize%TestSessionization.test_ex_sessionize   s    ((2>>&##>?
 nnHH	
 nnHH '  	 f
 ..#c(!34 
%	 
%	R 	#c(#Cg6g""$%

 	

(<(<(>?r   )r   )
__name__
__module____qualname____firstlineno____doc__r   r   rW   __static_attributes____classcell__)r   s   @r   r
   r
   	   s     

a@ a@r   r
   __main__)unittestnumba.cuda.testingr   r   r   r   r   numba.tests.supportr   r
   rY   main r   r   <module>rf      sv    5 5 0 01GHq@ q@ I 2  q@h zMMO r   