o
    ۾i(	                     @   sL   d dl mZ d dlmZmZ d dlZG dd deZedkr$e	  dS dS )    )cuda)unittestCUDATestCaseNc                   @   s4   e Zd Zdd Zdd Zdd Zdd Zd	d
 ZdS )TestIteratorsc                 C   sJ   t jdd }td}tjdtjd}|d || | |d d d S )Nc                 S   s^   d}t | D ]\}}||krd|d< || | krd|d< |d7 }q|t| kr-d|d< d S d S Nr            )	enumeratelen)xerrorcountiv r   Z/home/ubuntu/.local/lib/python3.10/site-packages/numba/cuda/tests/cudapy/test_iterators.py
enumerator
   s   
z0TestIterators.test_enumerate.<locals>.enumerator
   	            r   dtyper   r   r   )r   jitnpasarrayzerosint32assertEqual)selfr   r   r   r   r   r   test_enumerate	   s   

zTestIterators.test_enumeratec                 C   sH   t d}t d}t jdt jd}|d ||| | |d d d S )Nr   )r   r   r	         r   r   r   r   )r   r   r    r!   r"   )r#   fr   yr   r   r   r   _test_twoarg_function   s
   

z#TestIterators._test_twoarg_functionc                 C      t jdd }| | d S )Nc                 S   sd   d}t | |D ]\}}|| | krd|d< ||| krd|d< |d7 }q|t| kr0d|d< d S d S r   )zipr   )r   r(   r   r   xvyvr   r   r   zipper(   s   
z&TestIterators.test_zip.<locals>.zipperr   r   r)   )r#   r.   r   r   r   test_zip'   s   
zTestIterators.test_zipc                 C   r*   )Nc                 S   s|   d}t t| |D ]&\}\}}||krd|d< || | kr!d|d< ||| kr+d|d< |d7 }q	|t| kr<d|d< d S d S Nr   r   r   r	   r%   )r
   r+   r   r   r(   r   r   r   r,   r-   r   r   r   enumerator_zipper:      
z;TestIterators.test_enumerate_zip.<locals>.enumerator_zipperr/   )r#   r3   r   r   r   test_enumerate_zip9      
z TestIterators.test_enumerate_zipc                 C   r*   )Nc                 S   s|   d}t t| |D ]&\\}}}||krd|d< || | kr!d|d< ||| kr+d|d< |d7 }q	|t| kr<d|d< d S d S r1   )r+   r
   r   r2   r   r   r   zipper_enumeratorN   r4   z;TestIterators.test_zip_enumerate.<locals>.zipper_enumeratorr/   )r#   r7   r   r   r   test_zip_enumerateM   r6   z TestIterators.test_zip_enumerateN)__name__
__module____qualname__r$   r)   r0   r5   r8   r   r   r   r   r      s    r   __main__)
numbar   numba.cuda.testingr   r   numpyr   r   r9   mainr   r   r   r   <module>   s    [