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                   @  sx   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	dS )	ReduceMaxNone)returnc               	   C  s  dddg} t jdgt jd}d}tjjdddgd	g|d
}t jddgddggddgddggddgddgggt jd}t jj|t	||dkd}t
|||g|gdtjddgd t jd t jdd| t j}t jj|t	||dkd}t
|||g|gdtjddgd d S )N         Zdtyper   r   dataaxesreducedinputsoutputskeepdims         (   7   <   Zaxisr   Z'test_reduce_max_do_not_keepdims_example    r   r   nameZopset_imports
   Z&test_reduce_max_do_not_keepdims_randomnparrayint64onnxhelper	make_nodefloat32maximumreducetupler   make_opsetidrandomseeduniformastypeshaper   r   noder   r    r3   I/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/reducemax.pyexport_do_not_keepdims   s>    
,z ReduceMax.export_do_not_keepdimsc               	   C  s  dddg} t jdgt jd}d}tjjdddgdg|d	}t jd
dgddggddgddggddgddgggt jd}t jj|t	||dkd}t
|||g|gdtjddgd t jd t jdd| t j}t jj|t	||dkd}t
|||g|gdtjddgd d S )Nr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   Z test_reduce_max_keepdims_exampler   r   r   r   r   r   Ztest_reduce_max_keepdims_randomr    r0   r3   r3   r4   export_keepdims9   s>    
,zReduceMax.export_keepdimsc               	   C  s   dddg} d }d}t jjddgdg|d}tjddgd	dggd
dgddggddgddgggtjd}tjj|||dkd}t||g|gdt j	ddgd tj
d tj
dd| tj}tjj|||dkd}t||g|gdt j	ddgd d S )Nr   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Z,test_reduce_max_default_axes_keepdim_exampler   r   r   r   r   r   Z,test_reduce_max_default_axes_keepdims_random)r$   r%   r&   r!   r"   r'   r(   r)   r   r+   r,   r-   r.   r/   r0   r3   r3   r4   export_default_axes_keepdimsd   s>    
   ,z&ReduceMax.export_default_axes_keepdimsc               	   C  s  dddg} t jdgt jd}d}tjjdddgd	g|d
}t jddgddggddgddggddgddgggt jd}t jj|t	||dkd}t
|||g|gdtjddgd t jd t jdd| t j}t jj|t	||dkd}t
|||g|gdtjddgd d S )Nr   r	   r   r
   r   r   r   r   r   r   r   r   r   r   r   r   Z.test_reduce_max_negative_axes_keepdims_exampler   r   r   r   r   r   Z-test_reduce_max_negative_axes_keepdims_randomr    r0   r3   r3   r4   export_negative_axes_keepdims   s>    
,z'ReduceMax.export_negative_axes_keepdimsc                  C  s   t jdgt jd} d}tjjdddgdg|d}t ddgdd	gd	dgd	d	gg}t jj|t| t	|d
}t
||| g|gdd d S )Nr
   r   r   r   r   r   r   TFr   Ztest_reduce_max_bool_inputsr   r   r   )r!   r"   r#   r$   r%   r&   r(   r)   r*   boolr   )r   r   r2   r   r   r3   r3   r4   export_bool_inputs   s$    zReduceMax.export_bool_inputsc            	      C  s   dddg} d}dddg}t jjdddgdg|d	}tjg tjd
| }tjdgtjd
}ttj|tjd
}ttj	|tjd
}||  }t
|||g|gdd d S )Nr	   r      r
   r   r   r   r   r   r   Ztest_reduce_max_empty_setr:   )r$   r%   r&   r!   r"   r'   Zreshaper#   Zoneszerosr   )	r1   r   Zreduced_shaper2   r   r   ZoneZzeror   r3   r3   r4   export_empty_set   s(    


zReduceMax.export_empty_setN)
__name__
__module____qualname__staticmethodr5   r6   r7   r9   r<   r?   r3   r3   r3   r4   r      s   **"*r   )

__future__r   Znumpyr!   r$   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.noder   r   r3   r3   r3   r4   <module>   s
   