U
    q±Ëh  ã                   @  s,   d dl mZ d dlmZ G dd„ deƒZdS )é    )Úannotations)ÚOpRunc                   @  s   e Zd Zddd„ZdS )ÚReverseSequenceNc           
      C  s†   dd„ |j D ƒ}dd„ |j D ƒ}| ¡ }t|ƒD ]N\}}	|||< td|	ƒ||< |||< t|	d d dƒ||< |t|ƒ |t|ƒ< q0|fS )Nc                 S  s   g | ]}t d |ƒ‘qS ©r   ©Úslice©Ú.0Ús© r   úJ/tmp/pip-unpacked-wheel-xnis5xre/onnx/reference/ops/op_reverse_sequence.pyÚ
<listcomp>   s     z(ReverseSequence._run.<locals>.<listcomp>c                 S  s   g | ]}t d |ƒ‘qS r   r   r   r   r   r   r      s     r   é   éÿÿÿÿ)ÚshapeÚcopyÚ	enumerater   Útuple)
ÚselfÚdataZsequence_lensZ
batch_axisZ	time_axisÚindexZ
index_dataÚresultÚiÚslr   r   r   Ú_run
   s    zReverseSequence._run)NN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   	   s   r   N)Ú
__future__r   Zonnx.reference.op_runr   r   r   r   r   r   Ú<module>   s   