o
    wi0                     @  s\   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dZ	dddZ
G d	d
 d
eZdS )    )annotationsN)Base)expectc                 C     t | |S N)nptriuxk r   ^/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/onnx/backend/test/case/node/trilu.pytriu_reference_implementation      r   c                 C  r   r   )r   trilr	   r   r   r   tril_reference_implementation   r   r   c                   @  s  e Zd Zed(ddZed(ddZed(ddZed(d	d
Zed(ddZed(ddZ	ed(ddZ
ed(ddZed(ddZed(ddZed(ddZed(ddZed(ddZed(ddZed(dd Zed(d!d"Zed(d#d$Zed(d%d&Zd'S ))TrilureturnNonec                  C  N   t jjddgdgd} tjjdddtj}t|}t	| |g|gd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   r   r   r   export_triu   s   zTrilu.export_triuc                  C  j   t jjdddgdgd} tjjdddtj}td	tj}t	|t
|}t| ||g|gd
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   r   r   r   export_triu_neg,      zTrilu.export_triu_negc                  C  r.   )Nr   r
   r   r   r   r   r   r   test_triu_out_neg_outr!   r1   r4   r   r   r   export_triu_out_neg_outC   r6   zTrilu.export_triu_out_neg_outc                  C  r.   )Nr   r
   r   r   r   r   r   r      test_triu_posr!   r1   r4   r   r   r   export_triu_posZ   r6   zTrilu.export_triu_posc                  C  r.   )Nr   r
   r   r   r   r   r   r      test_triu_out_posr!   r1   r4   r   r   r   export_triu_out_posq   r6   zTrilu.export_triu_out_posc                  C  r   )
Nr   r
   r   r   r   r:      rA   r   test_triu_squarer!   r#   r+   r   r   r   export_triu_square   s   zTrilu.export_triu_squarec                  C  r.   )Nr   r
   r   r   r   r   r@   r   r/   test_triu_square_negr!   r1   r4   r   r   r   export_triu_square_neg   s   zTrilu.export_triu_square_negc                  C  r.   )Nr   r
   r   r   r   r   rA      r   r   rG   test_triu_one_rowr!   r1   r4   r   r   r   export_triu_one_row   s   zTrilu.export_triu_one_rowc                  C  r.   )Nr   r
   r   r   r   r   )r   r   r   r=   test_triu_zeror!   r1   r4   r   r   r   export_triu_zero   s   zTrilu.export_triu_zeroc                  C  P   t jjddgdgdd} tjjdddtj}t|}t	| |g|gd	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+   r   r   r   export_tril   s   zTrilu.export_trilc                  C  l   t jjdddgdgdd} tjjddd	tj}td
tj}t	|t
|}t| ||g|gdd d S )Nr   r
   r   r   r   rM   r   r   r   r/   test_tril_negr!   r$   r%   r&   r   r'   r(   r)   r*   r2   r   r3   r   r4   r   r   r   export_tril_neg     zTrilu.export_tril_negc                  C  rR   )Nr   r
   r   r   r   rM   r   r   r   r7   test_tril_out_negr!   rT   r4   r   r   r   export_tril_out_neg  rV   zTrilu.export_tril_out_negc                  C  rR   )Nr   r
   r   r   r   rM   r   r   r   r:   test_tril_posr!   rT   r4   r   r   r   export_tril_pos2  rV   zTrilu.export_tril_posc                  C  rR   )Nr   r
   r   r   r   rM   r   r   r   r=   test_tril_out_posr!   rT   r4   r   r   r   export_tril_out_posJ  s   zTrilu.export_tril_out_posc                  C  rL   )Nr   r
   r   r   rM   r   r@   r   test_tril_squarer!   rP   r+   r   r   r   export_tril_squarea  s   zTrilu.export_tril_squarec                  C  rR   )Nr   r
   r   r   r   rM   r   r@   r   r/   test_tril_square_negr!   rT   r4   r   r   r   export_tril_square_neg~  s   zTrilu.export_tril_square_negc                  C  rL   )Nr   r
   r   r   rM   r   rF   r   test_tril_one_row_negr!   rP   r+   r   r   r   export_tril_one_row  s   zTrilu.export_tril_one_rowc                  C  rR   )Nr   r
   r   r   r   rM   r   )rA   r   r   r   r=   test_tril_zeror!   rT   r4   r   r   r   export_tril_zero  s   zTrilu.export_tril_zeroN)r   r   )__name__
__module____qualname__staticmethodr-   r5   r9   r<   r?   rC   rE   rI   rK   rQ   rU   rX   rZ   r\   r^   r`   rb   rd   r   r   r   r   r      sJ    r   )r   )
__future__r   numpyr   r$   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r   r   r   r   r   <module>   s   

