
    /jm
                    ^    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
dS )	    )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_swappedindex_swappedgathereds         o/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/onnx/backend/test/case/node/gatherelements.pygather_elementsr      sR    ;tQ--LKD11My6BBBH;xD)))    c                  V    e Zd Zedd            Zedd            Zedd            ZdS )GatherElementsreturnNonec                 v   d} t           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          |||	                    t          j
                  g|g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   s        r   export_gather_elements_0z'GatherElements.export_gather_elements_0   s    {$$I&E	 % 
 
 x!Q!Q(
;;;(QFQF+28<<<D'400
 	'..223C)		
 	
 	
 	
 	
 	
r   c                 |   d} t           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          |||	                    t          j
                  g|g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'   r0   s        r   export_gather_elements_1z'GatherElements.export_gather_elements_1.   s    {$$I&E	 % 
 
 xIIIyyy9LLL(IIIyyy1BBBD'400
 	'..223C)		
 	
 	
 	
 	
 	
r   c                 |   d} t           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          |||	                    t          j
                  g|gd           d S )Nr   r   r   r   r   r   r4   r5   r8   r"   )r   )r@   r   r   %test_gather_elements_negative_indicesr%   r'   r0   s        r   'export_gather_elements_negative_indicesz6GatherElements.export_gather_elements_negative_indicesF   s    {$$I&E	 % 
 
 xIIIyyy9LLL(KKK4BHEEED'400
 	'..223C8		
 	
 	
 	
 	
 	
r   N)r   r   )__name__
__module____qualname__staticmethodr2   r=   rB    r   r   r   r      sr        
 
 
 \
. 
 
 
 \
. 
 
 
 \
 
 
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
 G
 G
 G
 G
T G
 G
 G
 G
 G
r   