§
    1�ÅjŸ%  ã                  óV   — 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e¦  «        Z	dS )é    )ÚannotationsN)ÚBase)Úexpectc                  ó¦  — e Zd Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Z	edd	„¦   «         Z
edd
„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         ZdS )ÚModÚreturnÚNonec                 ót  — t           j                             dddgdgd¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd	¬
¦  «         d S )Nr   ÚxÚyÚzé   ©ÚinputsÚoutputsÚfmod©g333333ÀgÍÌÌÌÌÌ@ç      @g333333@gÍÌÌÌÌÌÀç       @©gÍÌÌÌÌÌ @g333333Àr   gÍÌÌÌÌÌ Àg333333@r   Útest_mod_mixed_sign_float64©r   r   Úname)	ÚonnxÚhelperÚ	make_nodeÚnpÚarrayÚastypeÚfloat64r   r   ©Únoder   r   r   s       úPC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/mod.pyÚexport_mod_mixed_sign_float64z!Mod.export_mod_mixed_sign_float64   s¦   € åŒ{×$Ò$ U°C¸°:ÈÀuÐSTÐ$ÑUÔUˆåŒHÐ5Ð5Ð5Ñ6Ô6×=Ò=½b¼jÑIÔIˆÝŒHÐ5Ð5Ð5Ñ6Ô6×=Ò=½b¼jÑIÔIˆÝŒG�A�q‰MŒMˆÝˆt˜Q ˜F¨Q¨CÐ6SÐTÑTÔTÐTÐTÐTó    c                 ót  — t           j                             dddgdgd¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd	¬
¦  «         d S )Nr   r   r   r   r   r   r   r   Útest_mod_mixed_sign_float32r   )	r   r   r   r   r   r   Úfloat32r   r   r!   s       r#   Úexport_mod_mixed_sign_float32z!Mod.export_mod_mixed_sign_float32   ó¯   € åŒ{×$Ò$ U°C¸°:ÈÀuÐSTÐ$ÑUÔUˆåŒHÐ5Ð5Ð5Ñ6Ô6×=Ò=½b¼jÑIÔIˆÝŒHÐ5Ð5Ð5Ñ6Ô6×=Ò=½b¼jÑIÔIˆÝŒGØˆqñ
ô 
ˆõ 	ˆt˜Q ˜F¨Q¨CÐ6SÐTÑTÔTÐTÐTÐTr%   c                 ót  — t           j                             dddgdgd¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd	¬
¦  «         d S )Nr   r   r   r   r   r   r   r   Útest_mod_mixed_sign_float16r   )	r   r   r   r   r   r   Úfloat16r   r   r!   s       r#   Úexport_mod_mixed_sign_float16z!Mod.export_mod_mixed_sign_float16"   r*   r%   c                 ót  — t           j                             dddgdgd¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd	¬
¦  «         d S )Nr   r   r   r   r   r   r   r   Ú"test_mod_float64_mixed_sign_fmod_0r   )	r   r   r   r   r   r   r    Úmodr   r!   s       r#   Ú$export_mod_mixed_sign_float64_fmod_0z(Mod.export_mod_mixed_sign_float64_fmod_0-   ó³   € åŒ{×$Ò$ U°C¸°:ÈÀuÐSTÐ$ÑUÔUˆåŒHÐ5Ð5Ð5Ñ6Ô6×=Ò=½b¼jÑIÔIˆÝŒHÐ5Ð5Ð5Ñ6Ô6×=Ò=½b¼jÑIÔIˆÝŒF�1�a‰LŒLˆÝØ˜!˜Q˜¨!¨Ð3Wð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r%   c                 ót  — t           j                             dddgdgd¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd	¬
¦  «         d S )Nr   r   r   r   r   r   r   r   Ú"test_mod_float32_mixed_sign_fmod_0r   )	r   r   r   r   r   r   r(   r1   r   r!   s       r#   Ú$export_mod_mixed_sign_float32_fmod_0z(Mod.export_mod_mixed_sign_float32_fmod_08   r3   r%   c                 ót  — t           j                             dddgdgd¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd	¬
¦  «         d S )Nr   r   r   r   r   r   r   r   Ú"test_mod_float16_mixed_sign_fmod_0r   )	r   r   r   r   r   r   r-   r1   r   r!   s       r#   Ú$export_mod_mixed_sign_float16_fmod_0z(Mod.export_mod_mixed_sign_float16_fmod_0C   r3   r%   c                 ó®  — t           j        t           j        t           j        fD �]¯} t          j                             dddgdgd¬¦  «        }t          j        ddddd	d
ddt           j        t           j         ddt           j	        dg| ¬¦  «        }t          j        ddddt           j        t           j        t           j         t           j         dddddt           j	        g| ¬¦  «        }t          j
        dd¬¦  «        5  t          j        ||¦  «        }d d d ¦  «         n# 1 swxY w Y   t           j                             t          j        |d d…         ¦  «        g d¢¦  «         t           j                             t          j        |dd …         ¦  «        g d¢¦  «         t!          |||g|gdt          j        | ¦  «        j        › �¬¦  «         �Œ±d S )Nr   r   r   r   r   r   g        g       €g      Àg      @g      ð¿g      ð?)Údtypeg       Àg       @Úignore)ÚdivideÚinvalidé   )TFFTé   )TTTTTTÚ!test_mod_float_edge_cases_fmod_0_r   )r   r-   r(   r    r   r   r   r   ÚinfÚnanÚerrstater1   ÚtestingÚassert_array_equalÚsignbitÚisnanr   r;   r   )r;   r"   r   r   r   s        r#   Ú"export_mod_float_edge_cases_fmod_0z&Mod.export_mod_float_edge_cases_fmod_0N   s)  € å”j¥"¤*­b¬jÐ9ð 6	ñ 6	ˆEÝ”;×(Ò(Ø˜s C˜j°3°%¸að )ñ ô ˆDõ ”àØØØØØØØÝ”FÝ”V�GØØÝ”FØðð  ð#ñ ô ˆAõ& ”àØØØÝ”FÝ”FÝ”V�GÝ”V�GØØØØØÝ”Fðð  ð#ñ ô ˆAõ& ” H°hÐ?Ñ?Ô?ð !ð !Ý”F˜1˜a‘L”L�ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !õ ŒJ×)Ò)­"¬*°Q°r¸°r´UÑ*;Ô*;Ð=WÐ=WÐ=WÑXÔXÐXÝŒJ×)Ò)Ý”˜˜1˜2˜2œ‘”Ð!EÐ!EÐ!Eñô ð õ ØØ˜1�vØ˜ØO½¼À%¹¼Ô9MÐOÐOð	ñ ô ð ñ ðc6	ð 6	s   Ã>D Ä D$	Ä'D$	c                 ór  — t           j                             dddgdg¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd¬	¦  «         d S )
Nr   r   r   r   ©r   r   ©éüÿÿÿé   é   r?   iùÿÿÿr@   ©é   éýÿÿÿr@   éþÿÿÿé   rO   Útest_mod_mixed_sign_int64r   )	r   r   r   r   r   r   Úint64r1   r   r!   s       r#   Úexport_mod_mixed_sign_int64zMod.export_mod_mixed_sign_int64ˆ   ó®   € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒHÐ)Ð)Ð)Ñ*Ô*×1Ò1µ"´(Ñ;Ô;ˆÝŒHÐ)Ð)Ð)Ñ*Ô*×1Ò1µ"´(Ñ;Ô;ˆÝŒF�1�a‰LŒLˆÝˆt˜Q ˜F¨Q¨CÐ6QÐRÑRÔRÐRÐRÐRr%   c                 ór  — t           j                             dddgdg¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd¬	¦  «         d S )
Nr   r   r   r   rK   rL   rP   Útest_mod_mixed_sign_int32r   )	r   r   r   r   r   r   Úint32r1   r   r!   s       r#   Úexport_mod_mixed_sign_int32zMod.export_mod_mixed_sign_int32•   rX   r%   c                 ór  — t           j                             dddgdg¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd¬	¦  «         d S )
Nr   r   r   r   rK   rL   rP   Útest_mod_mixed_sign_int16r   )	r   r   r   r   r   r   Úint16r1   r   r!   s       r#   Úexport_mod_mixed_sign_int16zMod.export_mod_mixed_sign_int16¢   rX   r%   c                 ór  — t           j                             dddgdg¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd¬	¦  «         d S )
Nr   r   r   r   rK   rL   rP   Útest_mod_mixed_sign_int8r   )	r   r   r   r   r   r   Úint8r1   r   r!   s       r#   Úexport_mod_mixed_sign_int8zMod.export_mod_mixed_sign_int8¯   s®   € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒHÐ)Ð)Ð)Ñ*Ô*×1Ò1µ"´'Ñ:Ô:ˆÝŒHÐ)Ð)Ð)Ñ*Ô*×1Ò1µ"´'Ñ:Ô:ˆÝŒF�1�a‰LŒLˆÝˆt˜Q ˜F¨Q¨CÐ6PÐQÑQÔQÐQÐQÐQr%   c                 ór  — t           j                             dddgdg¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd¬	¦  «         d S )
Nr   r   r   r   rK   ©r?   rN   rO   ©rQ   rT   r@   Útest_mod_uint8r   )	r   r   r   r   r   r   Úuint8r1   r   r!   s       r#   Úexport_mod_uint8zMod.export_mod_uint8¼   s¨   € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒH�Y�Y�YÑÔ×&Ò&¥r¤xÑ0Ô0ˆÝŒH�Y�Y�YÑÔ×&Ò&¥r¤xÑ0Ô0ˆÝŒF�1�a‰LŒLˆÝˆt˜Q ˜F¨Q¨CÐ6FÐGÑGÔGÐGÐGÐGr%   c                 ór  — t           j                             dddgdg¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd¬	¦  «         d S )
Nr   r   r   r   rK   rf   rg   Útest_mod_uint16r   )	r   r   r   r   r   r   Úuint16r1   r   r!   s       r#   Úexport_mod_uint16zMod.export_mod_uint16É   ó¨   € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒH�Y�Y�YÑÔ×&Ò&¥r¤yÑ1Ô1ˆÝŒH�Y�Y�YÑÔ×&Ò&¥r¤yÑ1Ô1ˆÝŒF�1�a‰LŒLˆÝˆt˜Q ˜F¨Q¨CÐ6GÐHÑHÔHÐHÐHÐHr%   c                 ór  — t           j                             dddgdg¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd¬	¦  «         d S )
Nr   r   r   r   rK   rf   rg   Útest_mod_uint32r   )	r   r   r   r   r   r   Úuint32r1   r   r!   s       r#   Úexport_mod_uint32zMod.export_mod_uint32Ö   ro   r%   c                 ór  — t           j                             dddgdg¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd¬	¦  «         d S )
Nr   r   r   r   rK   rf   rg   Útest_mod_uint64r   )	r   r   r   r   r   r   Úuint64r1   r   r!   s       r#   Úexport_mod_uint64zMod.export_mod_uint64ã   ro   r%   c                 ót  — t           j                             dddgdgd¬¦  «        } t          j        g d¢¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        ||¦  «        }t          | ||g|gd	¬
¦  «         d S )Nr   r   r   r   r   r   rL   rP   Útest_mod_int64_fmodr   )	r   r   r   r   r   r   rV   r   r   r!   s       r#   Úexport_mod_int64_fmodzMod.export_mod_int64_fmodð   s¦   € åŒ{×$Ò$ U°C¸°:ÈÀuÐSTÐ$ÑUÔUˆåŒHÐ)Ð)Ð)Ñ*Ô*×1Ò1µ"´(Ñ;Ô;ˆÝŒHÐ)Ð)Ð)Ñ*Ô*×1Ò1µ"´(Ñ;Ô;ˆÝŒG�A�q‰MŒMˆÝˆt˜Q ˜F¨Q¨CÐ6KÐLÑLÔLÐLÐLÐLr%   c                 ó˜  — t           j                             dddgdg¬¦  «        } t          j        dd¦  «                             g d¢¦  «                             t          j        ¦  «        }t          j        d	g¦  «                             t          j        ¦  «        }t          j	        ||¦  «        }t          | ||g|gd
¬¦  «         d S )Nr   r   r   r   rK   r   é   )rT   rQ   rO   rN   Útest_mod_broadcastr   )r   r   r   r   ÚarangeÚreshaper   r[   r   r1   r   r!   s       r#   Úexport_mod_broadcastzMod.export_mod_broadcastù   s¶   € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒI�a˜ÑÔ×$Ò$ Y Y YÑ/Ô/×6Ò6µr´xÑ@Ô@ˆÝŒH�a�S‰MŒM× Ò ¥¤Ñ*Ô*ˆÝŒF�1�a‰LŒLˆõ 	ˆt˜Q ˜F¨Q¨CÐ6JÐKÑKÔKÐKÐKÐKr%   N)r   r	   )Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr$   r)   r.   r2   r6   r9   rI   rW   r\   r`   rd   rj   rn   rs   rw   rz   r€   © r%   r#   r   r      si  € € € € € ØðUð Uð Uñ „\ðUð ðUð Uð Uñ „\ðUð ðUð Uð Uñ „\ðUð ð
ð 
ð 
ñ „\ð
ð ð
ð 
ð 
ñ „\ð
ð ð
ð 
ð 
ñ „\ð
ð ð7ð 7ð 7ñ „\ð7ðr ð
Sð 
Sð 
Sñ „\ð
Sð ð
Sð 
Sð 
Sñ „\ð
Sð ð
Sð 
Sð 
Sñ „\ð
Sð ð
Rð 
Rð 
Rñ „\ð
Rð ð
Hð 
Hð 
Hñ „\ð
Hð ð
Ið 
Ið 
Iñ „\ð
Ið ð
Ið 
Ið 
Iñ „\ð
Ið ð
Ið 
Ið 
Iñ „\ð
Ið ðMð Mð Mñ „\ðMð ðLð Lð Lñ „\ðLð Lð Lr%   r   )
Ú
__future__r   Únumpyr   r   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   r   r…   r%   r#   ú<module>rŠ      sš   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ðLð Lð Lð Lð Lˆ$ñ Lô Lð Lð Lð Lr%   