§
    1�Åj§2  ã                  óf   — d dl mZ d dlZd dlZd dlmZ d dlmZ d	d„Z	d	d„Z
 G d„ de¦  «        ZdS )
é    )ÚannotationsN)ÚBase)Úexpectc                ó,   — t          j        | |¦  «        S ©N)ÚnpÚtriu©ÚxÚks     úRC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/trilu.pyÚtriu_reference_implementationr      ó   € ÝŒ7�1�a‰=Œ=Ðó    c                ó,   — t          j        | |¦  «        S r   )r   Útrilr
   s     r   Útril_reference_implementationr      r   r   c                  ó¾  — 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edd„¦   «         ZdS )ÚTriluÚreturnÚNonec                 ó  — t           j                             ddgdg¬¦  «        } t          j                             dd¬¦  «                             t          j        ¦  «        }t          |¦  «        }t          | |g|gd¬	¦  «         d S )
Nr   r   Úy©ÚinputsÚoutputsé
   ©é   é   ©ÚsizeÚ	test_triu©r   r   Úname©
ÚonnxÚhelperÚ	make_noder   ÚrandomÚrandintÚastypeÚint64r   r   ©Únoder   r   s      r   Úexport_triuzTrilu.export_triu   s‡   € åŒ{×$Ò$ØØ�5Ø�Eð %ñ 
ô 
ˆõ ŒI×Ò˜b vÐÑ.Ô.×5Ò5µb´hÑ?Ô?ˆõ *¨!Ñ,Ô,ˆÝˆt˜Q˜C¨!¨°;Ð?Ñ?Ô?Ð?Ð?Ð?r   c                 ó”  — t           j                             dddgdg¬¦  «        } t          j                             dd¬¦  «                             t          j        ¦  «        }t          j        d	¦  «                             t          j        ¦  «        }t          |t          |¦  «        ¦  «        }t          | ||g|gd
¬¦  «         d S )Nr   r   r   r   r   r   r   r!   éÿÿÿÿÚtest_triu_negr$   ©r'   r(   r)   r   r*   r+   r,   r-   Úarrayr   Úintr   ©r/   r   r   r   s       r   Úexport_triu_negzTrilu.export_triu_neg,   s°   € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒI×Ò˜b vÐÑ.Ô.×5Ò5µb´hÑ?Ô?ˆÝŒH�R‰LŒL×Ò¥¤Ñ)Ô)ˆõ *¨!­S°©V¬VÑ4Ô4ˆÝˆt˜Q ˜F¨Q¨C°oÐFÑFÔFÐFÐFÐFr   c                 ó”  — t           j                             dddgdg¬¦  «        } t          j                             dd¬¦  «                             t          j        ¦  «        }t          j        d	¦  «                             t          j        ¦  «        }t          |t          |¦  «        ¦  «        }t          | ||g|gd
¬¦  «         d S )Nr   r   r   r   r   r   r   r!   éùÿÿÿÚtest_triu_out_neg_outr$   r4   r7   s       r   Úexport_triu_out_neg_outzTrilu.export_triu_out_neg_outC   s±   € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒI×Ò˜b vÐÑ.Ô.×5Ò5µb´hÑ?Ô?ˆÝŒH�R‰LŒL×Ò¥¤Ñ)Ô)ˆõ *¨!­S°©V¬VÑ4Ô4ˆÝˆt˜Q ˜F¨Q¨CÐ6MÐNÑNÔNÐNÐNÐNr   c                 ó”  — t           j                             dddgdg¬¦  «        } t          j                             dd¬¦  «                             t          j        ¦  «        }t          j        d	¦  «                             t          j        ¦  «        }t          |t          |¦  «        ¦  «        }t          | ||g|gd
¬¦  «         d S )Nr   r   r   r   r   r   r   r!   é   Útest_triu_posr$   r4   r7   s       r   Úexport_triu_poszTrilu.export_triu_posZ   s°   € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒI×Ò˜b vÐÑ.Ô.×5Ò5µb´hÑ?Ô?ˆÝŒH�Q‰KŒK×Ò�rœxÑ(Ô(ˆõ *¨!­S°©V¬VÑ4Ô4ˆÝˆt˜Q ˜F¨Q¨C°oÐFÑFÔFÐFÐFÐFr   c                 ó”  — t           j                             dddgdg¬¦  «        } t          j                             dd¬¦  «                             t          j        ¦  «        }t          j        d	¦  «                             t          j        ¦  «        }t          |t          |¦  «        ¦  «        }t          | ||g|gd
¬¦  «         d S )Nr   r   r   r   r   r   r   r!   é   Útest_triu_out_posr$   r4   r7   s       r   Úexport_triu_out_poszTrilu.export_triu_out_posq   s±   € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒI×Ò˜b vÐÑ.Ô.×5Ò5µb´hÑ?Ô?ˆÝŒH�Q‰KŒK×Ò�rœxÑ(Ô(ˆõ *¨!­S°©V¬VÑ4Ô4ˆÝˆt˜Q ˜F¨Q¨CÐ6IÐJÑJÔJÐJÐJÐJr   c                 ó  — t           j                             ddgdg¬¦  «        } t          j                             dd¬¦  «                             t          j        ¦  «        }t          |¦  «        }t          | |g|gd¬	¦  «         d S )
Nr   r   r   r   r   ©r>   é   rG   r!   Útest_triu_squarer$   r&   r.   s      r   Úexport_triu_squarezTrilu.export_triu_squareˆ   sˆ   € åŒ{×$Ò$ØØ�5Ø�Eð %ñ 
ô 
ˆõ ŒI×Ò˜b yÐÑ1Ô1×8Ò8½¼ÑBÔBˆÝ)¨!Ñ,Ô,ˆõ" 	ˆt˜Q˜C¨!¨Ð3EÐFÑFÔFÐFÐFÐFr   c                 ó”  — t           j                             dddgdg¬¦  «        } t          j                             dd¬¦  «                             t          j        ¦  «        }t          j        d	¦  «                             t          j        ¦  «        }t          |t          |¦  «        ¦  «        }t          | ||g|gd
¬¦  «         d S )Nr   r   r   r   r   r   rF   r!   r2   Útest_triu_square_negr$   r4   r7   s       r   Úexport_triu_square_negzTrilu.export_triu_square_neg¤   s±   € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒI×Ò˜b yÐÑ1Ô1×8Ò8½¼ÑBÔBˆÝŒH�R‰LŒL×Ò¥¤Ñ)Ô)ˆõ" *¨!­S°©V¬VÑ4Ô4ˆÝˆt˜Q ˜F¨Q¨CÐ6LÐMÑMÔMÐMÐMÐMr   c                 ó”  — t           j                             dddgdg¬¦  «        } t          j                             dd¬¦  «                             t          j        ¦  «        }t          j        d	¦  «                             t          j        ¦  «        }t          |t          |¦  «        ¦  «        }t          | ||g|gd
¬¦  «         d S )Nr   r   r   r   r   r   ©rG   é   r    r!   rO   Útest_triu_one_rowr$   r4   r7   s       r   Úexport_triu_one_rowzTrilu.export_triu_one_rowÁ   s±   € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒI×Ò˜b yÐÑ1Ô1×8Ò8½¼ÑBÔBˆÝŒH�Q‰KŒK×Ò�rœxÑ(Ô(ˆõ *¨!­S°©V¬VÑ4Ô4ˆÝˆt˜Q ˜F¨Q¨CÐ6IÐJÑJÔJÐJÐJÐJr   c                 ó”  — t           j                             dddgdg¬¦  «        } t          j                             dd¬¦  «                             t          j        ¦  «        }t          j        d	¦  «                             t          j        ¦  «        }t          |t          |¦  «        ¦  «        }t          | ||g|gd
¬¦  «         d S )Nr   r   r   r   r   r   )r   r    r!   rB   Útest_triu_zeror$   r4   r7   s       r   Úexport_triu_zerozTrilu.export_triu_zeroÚ   s±   € åŒ{×$Ò$ØØ˜�:Ø�Eð %ñ 
ô 
ˆõ ŒI×Ò˜b vÐÑ.Ô.×5Ò5µb´hÑ?Ô?ˆÝŒH�Q‰KŒK×Ò�rœxÑ(Ô(ˆõ
 *¨!­S°©V¬VÑ4Ô4ˆÝˆt˜Q ˜F¨Q¨CÐ6FÐGÑGÔGÐGÐGÐGr   c                 ó  — t           j                             ddgdgd¬¦  «        } t          j                             dd¬¦  «                             t          j        ¦  «        }t          |¦  «        }t          | |g|gd	¬
¦  «         d S )Nr   r   r   r   ©r   r   Úupperr   r   r!   Ú	test_trilr$   ©
r'   r(   r)   r   r*   r+   r,   r-   r   r   r.   s      r   Úexport_trilzTrilu.export_trilë   sŠ   € åŒ{×$Ò$ØØ�5Ø�EØð	 %ñ 
ô 
ˆõ ŒI×Ò˜b vÐÑ.Ô.×5Ò5µb´hÑ?Ô?ˆõ *¨!Ñ,Ô,ˆÝˆt˜Q˜C¨!¨°;Ð?Ñ?Ô?Ð?Ð?Ð?r   c                 ó–  — t           j                             dddgdgd¬¦  «        } t          j                             dd¬	¦  «                             t          j        ¦  «        }t          j        d
¦  «                             t          j        ¦  «        }t          |t          |¦  «        ¦  «        }t          | ||g|gd¬¦  «         d S )Nr   r   r   r   r   rV   r   r   r!   r2   Útest_tril_negr$   ©r'   r(   r)   r   r*   r+   r,   r-   r5   r   r6   r   r7   s       r   Úexport_tril_negzTrilu.export_tril_neg  s³   € åŒ{×$Ò$ØØ˜�:Ø�EØð	 %ñ 
ô 
ˆõ ŒI×Ò˜b vÐÑ.Ô.×5Ò5µb´hÑ?Ô?ˆÝŒH�R‰LŒL×Ò¥¤Ñ)Ô)ˆõ *¨!­S°©V¬VÑ4Ô4ˆÝˆt˜Q ˜F¨Q¨C°oÐFÑFÔFÐFÐFÐFr   c                 ó–  — t           j                             dddgdgd¬¦  «        } t          j                             dd¬	¦  «                             t          j        ¦  «        }t          j        d
¦  «                             t          j        ¦  «        }t          |t          |¦  «        ¦  «        }t          | ||g|gd¬¦  «         d S )Nr   r   r   r   r   rV   r   r   r!   r:   Útest_tril_out_negr$   r]   r7   s       r   Úexport_tril_out_negzTrilu.export_tril_out_neg  s´   € åŒ{×$Ò$ØØ˜�:Ø�EØð	 %ñ 
ô 
ˆõ ŒI×Ò˜b vÐÑ.Ô.×5Ò5µb´hÑ?Ô?ˆÝŒH�R‰LŒL×Ò¥¤Ñ)Ô)ˆõ *¨!­S°©V¬VÑ4Ô4ˆÝˆt˜Q ˜F¨Q¨CÐ6IÐJÑJÔJÐJÐJÐJr   c                 ó–  — t           j                             dddgdgd¬¦  «        } t          j                             dd¬	¦  «                             t          j        ¦  «        }t          j        d
¦  «                             t          j        ¦  «        }t          |t          |¦  «        ¦  «        }t          | ||g|gd¬¦  «         d S )Nr   r   r   r   r   rV   r   r   r!   r>   Útest_tril_posr$   r]   r7   s       r   Úexport_tril_poszTrilu.export_tril_pos2  s³   € åŒ{×$Ò$ØØ˜�:Ø�EØð	 %ñ 
ô 
ˆõ ŒI×Ò˜b vÐÑ.Ô.×5Ò5µb´hÑ?Ô?ˆÝŒH�Q‰KŒK×Ò�rœxÑ(Ô(ˆõ *¨!­S°©V¬VÑ4Ô4ˆÝˆt˜Q ˜F¨Q¨C°oÐFÑFÔFÐFÐFÐFr   c                 ó–  — t           j                             dddgdgd¬¦  «        } t          j                             dd¬	¦  «                             t          j        ¦  «        }t          j        d
¦  «                             t          j        ¦  «        }t          |t          |¦  «        ¦  «        }t          | ||g|gd¬¦  «         d S )Nr   r   r   r   r   rV   r   r   r!   rB   Útest_tril_out_posr$   r]   r7   s       r   Úexport_tril_out_poszTrilu.export_tril_out_posJ  s´   € åŒ{×$Ò$ØØ˜�:Ø�EØð	 %ñ 
ô 
ˆõ ŒI×Ò˜b vÐÑ.Ô.×5Ò5µb´hÑ?Ô?ˆÝŒH�Q‰KŒK×Ò�rœxÑ(Ô(ˆõ *¨!­S°©V¬VÑ4Ô4ˆÝˆt˜Q ˜F¨Q¨CÐ6IÐJÑJÔJÐJÐJÐJr   c                 ó  — t           j                             ddgdgd¬¦  «        } t          j                             dd¬¦  «                             t          j        ¦  «        }t          |¦  «        }t          | |g|gd	¬
¦  «         d S )Nr   r   r   r   rV   r   rF   r!   Útest_tril_squarer$   rY   r.   s      r   Úexport_tril_squarezTrilu.export_tril_squarea  s‹   € åŒ{×$Ò$ØØ�5Ø�EØð	 %ñ 
ô 
ˆõ ŒI×Ò˜b yÐÑ1Ô1×8Ò8½¼ÑBÔBˆõ" *¨!Ñ,Ô,ˆÝˆt˜Q˜C¨!¨Ð3EÐFÑFÔFÐFÐFÐFr   c                 ó–  — t           j                             dddgdgd¬¦  «        } t          j                             dd¬	¦  «                             t          j        ¦  «        }t          j        d
¦  «                             t          j        ¦  «        }t          |t          |¦  «        ¦  «        }t          | ||g|gd¬¦  «         d S )Nr   r   r   r   r   rV   r   rF   r!   r2   Útest_tril_square_negr$   r]   r7   s       r   Úexport_tril_square_negzTrilu.export_tril_square_neg~  s´   € åŒ{×$Ò$ØØ˜�:Ø�EØð	 %ñ 
ô 
ˆõ ŒI×Ò˜b yÐÑ1Ô1×8Ò8½¼ÑBÔBˆÝŒH�R‰LŒL×Ò¥¤Ñ)Ô)ˆõ" *¨!­S°©V¬VÑ4Ô4ˆÝˆt˜Q ˜F¨Q¨CÐ6LÐMÑMÔMÐMÐMÐMr   c                 ó  — t           j                             ddgdgd¬¦  «        } t          j                             dd¬¦  «                             t          j        ¦  «        }t          |¦  «        }t          | |g|gd	¬
¦  «         d S )Nr   r   r   r   rV   r   rN   r!   Útest_tril_one_row_negr$   rY   r.   s      r   Úexport_tril_one_rowzTrilu.export_tril_one_rowœ  s‹   € åŒ{×$Ò$ØØ�5Ø�EØð	 %ñ 
ô 
ˆõ ŒI×Ò˜b yÐÑ1Ô1×8Ò8½¼ÑBÔBˆõ *¨!Ñ,Ô,ˆÝˆt˜Q˜C¨!¨Ð3JÐKÑKÔKÐKÐKÐKr   c                 ó–  — t           j                             dddgdgd¬¦  «        } t          j                             dd¬	¦  «                             t          j        ¦  «        }t          j        d
¦  «                             t          j        ¦  «        }t          |t          |¦  «        ¦  «        }t          | ||g|gd¬¦  «         d S )Nr   r   r   r   r   rV   r   )rG   r   r    r!   rB   Útest_tril_zeror$   r]   r7   s       r   Úexport_tril_zerozTrilu.export_tril_zeroµ  s´   € åŒ{×$Ò$ØØ˜�:Ø�EØð	 %ñ 
ô 
ˆõ ŒI×Ò˜b yÐÑ1Ô1×8Ò8½¼ÑBÔBˆÝŒH�Q‰KŒK×Ò�rœxÑ(Ô(ˆõ
 *¨!­S°©V¬VÑ4Ô4ˆÝˆt˜Q ˜F¨Q¨CÐ6FÐGÑGÔGÐGÐGÐGr   N)r   r   )Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr0   r8   r<   r@   rD   rI   rL   rQ   rT   rZ   r^   ra   rd   rg   rj   rm   rp   rs   © r   r   r   r      sœ  € € € € € Øð@ð @ð @ñ „\ð@ð* ðGð Gð Gñ „\ðGð, ðOð Oð Oñ „\ðOð, ðGð Gð Gñ „\ðGð, ðKð Kð Kñ „\ðKð, ðGð Gð Gñ „\ðGð6 ðNð Nð Nñ „\ðNð8 ðKð Kð Kñ „\ðKð0 ðHð Hð Hñ „\ðHð  ð@ð @ð @ñ „\ð@ð, ðGð Gð Gñ „\ðGð. ðKð Kð Kñ „\ðKð. ðGð Gð Gñ „\ðGð. ðKð Kð Kñ „\ðKð, ðGð Gð Gñ „\ðGð8 ðNð Nð Nñ „\ðNð: ðLð Lð Lñ „\ðLð0 ðHð Hð Hñ „\ðHð Hð Hr   r   )r   )Ú
__future__r   Únumpyr   r'   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   r   r   r   rx   r   r   ú<module>r}      sÂ   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ðð ð ð ðð ð ð ðpHð pHð pHð pHð pHˆDñ pHô pHð pHð pHð pHr   