§
    2�Åjx  ã                  ó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                óz  — 	 t          | j        ¦  «        dk    r.t          |j        ¦  «        dk    rt          j        | |¦  «        }nt          j        | |¦  «        }n3# t
          $ r&}t          d| j        ›d|j        ›d�¦  «        |‚d}~ww xY w|j        | j        k    r|                     | j        ¦  «        }|S )zUImplements a matmul product. See :func:`np.matmul`.
    Handles sparse matrices.
    é   zUnable to multiply shapes z, ú.N)ÚlenÚshapeÚnpÚdotÚmatmulÚ
ValueErrorÚdtypeÚastype)ÚaÚbÚresÚes       úMC:\Projects\Historical\venv\Lib\site-packages\onnx/reference/ops/op_matmul.pyÚnumpy_matmulr      sÃ   € ðXÝˆqŒw‰<Œ<˜1ÒÐ¥ Q¤W¡¤°Ò!2Ð!2Ý”&˜˜A‘,”,ˆCˆCå”)˜A˜q‘/”/ˆCøøÝð Xð Xð XÝÐO°a´gÐOÐOÀ1Ä7ÐOÐOÐOÑPÔPÐVWÐWøøøøðXøøøð „y�A”GÒÐØ�jŠj˜œÑ!Ô!ˆØ€Js   ‚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#      sz   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à 1Ð 1Ð 1Ð 1Ð 1Ð 1ðð ð ð$%ð %ð %ð %ð %ˆ^ñ %ô %ð %ð %ð %r   