
    /j!                    ^    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)expectnonec                :   |j         d         t          | j                   k    sJ |j         |j         d d         | j         |j         d         d          z   k    sJ t          j        |           }t          j        |j         d d                   D ]	}|dk    r*|t          ||                   xx         ||         z  cc<   3|dk    r*|t          ||                   xx         ||         z  cc<   c|dk    r>t          j        |||                  ||                   |t          ||                   <   |dk    r>t          j        |||                  ||                   |t          ||                   <   ||         |t          ||                   <   |S )Naddmulmaxmin)shapelennpcopyndindextuplemaximumminimum)dataindicesupdates	reductionoutputis         j/home/longshao/multi-rider-rag/.venv/lib/python3.11/site-packages/onnx/backend/test/case/node/scatternd.pyscatter_nd_implr      s   =DJ////=GM#2#.GM"<M<O<O1PPPPPP WT]]FZcrc*++ 3 35$$%%%3%%%%%5$$%%%3%%%%%(*
6'!*3Ewqz(R(RF5$$%%%(*
6'!*3Ewqz(R(RF5$$%%(/
F5$$%%M    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dS )
	ScatterNDreturnNonec            
        t           j                            dg ddg          } t          j        g dg dg dg dgg dg dg dg dgg dg dg dg dgg dg dg dg dggt          j        	          }t          j        d
gdggt          j        	          }t          j        g dg dg dg dgg dg dg dg dggt          j        	          }t          |||          }t          | |||g|gd           d S )Nr   r   r   r   y)inputsoutputs                        r0   r/   r.   r-   r+   r*   r)   r(   dtyper   r)   r-   r-   r-   r-   r.   r.   r.   r.   r/   r/   r/   r/   r0   r0   r0   r0   r(   r(   r(   r(   r)   r)   r)   r)   r*   r*   r*   r*   r+   r+   r+   r+   test_scatterndr%   r&   name	onnxhelper	make_noder   arrayfloat32int64r   r   noder   r   r   r   s        r   export_scatterndzScatterND.export_scatternd$   s   {$$111E % 
 

 x|||\\\<<<H|||\\\<<<H|||\\\<<<H|||\\\<<<H	 *
 
 
 (QC!:RX666(|||\\\<<<H|||\\\<<<H *
 
 
 !w88'7+H!		
 	
 	
 	
 	
 	
r   c            
     
   t           j                            dg ddgd          } t          j        g dg dg dg d	gg dg dg dg d	gg dg d	g dg dgg dg d	g dg dggt          j        
          }t          j        dgdggt          j        
          }t          j        g dg dg dg dgg dg dg dg dggt          j        
          }t          |||d          }t          | |||g|gd           d S )Nr   r#   r$   r	   r%   r&   r   r'   r,   r1   r2   r3   r   r5   r6   r7   r8   r9   r:   r;   r<   r   test_scatternd_addr>   r@   rG   s        r   export_scatternd_addzScatterND.export_scatternd_addI      {$$111E	 % 
 
 x|||\\\<<<H|||\\\<<<H|||\\\<<<H|||\\\<<<H	 *
 
 
 (QC!:RX666(|||\\\<<<H|||\\\<<<H *
 
 
 !w5III'7+H%		
 	
 	
 	
 	
 	
r   c            
     
   t           j                            dg ddgd          } t          j        g dg dg dg d	gg dg dg dg d	gg dg d	g dg dgg dg d	g dg dggt          j        
          }t          j        dgdggt          j        
          }t          j        g dg dg dg dgg dg dg dg dggt          j        
          }t          |||d          }t          | |||g|gd           d S )Nr   r#   r$   r
   rK   r'   r,   r1   r2   r3   r   r5   r6   r7   r8   r9   r:   r;   r<   rL   test_scatternd_multiplyr>   r@   rG   s        r   export_scatternd_multiplyz#ScatterND.export_scatternd_multiplyo   s   {$$111E	 % 
 
 x|||\\\<<<H|||\\\<<<H|||\\\<<<H|||\\\<<<H	 *
 
 
 (QC!:RX666(|||\\\<<<H|||\\\<<<H *
 
 
 !w5III'7+H*		
 	
 	
 	
 	
 	
r   c            
     
   t           j                            dg ddgd          } t          j        g dg dg dg d	gg dg dg dg d	gg dg d	g dg dgg dg d	g dg dggt          j        
          }t          j        dgdggt          j        
          }t          j        g dg dg dg dgg dg dg dg dggt          j        
          }t          |||d          }t          | |||g|gd           d S )Nr   r#   r$   r   rK   r'   r,   r1   r2   r3   r   r5   r6   r7   r8   r9   r:   r;   r<   rL   test_scatternd_maxr>   r@   rG   s        r   export_scatternd_maxzScatterND.export_scatternd_max   rO   r   c            
     
   t           j                            dg ddgd          } t          j        g dg dg dg d	gg dg dg dg d	gg dg d	g dg dgg dg d	g dg dggt          j        
          }t          j        dgdggt          j        
          }t          j        g dg dg dg dgg dg dg dg dggt          j        
          }t          |||d          }t          | |||g|gd           d S )Nr   r#   r$   r   rK   r'   r,   r1   r2   r3   r   r5   r6   r7   r8   r9   r:   r;   r<   rL   test_scatternd_minr>   r@   rG   s        r   export_scatternd_minzScatterND.export_scatternd_min   rO   r   N)r    r!   )	__name__
__module____qualname__staticmethodrI   rN   rR   rU   rX    r   r   r   r   #   s        "
 "
 "
 \"
H #
 #
 #
 \#
J #
 #
 #
 \#
J #
 #
 #
 \#
J #
 #
 #
 \#
 #
 #
r   r   )r   )
__future__r   numpyr   rA   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r]   r   r   <module>rb      s    # " " " " "      , , , , , , . . . . . .   ,|
 |
 |
 |
 |
 |
 |
 |
 |
 |
r   