
    h3                         S SK JrJrJrJr  SSKJr  SSKJrJ	r	J
r
  \\\\\   4   r\\\\S4   4   r\" S\S9rS\S	\\\4   4S
 jrS\S	\\	\	4   4S jrS\S	\\
\
4   4S jrS rg)    )SequenceTupleTypeVarUnion   )Model)ArrayXdFloatsXdIntsXd.ArrayTXd)boundindexreturnc                 $    [        S[        SU 0S9$ )a!  Index into input arrays, and return the subarrays.

index:
    A valid numpy-style index. Multi-dimensional indexing can be performed
    by passing in a tuple, and slicing can be performed using the slice object.
    For instance, X[:, :-1] would be (slice(None, None), slice(None, -1)).
zarray-getitemr   attrsr   forwardr   s    T/home/james-whalen/.local/lib/python3.13/site-packages/thinc/layers/array_getitem.pyarray_getitemr      s     ''51ABB    c                 $    [        S[        SU 0S9$ )uIndex into input arrays, and return the subarrays.

This delegates to `array_getitem`, but allows type declarations.
zfloats-getitemr   r   r   r   s    r   floats_getitemr      s    
 !77E2BCCr   c                 $    [        S[        SU 0S9$ )r   zints-getitemr   r   r   r   s    r   ints_getitemr      s    
 %0@AAr   c                    ^ ^^^ T R                   S   mUR                  mUR                  mUUU U4S jn[        U5      S:X  a  X4$ UT   nXC4$ )Nr   c                 D   > TR                   R                  TTS9nXT'   U$ )N)dtype)opsalloc)dYdXr    r   modelshapes     r   backprop_get_column$forward.<locals>.backprop_get_column+   s%    YY__U%_05		r   r   )r   r&   r    len)r%   Xis_trainr'   Yr    r   r&   s   `    @@@r   r   r   &   sU    KK EGGEGGE 
 1v{%%	%A!!r   N)typingr   r   r   r   r%   r   typesr	   r
   r   intslice	AxisIndexIndexr   r   r   r   r    r   r   <module>r4      s    2 2  - -#uhsm+,	iy#~../:W-C C58);#< CD% DE(H*<$= DB B%"7 B"r   