U
    qhm                     @  s@   d dl mZ d dlZd dlmZ d dlmZ G dd deZdS )    )annotationsN)OpRun)_conv_implementationc                   @  s   e Zd ZdddZdS )ConvIntegerNc              
   C  s   t |jdk r td|j d|p(| j}|p2| j}|p<| j}|pF| j}|	pP| j}	|
pZ| j}
|	t
j}|rt||8 }|	t
j}|r||8 }t||d |||||	|
		t
jfS )N   z3X must have at least 3 dimensions but its shape is .)lenshape
ValueErrorauto_pad	dilationsgroupkernel_shapepadsstridesZastypenpZint32r   )selfXWZx_zero_pointZw_zero_pointr   r   r   r   r   r    r   F/tmp/pip-unpacked-wheel-xnis5xre/onnx/reference/ops/op_conv_integer.py_run   s<    





        zConvInteger._run)NNNNNNNN)__name__
__module____qualname__r   r   r   r   r   r      s           r   )	
__future__r   Znumpyr   Zonnx.reference.op_runr   Zonnx.reference.ops.op_convr   r   r   r   r   r   <module>   s   