
    Ng`
                     R    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 )    N)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          f/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/backend/test/case/node/gatherelements.pygather_elementsr      sV    +dAt,,K;w400Ly{@@@H
Ha&&AH    c                   V    e Zd Zedd            Zedd            Zedd            ZdS )GatherElementsreturnNc                  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   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	 % 
 
 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%   r.   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   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_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   )r   N)__name__
__module____qualname__staticmethodr0   r;   r@    r   r   r   r      sr        
 
 
 \
. 
 
 
 \
. 
 
 
 \
 
 
r   r   )r   )	numpyr   r&   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   rE   r   r   <module>rI      s   
      , , , , , , . . . . . .   G
 G
 G
 G
 G
T G
 G
 G
 G
 G
r   