o
    toi                     @  s>   d dl mZ d dlZd dlmZ dddZG dd deZdS )	    )annotationsN)OpRunc                 C  s   t | }t |jd d D ]`}|dkr$|t||   || 7  < q|dkr7|t||   || 9  < q|dkrNt |||  || |t|| < q|dkret |||  || |t|| < q|| |t|| < q|S )Naddmulmaxmin)npcopyndindexshapetuplemaximumminimum)dataindicesupdates	reductionoutputi r   S/home/ubuntu/.local/lib/python3.10/site-packages/onnx/reference/ops/op_scatternd.py_scatter_nd_impl   s   
&&r   c                   @  s   e Zd ZdddZdS )	ScatterNDNc                 C  s   t ||||d}|fS )N)r   )r   )selfr   r   r   r   yr   r   r   _run   s   zScatterND._runN)__name__
__module____qualname__r   r   r   r   r   r      s    r   r   )
__future__r   numpyr	   onnx.reference.op_runr   r   r   r   r   r   r   <module>   s
   
