
    `i              	           d dl Z d dlmZmZmZmZmZ d dlmZ ee ed           ed           G d de                                                          Z	e
dk    r e j                     dS dS )	    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                   2     e Zd ZdZ fdZ fdZd Z xZS )TestSessionizationz*
    Test click stream sessionization
    c                     t                      | _        | j                                         t                                                       d S N)r   _captured_stdout	__enter__supersetUpself	__class__s    /home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/numba/cuda/tests/doc_examples/test_sessionize.pyr   zTestSessionization.setUp   s;     / 1 1'')))    c                     | j                             d d d            t                                                       d S r   )r   __exit__r   tearDownr   s    r   r   zTestSessionization.tearDown   s:    &&tT4888r   c                    dd l }ddlm |                    |                    dd                                        |                    g d                    }                    |                    g dd                              d	                    }                    |                    t          |                              }j
        fd
            } |                    t          |                    |||           t          |                                           g d}|j                            ||                                           d S )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                                         d          }t          |           }||k    rd S |dk    }|s2| |         | |dz
           k    }||         ||dz
           z
  k    }|p|}nd}|rw|||<   j                                        }	|	                                 d}
|||
z            dk    r6||||
z   <   |
dz  }
||
z   |dz
  k    r
||||
z   <   d S |||
z            dk    2d S d S d S )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   
sessionizez9TestSessionization.test_ex_sessionize.<locals>.sessionizeE   sK   ))A,,Cw<<Dd{{ "%% ("3<737+;;cNYsQw%77/I  $,#8y  #'    " w((**		
 cJ./14403GC*,-!OJZ'4!83347j 01 cJ./14444  54r   )r   r   r   r   r   r      r8   r8   	   r9      r:      r;   r;   r;                  r@         rB   rB   rB   )numpynumbar   r%   timedelta64	to_devicearrayastypezerosr(   jitforallprintcopy_to_hosttestingassert_equal)	r   npidssecr.   r7   expectr   r6   s	          @@r   test_ex_sessionizez%TestSessionization.test_ex_sessionize   s    ((2>>&##>#>??
 nnHH   	
 	
 nnHH   '  	 	 f 
 
 ..#c((!3!344 
%	 %	 %	 %	 %	 
%	R 	$
#c((##Cg666g""$$%%%
 
 

 	
(<(<(>(>?????r   )__name__
__module____qualname____doc__r   r   rT   __classcell__)r   s   @r   r
   r
   	   sx        
         
a@ a@ a@ a@ a@ a@ a@r   r
   __main__)unittestnumba.cuda.testingr   r   r   r   r   numba.tests.supportr   r
   rU   main r   r   <module>r`      s   5 5 5 5 5 5 5 5 5 5 5 5 5 5 0 / / / / / 011GHHq@ q@ q@ q@ q@ q@ q@ IH 21  q@h zHMOOOOO r   