o
    wi                     @  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 urt |nd }tj||||jd}|dkr#t|tjs#t|}|fS )Naxiskeepdimsdtyper   )tuplenpprodr   
isinstancendarrayarray)selfdataaxesr   res r   ^/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/onnx/reference/ops/op_reduce_prod.py_run   s
   
zReduceProd_1._run)NN__name__
__module____qualname__r   r   r   r   r   r          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}|s*t|tjs*t|}|fS )Nr   r   )is_axes_emptyhandle_axesr
   r   r   r   r   r   )r   r   r   r   noop_with_empty_axesr   r   r   r   r      s   

zReduceProd_18._run)Nr   r   r   r   r   r   r   r      r   r   )
__future__r   numpyr
   onnx.reference.ops._opr   r   r   r   r   r   r   <module>   s
   
