U
    rh
                     @  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)npZswapaxeschoose)dataindicesaxisZdata_swapedZindex_swapedZgatheredy r   N/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/gatherelements.pygather_elements   s
    r   c                   @  sB   e Zd ZeddddZeddddZeddddZd	S )
GatherElementsNone)returnc                  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
   r   inputsoutputsr            Zdtyper   Ztest_gather_elements_0r   r   nameonnxhelperZ	make_noder   arrayZfloat32Zint32r   r   ZastypeZint64r   noder	   r
   r   r   r   r   export_gather_elements_0   s     z'GatherElements.export_gather_elements_0c                  C  s   d} t jjdddgdg| d}tjddd	gd
ddgdddggtjd}tjdddgdddg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   Ztest_gather_elements_1r   r   r!   r   r   r   export_gather_elements_1/   s     ( z'GatherElements.export_gather_elements_1c                  C  s   d} t jjdddgdg| d}tjddd	gd
ddgdddggtjd}tjdddgdddg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   Z%test_gather_elements_negative_indicesr   r   r!   r   r   r   'export_gather_elements_negative_indicesG   s     ( z6GatherElements.export_gather_elements_negative_indicesN)__name__
__module____qualname__staticmethodr#   r)   r,   r   r   r   r   r      s   r   )r   )
__future__r   Znumpyr   r   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.noder   r   r   r   r   r   r   <module>   s   
