
    h`
                     L    S SK rS SKrS SKJr  S SKJr  SS jr " S S\5      rg)    N)Base)expectc                     [         R                  " U SU5      n[         R                  " USU5      n[         R                  " XCSS9n[         R                  " USU5      nU$ )Nr   wrap)mode)npswapaxeschoose)dataindicesaxisdata_swapedindex_swapedgatheredys          d/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/gatherelements.pygather_elementsr      sM    ++dAt,K;;w40Lyy@H
Ha&AH    c                   P    \ rS rSr\SS j5       r\SS j5       r\SS j5       rSrg)GatherElements   Nc                  `   Sn [         R                  R                  SSS/S/U S9n[        R                  " SS/SS	//[        R
                  S
9n[        R                  " SS/SS//[        R                  S
9n[        X#U 5      n[        UX#R                  [        R                  5      /U/SS9  g )N   r   r   r   r   inputsoutputsr            dtyper   test_gather_elements_0r   r   nameonnxhelper	make_noder   arrayfloat32int32r   r   astypeint64r   noder   r   r   s        r   export_gather_elements_0'GatherElements.export_gather_elements_0   s    {{$$I&E	 % 
 xx!Q!Q(

;((QFQF+288<D40
 	..23C)		
r   c                  f   Sn [         R                  R                  SSS/S/U S9n[        R                  " / SQ/ SQ/ S	Q/[        R
                  S
9n[        R                  " / SQ/ SQ/[        R                  S
9n[        X#U 5      n[        UX#R                  [        R                  5      /U/SS9  g )Nr   r   r   r   r   r   r   r   r   r               	   r    )r   r   r   )r   r   r   test_gather_elements_1r#   r%   r.   s        r   export_gather_elements_1'GatherElements.export_gather_elements_1.   s    {{$$I&E	 % 
 xxIy9L((Iy1BD40
 	..23C)		
r   c                  f   Sn [         R                  R                  SSS/S/U S9n[        R                  " / SQ/ SQ/ S	Q/[        R
                  S
9n[        R                  " / SQ/ SQ/[        R                  S
9n[        X#U 5      n[        UX#R                  [        R                  5      /U/SS9  g )Nr   r   r   r   r   r   r3   r4   r7   r    )r   )r@   r   r   %test_gather_elements_negative_indicesr#   r%   r.   s        r   'export_gather_elements_negative_indices6GatherElements.export_gather_elements_negative_indicesF   s    {{$$I&E	 % 
 xxIy9L((K4BHHED40
 	..23C8		
r    )returnN)	__name__
__module____qualname____firstlineno__staticmethodr0   r<   rB   __static_attributes__rD   r   r   r   r      s<    
 
. 
 
. 
 
r   r   )r   )	numpyr   r&   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   rD   r   r   <module>rO      s&   
   , .G
T G
r   