o
    soi
                     @  sb   d dl mZ 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dZG dd deZdS )    )annotations)AnyN)Base)expectsequence	list[Any]tensor
np.ndarraypositionreturnc                 C  s6   t | }|d ur|d }||| |S || |S )Nr   )listinsertappend)r   r   r
   seqinsert_position r   ^/home/ubuntu/.local/lib/python3.10/site-packages/onnx/backend/test/case/node/sequenceinsert.py(sequence_insert_reference_implementation   s   
r   c                   @  s   e Zd ZedddZdS )SequenceInsertr   Nonec                  C  s4  t g dt jgt g dt dgt jgd} t g dt jt g dt jt ddgt jg}|  D ]U\}}|d t j}t|d	krytjjd
g ddgd}|d	 }t	|||}t
||||g|gd| d qBtjjd
ddgdgd}t	||}t
|||g|gd| d qBd S )N)
         )r   r   )at_backat_front)            )            	   r   r   )r   r   r
   output_sequence)inputsoutputstest_sequence_insert_)r'   r(   namer   r   )nparrayastypeint64itemslenonnxhelper	make_noder   r   )
test_casesr   	test_nametest_inputsr   noder
   insertedr   r   r   export    sL    
zSequenceInsert.exportN)r   r   )__name__
__module____qualname__staticmethodr9   r   r   r   r   r      s    r   )N)r   r   r   r	   r
   r	   r   r   )
__future__r   typingr   numpyr+   r1   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r   r   r   r   <module>   s   