U
    rhE.                     @  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                   @  s   e Zd ZeddddZeddddZeddddZeddd	d
ZeddddZeddddZ	eddddZ
eddddZeddddZeddddZdS )SplitNone)returnc               	   C  s"  t ddddddgt j} tjjddgd	d
dgdd}t ddgt jt ddgt jt ddgt jg}t|| g|dtjddgd t ddgt j	}tjjdddgd	d
gdd}t ddgt jt ddddgt jg}t|| |g|dtjddgd d S )N      ?       @      @      @      @      @r   inputoutput_1output_2output_3r   inputsoutputsaxisZ!test_split_equal_parts_1d_opset13    r   r   nameZopset_imports      splitZ$test_split_variable_parts_1d_opset13
nparrayastypefloat32onnxhelper	make_noder   make_opsetidint64
node_inputnodeexpected_outputsr    r+   E/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/split.pyexport_1d_opset13   sF    zSplit.export_1d_opset13c               	   C  sH  t ddddddgddd	d
ddggt j} tjjddgddgdd}t dddgddd	ggt jt dddgd
ddggt jg}t|| g|dtjddgd t ddgt j	}tjjdddgddgdd}t ddgddggt jt ddddgd	d
ddggt jg}t|| |g|dtjddgd d S )Nr   r	   r
   r   r   r         @       @      "@      $@      &@      (@r   r   r   r      r   Z!test_split_equal_parts_2d_opset13r   r   r   r   r   r   Z$test_split_variable_parts_2d_opset13r   r'   r+   r+   r,   export_2d_opset13:   sP         zSplit.export_2d_opset13c               	   C  s  t ddddddgt j} tjjddgd	d
dgd}t ddgt jt ddgt jt ddgt jg}t|| g|dtjddgd t ddgt j	}tjjdddgd	d
gd}t ddgt jt ddddgt jg}t|| |g|dtjddgd d S )Nr   r	   r
   r   r   r   r   r   r   r   r   r   r   Z+test_split_equal_parts_default_axis_opset13r   r   r   r   r   r   Z.test_split_variable_parts_default_axis_opset13r   r'   r+   r+   r,   export_default_values_opset13h   sB        z#Split.export_default_values_opset13c               	   C  s   t g t j} t dddgt j}tjjdddgdddgd}t g t jt g t jt g t jg}t|| |g|d	tj	d
dgd d S )Nr   r   r   r   r   r   r   r6   Z#test_split_zero_size_splits_opset13r   r   r   )
r   r   r    r!   r&   r"   r#   r$   r   r%   r(   r   r)   r*   r+   r+   r,   export_zero_size_splits_opset13   s$    z%Split.export_zero_size_splits_opset13c                  C  s  t ddddddgt j} tjjddgd	d
dgddd}t ddgt jt ddgt jt ddgt jg}t|| g|dd t ddgt j}tjjdddgd	d
gdd}t ddgt jt ddddgt jg}t|| |g|dd d S )Nr   r	   r
   r   r   r   r   r   r   r   r   r      r   r   r   num_outputsZ!test_split_equal_parts_1d_opset18r   r   r   r   r   r   r   Z$test_split_variable_parts_1d_opset18	r   r   r    r!   r"   r#   r$   r   r&   r'   r+   r+   r,   export_1d_opset18   sD    	zSplit.export_1d_opset18c               	   C  s.  t ddddddgddd	d
ddggt j} tjjddgddgddd}t dddgddd	ggt jt dddgd
ddggt jg}t|| g|dd t ddgt j}tjjdddgddgdd}t ddgddggt jt ddddgd	d
ddggt jg}t|| |g|dd d S )Nr   r	   r
   r   r   r   r.   r/   r0   r1   r2   r3   r   r   r   r   r4   r   r;   Ztest_split_equal_parts_2dr=   r   r   r   Z$test_split_variable_parts_2d_opset18r>   r'   r+   r+   r,   export_2d_opset18   sN    	  zSplit.export_2d_opset18c                  C  s  t ddddddgt j} tjjddgd	d
dgdd}t ddgt jt ddgt jt ddgt jg}t|| g|dd t ddgt j}tjjdddgd	d
gd}t ddgt jt ddddgt jg}t|| |g|dd d S )Nr   r	   r
   r   r   r   r   r   r   r   r   r:   r   r   r<   Z+test_split_equal_parts_default_axis_opset18r=   r   r   r   r6   Z.test_split_variable_parts_default_axis_opset18r>   r'   r+   r+   r,   export_default_values_opset18  s@      z#Split.export_default_values_opset18c                  C  s   t g t j} t dddgt j}tjjdddgdddgd}t g t jt g t jt g t jg}t|| |g|d	d
 d S )Nr   r   r   r   r   r   r   r6   Z#test_split_zero_size_splits_opset18r=   )	r   r   r    r!   r&   r"   r#   r$   r   r8   r+   r+   r,   export_zero_size_splits_opset18,  s"    z%Split.export_zero_size_splits_opset18c               	   C  s   t dddddddgt j} tjjdd	gd
dddgdd}t ddgt jt ddgt jt ddgt jt dgt jg}t|| g|dd d S )Nr   r	   r
   r   r   r   r.   r   r   r   r   r   Zoutput_4r   rA   Z"test_split_1d_uneven_split_opset18r=   r   r   r    r!   r"   r#   r$   r   r(   r)   r*   r+   r+   r,   export_1d_uneven_split_opset18E  s$     
z$Split.export_1d_uneven_split_opset18c                  C  s   t ddddddddgd	d
ddddddggt j} tjjddgdddgddd}t dddgd	d
dggt jt dddgdddggt jt ddgddggt jg}t|| g|dd d S )Nr   r	   r
   r   r   r   r.   r/   r0   r1   r2   r3   g      *@g      ,@g      .@g      0@r   r   r   r   r   r4   r:   r;   Z"test_split_2d_uneven_split_opset18r=   rD   rE   r+   r+   r,   export_2d_uneven_split_opset18^  s0    	  z$Split.export_2d_uneven_split_opset18N)__name__
__module____qualname__staticmethodr-   r5   r7   r9   r?   r@   rB   rC   rF   rG   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
   