o
    wi                     @  sH   d dl mZ d dlZd dlZd dlmZ d dlmZ G dd deZ	dS )    )annotationsN)Base)expectc                   @  s   e Zd ZedddZdS )QLinearMatMulreturnNonec                  C  s  dD ]} t t| }dD ]}t t|}tjjdg ddgd}tg dg dg}|tjkr4|d	8 }||}tjd
g|d}tj|tjkrKdgndg|d}tg dg dg dg dg}|tjkrk|d	8 }||}tjdg|d}	tj|tjkrdgndg|d}
tjdg|d}tj|tjkrdgndg|d}|tjkrtg dg dg}ntg dg dg}||}t||||||	|
||g|gd|  d| d tg dg dgg dg dgg}|tjkr|d	8 }||}tjd
g|d}tj|tjkrdgndg|d}tg dg dg dg dgg dg dg dg dgg}|tjkr;|d	8 }||}tjdg|d}	tjdg|d}
tjdg|d}tj|tjkrcdgndg|d}|tjkr|tj	krtg dg d gg dg d gg}n'tg d!g d gg d!g d gg}ntg dg dgg dg dgg}||}t||||||	|
||g|gd"|  d| d qqd S )#N)uint8int8)float32float16r   )aa_scalea_zero_pointbb_scaleb_zero_pointy_scaley_zero_pointy)inputsoutputs)      r      )               gF%u{?)dtypeiq   )   3      )<      r   )r   r      )r         g!u|?ir   g'?v   ))   ir*   )   i   )   s   r   )r-   B      test_qlinearmatmul_2D__)r   r   name)u   x   )r0   '   i)r6   t   w   test_qlinearmatmul_3D_)
getattrnponnxhelper	make_nodearrayr	   astyper   r
   )quant_type_name
quant_type
dtype_namer   noder   r   r   r   r   r   r   r   output rI   f/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/onnx/backend/test/case/node/qlinearmatmul.py
export_int   s   
















zQLinearMatMul.export_intN)r   r   )__name__
__module____qualname__staticmethodrK   rI   rI   rI   rJ   r      s    r   )

__future__r   numpyr>   r?   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   rI   rI   rI   rJ   <module>   s   