U
    qh@                     @  s4   d dl mZ d dlZd dlmZ G dd deZdS )    )annotationsN)OpRunc                   @  s   e Zd Zdd ZdddZdS )ConstantOfShapec                 C  s   t | || t| jtjr&| jd n| j| _t| jtrJt| j| _n2t| jt	rft
| j| _n| jd kr|td| _d S )Nr   )r   __init__
isinstancevaluenpZndarraycstintZint64floatZfloat64Zfloat32)selfZ	onnx_nodeZ
run_params r   K/tmp/pip-unpacked-wheel-xnis5xre/onnx/reference/ops/op_constant_of_shape.pyr      s    
zConstantOfShape.__init__Nc                 C  s`   zt t|| j}W nB tk
rX } z$td|d| jd|d|W 5 d }~X Y nX |fS )Nz%Unable to create a constant of shape z with value z (raw value=z).)r   fulltupler	   	TypeErrorRuntimeError)r   datar   reser   r   r   _run   s    zConstantOfShape._run)N)__name__
__module____qualname__r   r   r   r   r   r   r      s   r   )
__future__r   Znumpyr   Zonnx.reference.op_runr   r   r   r   r   r   <module>   s   