
    wi                    H    d dl mZ d dlZd dlmZ d Z G d de          ZdS )    )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      l/root/.openclaw/workspace/chatterbox_venv_py311/lib/python3.11/site-packages/onnx/reference/ops/op_matmul.pynumpy_matmulr      s    Xqw<<1QW!2!26!Q<<yA X X XOagOO17OOOPPVWWXs   AA A 
B&!BBc                      e Zd Zd ZdS )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 1 1 1 1 1	X 	X 	X% % % % %^ % % % % %r   