o
    X۷i	                     @  s   d dl mZ 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
ejddddddddZddddddddZdd ZdS )    )annotationsNc                  C  ,   zt j} W | S  ty   d  } t _Y | S w N)_configdivideAttributeErrorvalue r
   I/home/ubuntu/vllm_env/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  s,   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   r   r   r   r   r   c              
   c  s@    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   	old_stater
   r
   r   errstate6   s   "r   c                 C  sx   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 | t_|t_|t_|t_|S )r   N)r   raise)geterrNotImplementedErrorr   r   r   r   r   r   r   r
   r
   r   r   E   s$   r   c                   C  s   t t t t t t dS )r   r   )dictr   r   r   r   r   r
   r
   r
   r   r   b   s   r   )
__future__r   
contextlib	threadinglocalr   r   r   r   r   r   contextmanagerr   r   r   r
   r
   r
   r   <module>   s"    