U
    ,d`                     @   sR   d Z ddlZddlmZ ddlmZ ddlmZ ddl	m
Z eejdd ZdS )	z5
Implementation of operations involving polynomials.
    N)jit)types)overload)numpy_supportc                    s:   t | d| }t|tjr tj n
t|  fdd}|S )Ndtypec                    s  t | jdkrtdt| d }t |dkr>tjd dS t | |d  d }| t|d t|d d  } t | }|dkrtt|d f dj	}| dd   | d  |dd d f< tj
|}ntjd d}|dkrt|tj| dfS |S d S )N   zInput must be a 1d array.r   )r      )lenshape
ValueErrornpZnonzerozerosintZdiagZonesTZlinalgZeigvalsZhstack)pZnon_zerotznArootsZcast_t 7/tmp/pip-unpacked-wheel-eu7e0c37/numba/np/polynomial.py
roots_impl   s      "zroots_impl.<locals>.roots_impl)getattr
isinstancer   ZIntegerr   Zfloat64
np_supportZas_dtype)r   tyr   r   r   r   r      s    
"r   )__doc__Znumpyr   Znumbar   Z
numba.corer   Znumba.core.extendingr   Znumba.npr   r   r   r   r   r   r   r   <module>   s   