
    h0                     V    S SK rS SKrS SKJr  S SKJr  SS jrSS jr " S S\5      r	g)	    N)Base)expectc                 .    [         R                  " X5      $ N)nptriuxks     [/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/trilu.pytriu_reference_implementationr          771=    c                 .    [         R                  " X5      $ r   )r   trilr	   s     r   tril_reference_implementationr      r   r   c                   |   \ rS rSr\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r	\SS j5       r
\SS	 j5       r\SS
 j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       r\SS j5       rSrg)Trilu   Nc                      [         R                  R                  SS/S/S9n [        R                  R                  SSS9R                  [        R                  5      n[        U5      n[        X/U/SS	9  g )
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_triuTrilu.export_triu   sn    {{$$5E % 
 IIbv.55bhh? *!,tC!;?r   c                  j   [         R                  R                  SSS/S/S9n [        R                  R                  SSS9R                  [        R                  5      n[        R                  " S	5      R                  [        R                  5      n[        U[        U5      5      n[        XU/U/S
S9  g )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_negTrilu.export_triu_neg+   s    {{$$:E % 
 IIbv.55bhh?HHRL) *!SV4tFQCoFr   c                  j   [         R                  R                  SSS/S/S9n [        R                  R                  SSS9R                  [        R                  5      n[        R                  " S	5      R                  [        R                  5      n[        U[        U5      5      n[        XU/U/S
S9  g )Nr   r
   r   r   r   r   r   r   test_triu_out_neg_outr"   r3   r6   s       r   export_triu_out_neg_outTrilu.export_triu_out_neg_outB   s    {{$$:E % 
 IIbv.55bhh?HHRL) *!SV4tFQC6MNr   c                  j   [         R                  R                  SSS/S/S9n [        R                  R                  SSS9R                  [        R                  5      n[        R                  " S	5      R                  [        R                  5      n[        U[        U5      5      n[        XU/U/S
S9  g )Nr   r
   r   r   r   r   r   r      test_triu_posr"   r3   r6   s       r   export_triu_posTrilu.export_triu_posY   s    {{$$:E % 
 IIbv.55bhh?HHQKrxx( *!SV4tFQCoFr   c                  j   [         R                  R                  SSS/S/S9n [        R                  R                  SSS9R                  [        R                  5      n[        R                  " S	5      R                  [        R                  5      n[        U[        U5      5      n[        XU/U/S
S9  g )Nr   r
   r   r   r   r   r   r      test_triu_out_posr"   r3   r6   s       r   export_triu_out_posTrilu.export_triu_out_posp   s    {{$$:E % 
 IIbv.55bhh?HHQKrxx( *!SV4tFQC6IJr   c                      [         R                  R                  SS/S/S9n [        R                  R                  SSS9R                  [        R                  5      n[        U5      n[        X/U/SS	9  g )
Nr   r
   r   r   r   r?      rJ   r   test_triu_squarer"   r$   r,   s      r   export_triu_squareTrilu.export_triu_square   so    {{$$5E % 
 IIby188B)!," 	tC!3EFr   c                  j   [         R                  R                  SSS/S/S9n [        R                  R                  SSS9R                  [        R                  5      n[        R                  " S	5      R                  [        R                  5      n[        U[        U5      5      n[        XU/U/S
S9  g )Nr   r
   r   r   r   r   rI   r   r1   test_triu_square_negr"   r3   r6   s       r   export_triu_square_negTrilu.export_triu_square_neg   s    {{$$:E % 
 IIby188BHHRL)" *!SV4tFQC6LMr   c                  j   [         R                  R                  SSS/S/S9n [        R                  R                  SSS9R                  [        R                  5      n[        R                  " S	5      R                  [        R                  5      n[        U[        U5      5      n[        XU/U/S
S9  g )Nr   r
   r   r   r   r   rJ      r   r   rT   test_triu_one_rowr"   r3   r6   s       r   export_triu_one_rowTrilu.export_triu_one_row   s    {{$$:E % 
 IIby188BHHQKrxx( *!SV4tFQC6IJr   c                  j   [         R                  R                  SSS/S/S9n [        R                  R                  SSS9R                  [        R                  5      n[        R                  " S	5      R                  [        R                  5      n[        U[        U5      5      n[        XU/U/S
S9  g )Nr   r
   r   r   r   r   )r   r   r   rD   test_triu_zeror"   r3   r6   s       r   export_triu_zeroTrilu.export_triu_zero   s    {{$$:E % 
 IIbv.55bhh?HHQKrxx(
 *!SV4tFQC6FGr   c                      [         R                  R                  SS/S/SS9n [        R                  R                  SSS9R                  [        R                  5      n[        U5      n[        X/U/S	S
9  g )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_trilTrilu.export_tril   sq    {{$$5E	 % 
 IIbv.55bhh? *!,tC!;?r   c                  l   [         R                  R                  SSS/S/SS9n [        R                  R                  SSS	9R                  [        R                  5      n[        R                  " S
5      R                  [        R                  5      n[        U[        U5      5      n[        XU/U/SS9  g )Nr   r
   r   r   r   r]   r   r   r   r1   test_tril_negr"   r%   r&   r'   r   r(   r)   r*   r+   r4   r   r5   r   r6   s       r   export_tril_negTrilu.export_tril_neg  s    {{$$:E	 % 
 IIbv.55bhh?HHRL) *!SV4tFQCoFr   c                  l   [         R                  R                  SSS/S/SS9n [        R                  R                  SSS	9R                  [        R                  5      n[        R                  " S
5      R                  [        R                  5      n[        U[        U5      5      n[        XU/U/SS9  g )Nr   r
   r   r   r   r]   r   r   r   r:   test_tril_out_negr"   re   r6   s       r   export_tril_out_negTrilu.export_tril_out_neg  s    {{$$:E	 % 
 IIbv.55bhh?HHRL) *!SV4tFQC6IJr   c                  l   [         R                  R                  SSS/S/SS9n [        R                  R                  SSS	9R                  [        R                  5      n[        R                  " S
5      R                  [        R                  5      n[        U[        U5      5      n[        XU/U/SS9  g )Nr   r
   r   r   r   r]   r   r   r   r?   test_tril_posr"   re   r6   s       r   export_tril_posTrilu.export_tril_pos1  s    {{$$:E	 % 
 IIbv.55bhh?HHQKrxx( *!SV4tFQCoFr   c                  l   [         R                  R                  SSS/S/SS9n [        R                  R                  SSS	9R                  [        R                  5      n[        R                  " S
5      R                  [        R                  5      n[        U[        U5      5      n[        XU/U/SS9  g )Nr   r
   r   r   r   r]   r   r   r   rD   test_tril_out_posr"   re   r6   s       r   export_tril_out_posTrilu.export_tril_out_posI  s    {{$$:E	 % 
 IIbv.55bhh?HHQKrxx( *!SV4tFQC6IJr   c                      [         R                  R                  SS/S/SS9n [        R                  R                  SSS9R                  [        R                  5      n[        U5      n[        X/U/S	S
9  g )Nr   r
   r   r   r]   r   rI   r   test_tril_squarer"   r`   r,   s      r   export_tril_squareTrilu.export_tril_square`  sr    {{$$5E	 % 
 IIby188B" *!,tC!3EFr   c                  l   [         R                  R                  SSS/S/SS9n [        R                  R                  SSS	9R                  [        R                  5      n[        R                  " S
5      R                  [        R                  5      n[        U[        U5      5      n[        XU/U/SS9  g )Nr   r
   r   r   r   r]   r   rI   r   r1   test_tril_square_negr"   re   r6   s       r   export_tril_square_negTrilu.export_tril_square_neg}  s    {{$$:E	 % 
 IIby188BHHRL)" *!SV4tFQC6LMr   c                      [         R                  R                  SS/S/SS9n [        R                  R                  SSS9R                  [        R                  5      n[        U5      n[        X/U/S	S
9  g )Nr   r
   r   r   r]   r   rS   r   test_tril_one_row_negr"   r`   r,   s      r   export_tril_one_rowTrilu.export_tril_one_row  sr    {{$$5E	 % 
 IIby188B *!,tC!3JKr   c                  l   [         R                  R                  SSS/S/SS9n [        R                  R                  SSS	9R                  [        R                  5      n[        R                  " S
5      R                  [        R                  5      n[        U[        U5      5      n[        XU/U/SS9  g )Nr   r
   r   r   r   r]   r   )rJ   r   r   r   rD   test_tril_zeror"   re   r6   s       r   export_tril_zeroTrilu.export_tril_zero  s    {{$$:E	 % 
 IIby188BHHQKrxx(
 *!SV4tFQC6FGr    )returnN)__name__
__module____qualname____firstlineno__staticmethodr.   r7   r<   rA   rF   rL   rP   rV   rZ   ra   rf   rj   rn   rr   rv   rz   r~   r   __static_attributes__r   r   r   r   r      s   @ @* G G, O O, G G, K K, G G6 N N8 K K0 H H  @ @, G G. K K. G G. K K, G G8 N N: L L0 H Hr   r   )r   )
numpyr   r%   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r   r   r   r   <module>r      s-   
   , .pHD pHr   