
    Si5                    N    S SK Jr  S SKrS SKJr  SS jrS	S jr " S S\5      rg)
    )annotationsN)OpRunc                    / n[        XSS9 H  u  p4UR                  X4S      5        M     [        R                  " X R                  S9R                  UR                  5      $ )NT)strictr   dtype)zipappendnparrayr   reshapeshape)selfindexresabs        d/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnx/reference/ops/op_gather_elements.pygather_numpy_2r      sN    
CD-

1qT7 .88Czz*225;;??    c                   UR                   S U UR                   US-   S  -   nU R                   S U U R                   US-   S  -   nX4:w  a  [        SU< S35      e[        R                  " U SU5      n[        R                  " USU5      n [        R                  " XeSS9n[        R                  " USU5      $ ! [         aA    [        UR                   5      S:X  a&  [        UR                   5      S:X  a  [        X5      s $ e f = f)N   zExcept for dimension z;, all dimensions of index and self should be the same size.r   wrap)mode   )r   
ValueErrorr   swapaxeschooselenr   )r   dimr   idx_xsection_shapeself_xsection_shapedata_swappedindex_swappedgathereds           r   gather_numpyr&      s   Tc*U[[q-CC**Tc*TZZa	-BB0#C7 +6 7
 	
 ;;tQ,LKKq#.M99]vF ;;xC((  }""#q(S1C1C-D-I!$..s   B8 8ADDc                      \ rS rSrSS jrSrg)GatherElements'   Nc                    UR                   S:X  a   [        R                  " SUR                  S94$  [	        XU5      4$ ! [
         a#    [	        XUR                  [        5      5      4s $ f = f)Nr   )r   r   )sizer   emptyr   r&   	TypeErrorastypeint)r   dataindicesaxiss       r   _runGatherElements._run(   sf    <<1HHT466	D W577 	D W^^C-@ACC	Ds   ? *A,+A, )N)__name__
__module____qualname____firstlineno__r3   __static_attributes__r5   r   r   r(   r(   '   s    Dr   r(   )r   
np.ndarrayr   r;   returnr;   )r   r;   r    r/   r   r;   r<   r;   )	
__future__r   numpyr   onnx.reference.op_runr   r   r&   r(   r5   r   r   <module>r@      s)    #  '@)*DU Dr   