o
    soim
                     @  sR   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dZ	G dd deZ
dS )
    )annotationsN)Base)expectc                 C  s:   t | d|}t |d|}t j||dd}t |d|S )Nr   wrap)mode)npswapaxeschoose)dataindicesaxisdata_swappedindex_swappedgathered r   ^/home/ubuntu/.local/lib/python3.10/site-packages/onnx/backend/test/case/node/gatherelements.pygather_elements   s   r   c                   @  s6   e Zd Zed
ddZed
ddZed
ddZd	S )GatherElementsreturnNonec                  C  s   d} t jjdddgdg| d}tjddgdd	ggtjd
}tjddgddggtjd
}t||| }t|||	tj
g|gdd d S )N   r   r
   r   yinputsoutputsr            dtyper   test_gather_elements_0r   r   nameonnxhelper	make_noder   arrayfloat32int32r   r   astypeint64r   noder
   r   r   r   r   r   export_gather_elements_0   s    
z'GatherElements.export_gather_elements_0c                  C     d} t jjdddgdg| d}tjg dg dg d	gtjd
}tjg dg dgtjd
}t||| }t|||	tj
g|gdd d S )Nr   r   r
   r   r   r   r   r   r   r               	   r   )r   r   r   )r   r   r   test_gather_elements_1r!   r#   r,   r   r   r   export_gather_elements_1.       "
z'GatherElements.export_gather_elements_1c                  C  r/   )Nr   r   r
   r   r   r   r0   r1   r4   r   )r   )r<   r   r   %test_gather_elements_negative_indicesr!   r#   r,   r   r   r   'export_gather_elements_negative_indicesF   r:   z6GatherElements.export_gather_elements_negative_indicesN)r   r   )__name__
__module____qualname__staticmethodr.   r9   r>   r   r   r   r   r      s    r   )r   )
__future__r   numpyr   r$   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r   r   r   r   <module>   s   
