U
    rh
                     @  sj   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ddd	d
ZG dd deZdS )    )annotations)AnyN)Base)expectz	list[Any]z
np.ndarray)sequencetensorpositionreturnc                 C  s4   t | }|d k	r&|d }||| n
|| |S )Nr   )listinsertappend)r   r   r   seqZinsert_position r   N/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/sequenceinsert.py(sequence_insert_reference_implementation   s    
r   c                   @  s   e Zd ZeddddZdS )SequenceInsertNone)r	   c                  C  s@  t dddgt jgt dddgt dgt jgd} t dd	d
dgt jt dddgt jt ddgt jg}|  D ]\}}|d t j}t|dkrtjjddddgdgd}|d }t	|||}t
||||g|gd| d qtjjdddgdgd}t	||}t
|||g|gd| d qd S )N
         r   )Zat_backZat_front                        	   r   r   r   r   Zoutput_sequence)inputsoutputsZtest_sequence_insert_)r!   r"   name)nparrayZastypeZint64itemslenonnxhelperZ	make_noder   r   )Z
test_casesr   Z	test_nameZtest_inputsr   noder   Zinsertedr   r   r   export    sN    "  
zSequenceInsert.exportN)__name__
__module____qualname__staticmethodr+   r   r   r   r   r      s   r   )N)
__future__r   typingr   Znumpyr$   r(   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.noder   r   r   r   r   r   r   <module>   s    