U
    qh                     @  sD   d dl mZ d dlZd dlmZ G dd deZG dd deZdS )    )annotationsN)OpRunReduceNumpyc                   @  s   e Zd ZdddZdS )ReduceProd_1Nc                 C  sL   |d k	rt |nd }tj||||jd}|dkrFt|tjsFt|}|fS )NZaxiskeepdimsdtyper   )tuplenpprodr   
isinstancendarrayarray)selfdataaxesr   res r   E/tmp/pip-unpacked-wheel-xnis5xre/onnx/reference/ops/op_reduce_prod.py_run   s
    
zReduceProd_1._run)NN__name__
__module____qualname__r   r   r   r   r   r      s   r   c                   @  s   e Zd ZdddZdS )ReduceProd_18N   r   c                 C  sZ   |  |r|r|fS | |}|dk}tj||||jd}|sTt|tjsTt|}|fS )Nr   r   )Zis_axes_emptyZhandle_axesr	   r
   r   r   r   r   )r   r   r   r   Znoop_with_empty_axesr   r   r   r   r      s    

zReduceProd_18._run)Nr   r   r   r   r   r   r   r      s   r   )
__future__r   Znumpyr	   Zonnx.reference.ops._opr   r   r   r   r   r   r   <module>   s   
