o
     ¢iÐ  ã                
   @   sž   d dl mZmZmZ ddlmZ ddlmZ ddlm	Z	m
Z
 ddlmZ e
Ze	Ze d¡deeef fd	d
„ƒZdeeef dededeeef fdd„ZdS )é    )ÚCallableÚTupleÚcasté   )Úregistry)ÚModel)ÚFloats2dÚRagged)Ú	ArrayInfozreduce_max.v1Úreturnc                   C   s
   t dtƒS )NÚ
reduce_max)r   Úforward© r   r   úK/home/ubuntu/.local/lib/python3.10/site-packages/thinc/layers/reduce_max.pyr      s   
r   ÚmodelÚXrÚis_trainc                    sP   ˆj  tt|jƒ|j¡\}‰|j‰t |¡‰ dtdt	f‡ ‡‡‡fdd„}||fS )NÚdYr   c                    s    ˆ   | ¡ tˆj | ˆˆ¡ˆƒS )N)Úcheck_consistencyr	   ÚopsÚbackprop_reduce_max)r   ©Ú
array_infoÚlengthsr   Úwhichr   r   Úbackprop   s   
zforward.<locals>.backprop)
r   r   r   r   Údatar   r
   Ú
from_arrayÚOutTÚInT)r   r   r   ÚYr   r   r   r   r      s
   
r   N)Útypingr   r   r   Úconfigr   r   r   Útypesr   r	   Úutilr
   r   r   Úlayersr   Úboolr   r   r   r   r   Ú<module>   s    .