U
    rhk                     @  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dZeddddZeddddZeddd	d
ZeddddZeddddZ	eddddZ
eddddZeddddZeddddZeddddZeddddZeddddZdS )ModNone)returnc                  C  s|   t jjdddgdgdd} tddd	d
ddgtj}tdddddd	gtj}t||}t| ||g|gdd d S )Nr   xyz   inputsoutputsfmod333333@      @333333@       @ @333333 333333@Ztest_mod_mixed_sign_float64r   r   name)	onnxhelper	make_nodenparrayastypeZfloat64r   r   noder   r	   r
    r$   C/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/mod.pyexport_mod_mixed_sign_float64   s
    z!Mod.export_mod_mixed_sign_float64c                  C  s|   t jjdddgdgdd} tddd	d
ddgtj}tdddddd	gtj}t||}t| ||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Ztest_mod_mixed_sign_float32r   )	r   r   r   r   r    r!   Zfloat32r   r   r"   r$   r$   r%   export_mod_mixed_sign_float32   s     z!Mod.export_mod_mixed_sign_float32c                  C  s|   t jjdddgdgdd} tddd	d
ddgtj}tdddddd	gtj}t||}t| ||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Ztest_mod_mixed_sign_float16r   )	r   r   r   r   r    r!   Zfloat16r   r   r"   r$   r$   r%   export_mod_mixed_sign_float16"   s     z!Mod.export_mod_mixed_sign_float16c                  C  sz   t jjdddgdgd} tdddd	d
dgtj}tddddddgtj}t||}t| ||g|gdd d S )Nr   r   r	   r
   r   r                     Ztest_mod_mixed_sign_int64r   )	r   r   r   r   r    r!   int64modr   r"   r$   r$   r%   export_mod_mixed_sign_int64-   s    zMod.export_mod_mixed_sign_int64c                  C  sz   t jjdddgdgd} tdddd	d
dgtj}tddddddgtj}t||}t| ||g|gdd d S )Nr   r   r	   r
   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   Ztest_mod_mixed_sign_int32r   )	r   r   r   r   r    r!   int32r5   r   r"   r$   r$   r%   export_mod_mixed_sign_int32:   s    zMod.export_mod_mixed_sign_int32c                  C  sz   t jjdddgdgd} tdddd	d
dgtj}tddddddgtj}t||}t| ||g|gdd d S )Nr   r   r	   r
   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   Ztest_mod_mixed_sign_int16r   )	r   r   r   r   r    r!   Zint16r5   r   r"   r$   r$   r%   export_mod_mixed_sign_int16G   s    zMod.export_mod_mixed_sign_int16c                  C  sz   t jjdddgdgd} tdddd	d
dgtj}tddddddgtj}t||}t| ||g|gdd d S )Nr   r   r	   r
   r)   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   Ztest_mod_mixed_sign_int8r   )	r   r   r   r   r    r!   Zint8r5   r   r"   r$   r$   r%   export_mod_mixed_sign_int8T   s    zMod.export_mod_mixed_sign_int8c                  C  sn   t jjdddgdgd} tdddgtj}td	d
dgtj}t||}t| ||g|gdd d S )Nr   r   r	   r
   r)   r-   r+   r,   r0   r3   r/   Ztest_mod_uint8r   )	r   r   r   r   r    r!   Zuint8r5   r   r"   r$   r$   r%   export_mod_uint8a   s    zMod.export_mod_uint8c                  C  sn   t jjdddgdgd} tdddgtj}td	d
dgtj}t||}t| ||g|gdd d S )Nr   r   r	   r
   r)   r-   r+   r,   r0   r3   r/   Ztest_mod_uint16r   )	r   r   r   r   r    r!   Zuint16r5   r   r"   r$   r$   r%   export_mod_uint16n   s    zMod.export_mod_uint16c                  C  sn   t jjdddgdgd} tdddgtj}td	d
dgtj}t||}t| ||g|gdd d S )Nr   r   r	   r
   r)   r-   r+   r,   r0   r3   r/   Ztest_mod_uint32r   )	r   r   r   r   r    r!   Zuint32r5   r   r"   r$   r$   r%   export_mod_uint32{   s    zMod.export_mod_uint32c                  C  sn   t jjdddgdgd} tdddgtj}td	d
dgtj}t||}t| ||g|gdd d S )Nr   r   r	   r
   r)   r-   r+   r,   r0   r3   r/   Ztest_mod_uint64r   )	r   r   r   r   r    r!   Zuint64r5   r   r"   r$   r$   r%   export_mod_uint64   s    zMod.export_mod_uint64c                  C  s|   t jjdddgdgdd} tddd	d
ddgtj}tdddddd	gtj}t||}t| ||g|gdd d S )Nr   r   r	   r
   r   r   r*   r+   r,   r-   r.   r/   r0   r1   r2   r3   Ztest_mod_int64_fmodr   )	r   r   r   r   r    r!   r4   r   r   r"   r$   r$   r%   export_mod_int64_fmod   s
    zMod.export_mod_int64_fmodc                  C  sr   t jjdddgdgd} tdddd	d
gtj}tdgtj}t	||}t
| ||g|gdd d S )Nr   r   r	   r
   r)   r      r3   r0   r,   r+   Ztest_mod_broadcastr   )r   r   r   r   ZarangeZreshaper!   r7   r    r5   r   r"   r$   r$   r%   export_mod_broadcast   s     	zMod.export_mod_broadcastN)__name__
__module____qualname__staticmethodr&   r'   r(   r6   r8   r9   r:   r;   r<   r=   r>   r?   rA   r$   r$   r$   r%   r      s4   

r   )

__future__r   Znumpyr   r   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.noder   r   r$   r$   r$   r%   <module>   s
   