o
    i                     @   s   d dl Z d dlZe Zdd Zdd Zdd Zdd	 Zd
d Zdd Z	e j
dddddddddZdddddddddZdd ZdS )    Nc                  C   ,   zt j} W | S  ty   d  } t _Y | S w N)_configdivideAttributeErrorvalue r	   P/home/ubuntu/veenaModal/venv/lib/python3.10/site-packages/cupyx/_ufunc_config.pyget_config_divide      r   c                  C   r   r   )r   overr   r   r	   r	   r
   get_config_over   r   r   c                  C   r   r   )r   underr   r   r	   r	   r
   get_config_under   r   r   c                  C   r   r   )r   invalidr   r   r	   r	   r
   get_config_invalid    r   r   c                  C   ,   zt j} W | S  ty   d } t _Y | S w Nignore)r   linalgr   r   r	   r	   r
   get_config_linalg(   s   r   c                  C   r   r   )r   fallback_moder   r   r	   r	   r
   get_config_fallback_mode4   r   r   r   r   r   r   r   r   c              
   c   sB    t | |||||d}zdV  W t di | dS t di | w ) 
    TODO(hvy): Write docs.
    r   Nr	   )seterrr   r   r   r   r   r   	old_stater	   r	   r
   errstate<   s   "r   c                 C   s   t  }| dur
t |durt |durt |durt |dur.|dv r+|t_nt |durG|dv r:|t_n|dv r@ttd|| t_|t_|t_	|t_
|S )r   N)r   raise)printwarnr   r    )logcallz{} is not a valid dispatch type)geterrNotImplementedErrorr   r   r   
ValueErrorformatr   r   r   r   r   r	   r	   r
   r   K   s4   r   c                   C   s    t t t t t t t dS )r   r   )dictr   r   r   r   r   r   r	   r	   r	   r
   r%   p   s   r%   )
contextlib	threadinglocalr   r   r   r   r   r   r   contextmanagerr   r   r%   r	   r	   r	   r
   <module>   s"    %