o
    ۾iu
                     @   sF   d dl mZ d dlZdd ZG dd dejZedkr!e  dS dS )    )GUFuncEngineNc           	      C   sR   t | }||}| D ]\}}t||}||kr&d}t||||f qd S )Nz"error for %s: got=%s but expect=%s)r   from_signaturescheduleitemsgetattrAssertionError)		signatureshapesexpectsgufbschkvgotfmt r   b/home/ubuntu/.local/lib/python3.10/site-packages/numba/cuda/tests/cudapy/test_gufunc_scheduling.pytemplate   s   


r   c                   @   sD   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd Zdd Z	dS )TestGUFuncSchedulingc                 C   s2   d}d}t ddgdgdddgd	}t||| d S )
N(m, n), (n, p) -> (m, p))d         )   r      r   r   r   r   r   r   r   FTishapesoshapesloopdimspinneddictr   selfr   r	   r
   r   r   r   test_signature_1      z%TestGUFuncScheduling.test_signature_1c                 C   2   d}d}t ddgdgdddgd}t||| d S )	Nr   )r   )r   r   r   r   r   r   r   Fr    r%   r'   r   r   r   test_signature_2   r*   z%TestGUFuncScheduling.test_signature_2c                 C   r+   )	Nr   ))   "   r   r   )r-   r.   r   r   r   r   r   )r-   r.   Fr    r%   r'   r   r   r   test_signature_3&   r*   z%TestGUFuncScheduling.test_signature_3c                 C   r+   )	Nr   )r   r   r   r   r   r   Fr    r%   r'   r   r   r   test_signature_41   r*   z%TestGUFuncScheduling.test_signature_4c                 C   2   d}d}t ddgdgdddgd}t||| d S )Nz(a), (a) -> (a)r   r3   r3   r   Fr    r%   r'   r   r   r   test_signature_5<   r*   z%TestGUFuncScheduling.test_signature_5c                 C   r1   )N(), () -> ()r2   r   r3   Fr    r%   r'   r   r   r   test_signature_6G   r*   z%TestGUFuncScheduling.test_signature_6c                 C   s2   d}d}t ddgdgdddgd}t||| d S )Nr5   )r3   r   r   r3   FTr    r%   r'   r   r   r   test_signature_7R   r*   z%TestGUFuncScheduling.test_signature_7N)
__name__
__module____qualname__r)   r,   r/   r0   r4   r6   r7   r   r   r   r   r      s    r   __main__)numba.cuda.deviceufuncr   unittestr   TestCaser   r8   mainr   r   r   r   <module>   s    
O