o
    wi                     @  sN   d dl mZ d dlmZ d dlZd dlmZ 	ddddZG dd deZ	dS )    )annotations)AnyN)OpRunsequencelist[Any] | np.ndarraytensor
np.ndarraypositionnp.ndarray | Nonereturn	list[Any]c              
   C  s   g }| d ur5t | tjrt| jdkr5z||  W n ty4 } ztdt|  d|  d|d }~ww |d urM|d t| t| }||| |S |	| |S )Nr   zUnable to iterate on type z: .)

isinstancenpndarraylenshapeextend	TypeErrortypeinsertappend)r   r   r	   seqeinsert_position r   b/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/onnx/reference/ops/op_sequence_insert.py(sequence_insert_reference_implementation   s*   

r   c                   @  s   e Zd ZdddZdS )SequenceInsertNc                 C  s   |d u rt ||}|fS t|trt |||g}|fS t|jdkr+t |||}|fS t|jdkr>t ||t|g}|fS t ||}|fS )Nr   )r   r   intr   r   )selfSTindresr   r   r   _run)   s   
	

zSequenceInsert._runN)__name__
__module____qualname__r%   r   r   r   r   r   (   s    r   r&   )r   r   r   r   r	   r
   r   r   )

__future__r   typingr   numpyr   onnx.reference.op_runr   r   r   r   r   r   r   <module>   s   