
    bIg
                    V    d dl mZ d dlZd dlZd dlmZ d dlmZ ddZ	 G d de      Z
y)	    )annotationsN)Base)expectc                    t        j                  | d|      }t        j                  |d|      }t        j                  ||d      }t        j                  |d|      }|S )Nr   wrap)mode)npswapaxeschoose)dataindicesaxisdata_swapedindex_swapedgatheredys          g/var/www/html/answerous/venv/lib/python3.12/site-packages/onnx/backend/test/case/node/gatherelements.pygather_elementsr      sO    ++dAt,K;;w40Lyy{@H
Ha&AH    c                  B    e Zd Zedd       Zedd       Zedd       Zy)GatherElementsc                 x   d} t         j                  j                  dddgdg|       }t        j                  ddgdd	ggt        j
                  
      }t        j                  ddgddggt        j                  
      }t        |||       }t        |||j                  t        j                        g|gd       y )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_0z'GatherElements.export_gather_elements_0   s    {{$$I&E	 % 
 xx!Q!Q(

;((QFQF+288<D'40
 	'..23C)		
r   c                 ~   d} t         j                  j                  dddgdg|       }t        j                  g dg dg d	gt        j
                  
      }t        j                  g dg dgt        j                  
      }t        |||       }t        |||j                  t        j                        g|gd       y )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_1z'GatherElements.export_gather_elements_1/   s    {{$$I&E	 % 
 xxIy9L((Iy1BD'40
 	'..23C)		
r   c                 ~   d} t         j                  j                  dddgdg|       }t        j                  g dg dg d	gt        j
                  
      }t        j                  g dg dgt        j                  
      }t        |||       }t        |||j                  t        j                        g|gd       y )Nr   r   r   r   r   r   r2   r3   r6   r    )r   )r>   r   r   %test_gather_elements_negative_indicesr#   r%   r.   s        r   'export_gather_elements_negative_indicesz6GatherElements.export_gather_elements_negative_indicesG   s    {{$$I&E	 % 
 xxIy9L((K4BHHED'40
 	'..23C8		
r   N)returnNone)__name__
__module____qualname__staticmethodr0   r;   r@    r   r   r   r      s<    
 
. 
 
. 
 
r   r   )r   )
__future__r   numpyr	   r&   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   rG   r   r   <module>rL      s)    #   , .G
T G
r   