
    /j                     l    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		 dddZ
 G d de          ZdS )    )annotationsN)Base)expect   data
np.ndarrayaxisintkeepdimsreturnc                    t          j        | |          }|dk    rt          j        ||          }|                    t           j                  S N)r	   r   )npargminexpand_dimsastypeint64r   r	   r   results       g/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/onnx/backend/test/case/node/argmin.pyargmin_use_numpyr      sD    Yt$'''F1}}--=="""    Tc                    t          j        | |          } t          j        | |          }| j        |         |z
  dz
  }|rt          j        ||          }|                    t           j                  S r   )r   flipr   shaper   r   r   r   s       r   "argmin_use_numpy_select_last_indexr      sl     74DYt$'''FZ&*F .--=="""r   c                      e Zd Zedd            Zedd            Zedd            Zedd            Zedd            Zedd            Z	edd	            Z
edd
            ZdS )ArgMinr   Nonec                    t          j        ddgddggt           j                  } d}d}t          j                            ddgd	g||
          }t          | ||          }t          || g|gd           t           j        	                    ddg d          
                    t           j                  } t          | ||          }t          || g|gd           d S )N   r      
   dtyper   r   r   r   inputsoutputsr	   r   r	   r   test_argmin_no_keepdims_exampler'   r(   namer!   r"      test_argmin_no_keepdims_randomr   arrayfloat32onnxhelper	make_noder   r   randomuniformr   r   r	   r   noder   s        r   export_no_keepdimszArgMin.export_no_keepdims    s	   x!Q!R)<<<{$$fXzx % 
 
 "$THEEE6H2		
 	
 	
 	
 y  b)))44;;BJGG!$THEEE$&8X	
 	
 	
 	
 	
 	
r   c                    t          j        ddgddggt           j                  } d}d}t          j                            ddgdg||	          }t          | ||
          }t          || g|gd           t           j        	                    ddg d          
                    t           j                  } t          | ||
          }t          || g|gd           d S )Nr!   r   r"   r#   r$   r   r   r   r&   r)   test_argmin_keepdims_exampler+   r-   r.   test_argmin_keepdims_randomr1   r9   s        r   export_keepdimszArgMin.export_keepdims8   s   x!Q!R)<<<{$$fXzx % 
 
 "$THEEE$&8V	
 	
 	
 	
 y  b)))44;;BJGG!$THEEE$&8U	
 	
 	
 	
 	
 	
r   c                    t          j        ddgddggt           j                  } d}t          j                            ddgdg|	          }t          | |
          }t          || g|gd           t           j        	                    ddg d          
                    t           j                  } t          | |
          }t          || g|gd           d S )Nr!   r   r"   r#   r$   r   r   r   )r'   r(   r   r    test_argmin_default_axis_exampler+   r-   r.   test_argmin_default_axis_randomr1   r   r   r:   r   s       r   export_default_axes_keepdimsz#ArgMin.export_default_axes_keepdimsM   s    x!Q!R)<<<{$$fXzH % 
 

 "$:::6H3		
 	
 	
 	
 y  b)))44;;BJGG!$:::6H2		
 	
 	
 	
 	
 	
r   c                    t          j        ddgddggt           j                  } d}d}t          j                            ddgd	g||
          }t          | ||          }t          || g|gd           t           j        	                    ddg d          
                    t           j                  } t          | ||          }t          || g|gd           d S )Nr!   r   r"   r#   r$   r   r   r   r&   r)   *test_argmin_negative_axis_keepdims_exampler+   r-   r.   )test_argmin_negative_axis_keepdims_randomr1   r9   s        r   export_negative_axis_keepdimsz$ArgMin.export_negative_axis_keepdimsh   s   x!Q!R)<<<{$$fXzx % 
 
 "$THEEE6H=		
 	
 	
 	
 y  b)))44;;BJGG!$THEEE6H<		
 	
 	
 	
 	
 	
r   c                    t          j        ddgddggt           j                  } d}d}t          j                            ddgd	g||d
          }t          | ||          }t          || g|gd           t           j        	                    ddg d          
                    t           j                  } t          | ||          }t          || g|gd           d S )Nr!   r"   r#   r$   r   r   r   r   r   Tr'   r(   r	   r   select_last_indexr)   1test_argmin_no_keepdims_example_select_last_indexr+   r-   r.   0test_argmin_no_keepdims_random_select_last_indexr   r2   r3   r4   r5   r6   r   r   r7   r8   r   r9   s        r   $export_no_keepdims_select_last_indexz+ArgMin.export_no_keepdims_select_last_index   s   x!Q!R)<<<{$$8J" % 
 
 4DthWWW6HD		
 	
 	
 	
 y  b)))44;;BJGG3DthWWW6HC		
 	
 	
 	
 	
 	
r   c                    t          j        ddgddggt           j                  } d}d}t          j                            ddgdg||d	
          }t          | ||          }t          || g|gd           t           j        	                    ddg d          
                    t           j                  } t          | ||          }t          || g|gd           d S )Nr!   r"   r#   r$   r   r   r   r   TrL   r)   .test_argmin_keepdims_example_select_last_indexr+   r-   r.   -test_argmin_keepdims_random_select_last_indexrP   r9   s        r   !export_keepdims_select_last_indexz(ArgMin.export_keepdims_select_last_index   s   x!Q!R)<<<{$$8J" % 
 
 4DthWWW6HA		
 	
 	
 	
 y  b)))44;;BJGG3DthWWW6H@		
 	
 	
 	
 	
 	
r   c                    t          j        ddgddggt           j                  } d}t          j                            ddgdg|d	
          }t          | |          }t          || g|gd           t           j        	                    ddg d          
                    t           j                  } t          | |          }t          || g|gd           d S )Nr!   r"   r#   r$   r   r   r   r   T)r'   r(   r   rM   rA   2test_argmin_default_axis_example_select_last_indexr+   r-   r.   1test_argmin_default_axis_random_select_last_indexrP   rD   s       r   .export_default_axes_keepdims_select_last_indexz5ArgMin.export_default_axes_keepdims_select_last_index   s   x!Q!R)<<<{$$8J" % 
 
 4D8LLL6HE		
 	
 	
 	
 y  b)))44;;BJGG3D8LLL6HD		
 	
 	
 	
 	
 	
r   c                    t          j        ddgddggt           j                  } d}d}t          j                            ddgd	g||d
          }t          | ||          }t          || g|gd           t           j        	                    ddg d          
                    t           j                  } t          | ||          }t          || g|gd           d S )Nr!   r"   r#   r$   rG   r   r   r   r   TrL   r)   <test_argmin_negative_axis_keepdims_example_select_last_indexr+   r-   r.   ;test_argmin_negative_axis_keepdims_random_select_last_indexrP   r9   s        r   /export_negative_axis_keepdims_select_last_indexz6ArgMin.export_negative_axis_keepdims_select_last_index   s   x!Q!R)<<<{$$8J" % 
 
 4DthWWW6HO		
 	
 	
 	
 y  b)))44;;BJGG3DthWWW6HN		
 	
 	
 	
 	
 	
r   N)r   r   )__name__
__module____qualname__staticmethodr;   r?   rE   rJ   rQ   rU   rY   r]    r   r   r   r      s       
 
 
 \
. 
 
 
 \
( 
 
 
 \
4 
 
 
 \
4 
 
 
 \
> 
 
 
 \
> 
 
 
 \
< 
 
 
 \
 
 
r   r   )r   r   )r   r   r	   r
   r   r
   r   r   )r   T)
__future__r   numpyr   r4   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r   rb   r   r   <module>rg      s    # " " " " "      , , , , , , . . . . . .# # # # # 6:# # # # #a
 a
 a
 a
 a
T a
 a
 a
 a
 a
r   