
    bIg                    @    d dl mZ d dlZd dlmZ d Z G d de      Zy)    )annotationsN)OpRunBinaryNumc                ,   	 t        | j                        dk  r.t        |j                        dk  rt        j                  | |      S t        j                  | |      S # t
        $ r,}t        d| j                  d|j                  d      |d}~ww xY 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es      Y/var/www/html/answerous/venv/lib/python3.12/site-packages/onnx/reference/ops/op_matmul.pynumpy_matmulr      s    Xqww<1QWW!266!Q<yyA X5agg[177+QOPVWWXs   AA A 	B''BBc                      e Zd Zd Zy)MatMulc                    t        ||      fS )N)r   )selfr   r   s      r   _runzMatMul._run   s    Q"$$    N)__name__
__module____qualname__r    r   r   r   r      s    %r   r   )
__future__r   numpyr
   onnx.reference.ops._opr   r   r   r   r   r   <module>r       s"    #  1	X%^ %r   