o
    8ήc                      @   sj   d Z ddlZddlmZmZmZmZ ddlm	Z	 ddl
Z
dd ZG dd de
jZed	kr3e
  dS dS )
zQ
There was a deadlock problem when work count is smaller than number of threads.
    N)float32float64int32uint32)	Vectorizec                 C   s   | | S )N )abr   r   R/tmp/pip-target-vg8gfxp4/lib/python/numba/tests/npyufunc/test_parallel_low_work.py
vector_add   s   r   c                   @   s   e Zd ZdZdd ZdS )TestParallelLowWorkCountFc                    sz   t tdd}ttttfD ]
}|||| q| t	t  fdd}|tj
 |tj |tj |tj d S )Nparallel)targetc                    s6   t d| }||} ||}t j|| d S )N   )nparangeastypetestingassert_allclose)tydataresultgoldnp_ufunc
para_ufuncr   r
   test   s   

z9TestParallelLowWorkCount.test_low_workcount.<locals>.test)r   r   r   r   r   r   addbuild_ufuncr   	vectorizedouble)selfpvr   r   r   r   r
   test_low_workcount   s   



z+TestParallelLowWorkCount.test_low_workcountN)__name__
__module____qualname___numba_parallel_test_r#   r   r   r   r
   r      s    r   __main__)__doc__numpyr   numbar   r   r   r   numba.np.ufuncr   unittestr   TestCaser   r$   mainr   r   r   r
   <module>   s    