U
    rh                     @  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dS )SliceNone)returnc                  C  s   t jjddddddgdgd} tjd	d
dtj}|dddd
f }tjddgtj	d}tjdd
gtj	d}tjddgtj	d}tjddgtj	d}t
| |||||g|gdd d S )Nr   xstartsendsaxesstepsyinputsoutputs   
      r      Zdtype   Z
test_slicer   r   nameonnxhelperZ	make_nodenprandomZrandnZastypeZfloat32arrayZint64r   )noder   r   r	   r
   r   r    r    E/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/slice.pyexport_slice   s"       zSlice.export_slicec                  C  s   t jjddddddgdgd} tjd	d
dtj}tjdgtj	d}tjdgtj	d}tjdgtj	d}tjdgtj	d}|d d ddf }t
| |||||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   Ztest_slice_negr   r   r   r   r	   r
   r   r   r   r    r    r!   export_slice_neg!   s"    zSlice.export_slice_negc                  C  s   t jjddddddgdgd} tjd	d
dtj}tjdgtj	d}tjdgtj	d}tjdgtj	d}tjdgtj	d}|d d ddf }t
| |||||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r     r   r   Ztest_slice_start_out_of_boundsr   r   r$   r    r    r!    export_slice_start_out_of_bounds7   s"    z&Slice.export_slice_start_out_of_boundsc                  C  s   t jjddddddgdgd} tjd	d
dtj}tjdgtj	d}tjdgtj	d}tjdgtj	d}tjdgtj	d}|d d ddf }t
| |||||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r   r   r   r&   Ztest_slice_end_out_of_boundsr   r   r$   r    r    r!   export_slice_end_out_of_boundsM   s"    z$Slice.export_slice_end_out_of_boundsc                  C  s   t jjddddgdgd} tjddd	tj}tjd
d
dgtj	d}tjdddgtj	d}|d d d d ddf }t
| |||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r   r      Ztest_slice_default_axesr   r   )r   r   r	   r
   r   r    r    r!   export_slice_default_axesc   s       zSlice.export_slice_default_axesc                  C  s   t jjdddddgdgd} tjdd	d
tj}tjdddgtj	d}tjdd	dgtj	d}tjdddgtj	d}|d d d d ddf }t
| ||||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r   r   r   r)   r      Ztest_slice_default_stepsr   r   r   r   r	   r
   r   r   r    r    r!   export_slice_default_stepst   s     

z Slice.export_slice_default_stepsc                  C  s   t jjddddddgdgd} tjd	d
dtj}tjd	d
dgtj	d}tjdddgtj	d}tjdddgtj	d}tdddgtj	}|d	ddd
dddddf }t
| |||||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r   r)   r   r   r   r+   r#   Ztest_slice_neg_stepsr   r   r$   r    r    r!   export_slice_neg_steps   s"     zSlice.export_slice_neg_stepsc                  C  s   t jjdddddgdgd} tjdd	d
tj}tjdddgtj	d}tjdd	dgtj	d}tjdddgtj	d}|d d d d ddf }t
| ||||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r   r   r   r)   r/   r#   Ztest_slice_negative_axesr   r   r,   r    r    r!   export_slice_negative_axes   s     

z Slice.export_slice_negative_axesN)__name__
__module____qualname__staticmethodr"   r%   r'   r(   r*   r-   r0   r1   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
   