U
    |e`                     @   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npnonzerozerosintdiagonesTlinalgeigvalshstack)pnon_zerotznArootsZcast_t P/var/www/website-v5/atlas_env/lib/python3.8/site-packages/numba/np/polynomial.py
roots_impl   s      "zroots_impl.<locals>.roots_impl)getattr
isinstancer   Integerr   float64
np_supportas_dtype)r   tyr    r   r   r   r       s    
"r    )__doc__numpyr   numbar   
numba.corer   numba.core.extendingr   numba.npr   r%   r   r    r   r   r   r   <module>   s   