
    h              
           S SK JrJrJr  SSKJr  SSKJr  SSKJ	r	J
r
  SSKJr  \
r\	r\R                  " S5      S\\\4   4S	 j5       rS
\\\4   S\S\S\\\4   4S jrg)    )CallableTuplecast   )registry)Model)Floats2dRagged)	ArrayInfozreduce_sum.v1returnc                  "    [        S[        5      $ )N
reduce_sum)r   forward     Q/home/james-whalen/.local/lib/python3.13/site-packages/thinc/layers/reduce_sum.pyr   r      s    w''r   modelXris_trainc                    ^ ^^ T R                   R                  [        [        UR                  5      UR
                  5      nUR
                  m[        R                  " U5      mS[        S[        4UUU 4S jjnX44$ )NdYr   c                 r   > TR                  U 5        [        TR                  R                  U T5      T5      $ )N)check_consistencyr
   opsbackprop_reduce_sum)r   
array_infolengthsr   s    r   backpropforward.<locals>.backprop   s/    $$R(eii33B@'JJr   )
r   r   r   r	   datar   r   
from_arrayOutTInT)r   r   r   Yr   r   r   s   `    @@r   r   r      sg    		T(BGG4bjjAAjjG%%a(JKT Kc K K ;r   N)typingr   r   r   configr   r   r   typesr	   r
   utilr   r#   r"   layersr   boolr   r   r   r   <module>r+      s    ( (   $  
!(E#t)$ ( "(	5d# 	 	 	tX~AV 	r   