U
    ?hy
                     @   sB   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 )    )GUFuncEngineNc           	      C   sR   t | }||}| D ]0\}}t||}||krd}t||||f qd S )Nz"error for %s: got=%s but expect=%s)r   Zfrom_signatureZscheduleitemsgetattrAssertionError)		signatureshapesexpectsZgufbZschkvgotfmt r   `/var/www/html/venv/lib/python3.8/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ZishapesZoshapesZloopdimspinneddictr   selfr   r   r   r   r   r   test_signature_1   s    z%TestGUFuncScheduling.test_signature_1c                 C   s2   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   s    z%TestGUFuncScheduling.test_signature_2c                 C   s2   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   r   )r$   r%   Fr   r   r    r   r   r   test_signature_3&   s    z%TestGUFuncScheduling.test_signature_3c                 C   s2   d}d}t ddgdgdddgd}t||| d S )	Nr   )r   r   r   r   r   r   Fr   r   r    r   r   r   test_signature_41   s    z%TestGUFuncScheduling.test_signature_4c                 C   s2   d}d}t ddgdgdddgd}t||| d S )Nz(a), (a) -> (a)r   r)   r)   r   Fr   r   r    r   r   r   test_signature_5<   s    z%TestGUFuncScheduling.test_signature_5c                 C   s2   d}d}t ddgdgdddgd}t||| d S )N(), () -> ()r(   r   r)   Fr   r   r    r   r   r   test_signature_6G   s    z%TestGUFuncScheduling.test_signature_6c                 C   s2   d}d}t ddgdgdddgd}t||| d S )Nr+   )r)   r   r   r)   FTr   r   r    r   r   r   test_signature_7R   s    z%TestGUFuncScheduling.test_signature_7N)
__name__
__module____qualname__r"   r#   r&   r'   r*   r,   r-   r   r   r   r   r      s   r   __main__)Znumba.np.ufunc.deviceufuncr   Zunittestr   ZTestCaser   r.   mainr   r   r   r   <module>   s
   
O