o
    r::j=                     @  s4   d dl mZ d dlZd dlmZ G dd deZdS )    )annotationsN)OpRunc                   @  s   e Zd ZdddZdS )CumSumNc           	      C  s   t |}|jdkrtd|j d|r+dd |jD }td d d||< |t| }|rhdd |jD }dd |jD }tdd||< td	|j| ||< t j|j|jd
}t j	|t| ||t| d n	t j	|||jd}|ry|t| }|fS )Nr   z#Axis must be a rank-0 tensor, got `z`.c                 S     g | ]}t d |qS r   slice.0s r   d/home/nk/hobo-godmode/plappi-mvp/.venv/lib/python3.10/site-packages/onnx/reference/ops/op_cum_sum.py
<listcomp>       zCumSum._run.<locals>.<listcomp>c                 S  r   r   r   r	   r   r   r   r      r   c                 S  r   r   r   r	   r   r   r   r      r      )dtype)axisout)r   r   )
npasarrayndim
ValueErrorshaper   tuplezerosr   cumsum)	selfxr   	exclusivereverserev_indices	indices_c	indices_dresr   r   r   _run   s$   

"zCumSum._run)NN)__name__
__module____qualname__r%   r   r   r   r   r      s    r   )
__future__r   numpyr   onnx.reference.op_runr   r   r   r   r   r   <module>   s   