o
    0 i                     @   s   U d dl Z d dlmZmZmZ d dlZd dlZe jdd Ze jdd Z	e jdd Z
e jd	d
 ZG dd dZee ZdZed ed< edde	ZeddeZedde
ZeddeZdS )    N)CallableFinalOptionalc                 C   sB   | j dv r| t| jS | j dv r| tj S td|  NZbiufzUnsupported type: )kindtypenumpyiinfomininfRuntimeErrorZdtype r   j/home/app/PaddleOCR-VL-test/.venv_paddleocr/lib/python3.10/site-packages/cupyx/distributed/array/_modes.py_min_value_of	   s
   

r   c                 C   s@   | j dv r| t| jS | j dv r| tjS td|  r   )r   r   r	   r
   maxr   r   r   r   r   r   _max_value_of   s
   

r   c                 C   
   |  dS )Nr   r   r   r   r   r   _zero_of      
r   c                 C   r   )N   r   r   r   r   r   _one_of"   r   r   c                   @   sP   e Zd ZU ejjjed< ejed< e	ed< e
ed< dede	de
ddfdd	ZdS )
_OpModefunc
numpy_func
idempotentidentity_of	func_namereturnNc                 C   sD   zt t|| _t t|| _W n ty   tdw || _|| _d S )NzNo such function exists)	getattrcupyr   r	   r   AttributeErrorr   r   r   )selfr   r   r   r   r   r   __init__-   s   
z_OpMode.__init__)__name__
__module____qualname__r"   Z_coreZ_kernelZufunc__annotations__r	   boolr   strr%   r   r   r   r   r   '   s   
 
r   REPLICAminimumTmaximumaddFmultiply)	functoolstypingr   r   r   r	   r"   	lru_cacher   r   r   r   r   ZModer,   r)   ZMINMAXZSUMZPRODr   r   r   r   <module>   s&   
 
	
	

