U
    rhA	                     @  sH   d dl mZ d dlZd dlZd dlmZ d dlmZ G dd deZ	dS )    )annotationsN)Base)expectc                   @  sB   e Zd ZeddddZeddddZeddddZd	S )
IdentityNone)returnc                  C  sN   t jjddgdgd} tjddgddggggtjd	}t| |g|gd
d d S )Nr   xyinputsoutputs            ZdtypeZtest_identityr   r   nameonnxhelper	make_nodenparrayfloat32r   nodedata r   H/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/identity.pyexport   s    zIdentity.exportc                  C  sn   t jjddgdgd} tjddgddggggtjd	tjddgdd
ggggtjd	g}t| |g|gdd d S )Nr   r   r	   r
   r   r   r   r   r      Ztest_identity_sequencer   r   r   r   r   r   export_sequence$   s.    zIdentity.export_sequencec               	   C  s   t jjt jjdgd} t j| }t j|}t jjddgdgd}t	ddd	d
dg
tjg}t||g|gdt jddg|g|gd d S )Nr!   )shaper   Zopt_inZopt_outr
   r   r   r   r   Ztest_identity_opt    )r   r   r   Zopset_importsZinput_type_protosZoutput_type_protos)r   r   Zmake_tensor_type_protoZTensorProtoFLOATZmake_sequence_type_protoZmake_optional_type_protor   r   r   Zastyper   r   Zmake_opsetid)Z	ten_in_tpZ	seq_in_tpZ	opt_in_tpZidentity_noder   r   r   r   export_identity_optG   s*       zIdentity.export_identity_optN)__name__
__module____qualname__staticmethodr    r"   r'   r   r   r   r   r      s   "r   )

__future__r   Znumpyr   r   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.noder   r   r   r   r   r   <module>   s
   