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                   @  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 )
FlattenNone)returnc                  C  s   d} t j| t j}tt| D ]l}tjj	ddgdg|d}|dkrLdnt 
| d| tdf}t ||}t||g|gd	t| d
 q$d S )N            r   abinputsoutputsZaxisr   )   r   Ztest_flatten_axisr   r   name)nprandomrandom_sampleastypefloat32rangelenonnxhelper	make_nodeprodintreshaper   strshaper   inode	new_shaper    r)   G/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/flatten.pyexport   s    (zFlatten.exportc                  C  sV   t jjddgdgd} d}tj|tj}d}t||}t	| |g|gdd d S )	Nr   r   r   )r   r   )r   r   r
   r	   )r      Ztest_flatten_default_axisr   )
r   r   r   r   r   r   r   r   r"   r   )r'   r%   r   r(   r   r)   r)   r*    export_flatten_with_default_axis   s    z(Flatten.export_flatten_with_default_axisc               	   C  s   d} t j| t j}tt|  dD ]d}tjj	ddgdg|d}t 
| d| tdf}t ||}t||g|gdtt| d	 q(d S )
Nr   r   r   r   r   r   r   Ztest_flatten_negative_axisr   )r   r   r   r   r   r   r   r   r   r   r    r!   r"   r   r#   absr$   r)   r)   r*   export_flatten_negative_axis-   s"    z$Flatten.export_flatten_negative_axisN)__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
   