o
    wi                     @  s<   d dl mZ d dlZd dlmZ dd ZG dd deZdS )    )annotationsN)OpRunBinaryNumc              
   C  sn   zt | jdkrt |jdkrt| |W S t| |W S  ty6 } ztd| jd|jd|d}~ww )zUImplements a matmul product. See :func:`np.matmul`.
    Handles sparse matrices.
       zUnable to multiply shapes z, .N)lenshapenpdotmatmul
ValueError)abe r   Y/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/onnx/reference/ops/op_matmul.pynumpy_matmul   s   r   c                   @  s   e Zd Zdd ZdS )MatMulc                 C  s   t ||fS )N)r   )selfr   r   r   r   r   _run   s   zMatMul._runN)__name__
__module____qualname__r   r   r   r   r   r      s    r   )
__future__r   numpyr   onnx.reference.ops._opr   r   r   r   r   r   r   <module>   s
   