
    bIg1                    ^    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y)
    )annotationsN)Base)expectc                .    t        j                  | |      S N)nptriuxks     ^/var/www/html/answerous/venv/lib/python3.12/site-packages/onnx/backend/test/case/node/trilu.pytriu_reference_implementationr          771a=    c                .    t        j                  | |      S r   )r   trilr
   s     r   tril_reference_implementationr      r   r   c                  P   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y)Triluc                     t         j                  j                  ddgdg      } t        j                  j                  dd      j                  t        j                        }t        |      }t        | |g|gd	       y )
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   sp    {{$$5E % 
 IIbv.55bhh? *!,tQC!;?r   c                 |   t         j                  j                  dddgdg      } t        j                  j                  dd      j                  t        j                        }t        j                  d	      j                  t        j                        }t        |t        |            }t        | ||g|gd
       y )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 % 
 IIbv.55bhh?HHRL) *!SV4tQFQCoFr   c                 |   t         j                  j                  dddgdg      } t        j                  j                  dd      j                  t        j                        }t        j                  d	      j                  t        j                        }t        |t        |            }t        | ||g|gd
       y )Nr   r   r   r   r   r   r   r   test_triu_out_neg_outr"   r2   r5   s       r   export_triu_out_neg_outzTrilu.export_triu_out_neg_outC   s    {{$$:E % 
 IIbv.55bhh?HHRL) *!SV4tQFQC6MNr   c                 |   t         j                  j                  dddgdg      } t        j                  j                  dd      j                  t        j                        }t        j                  d	      j                  t        j                        }t        |t        |            }t        | ||g|gd
       y )Nr   r   r   r   r   r   r   r      test_triu_posr"   r2   r5   s       r   export_triu_poszTrilu.export_triu_posZ   s    {{$$:E % 
 IIbv.55bhh?HHQKrxx( *!SV4tQFQCoFr   c                 |   t         j                  j                  dddgdg      } t        j                  j                  dd      j                  t        j                        }t        j                  d	      j                  t        j                        }t        |t        |            }t        | ||g|gd
       y )Nr   r   r   r   r   r   r   r      test_triu_out_posr"   r2   r5   s       r   export_triu_out_poszTrilu.export_triu_out_posq   s    {{$$:E % 
 IIbv.55bhh?HHQKrxx( *!SV4tQFQC6IJr   c                     t         j                  j                  ddgdg      } t        j                  j                  dd      j                  t        j                        }t        |      }t        | |g|gd	       y )
Nr   r   r   r   r   r<      rE   r   test_triu_squarer"   r$   r,   s      r   export_triu_squarezTrilu.export_triu_square   sq    {{$$5E % 
 IIby188B)!," 	tQC!3EFr   c                 |   t         j                  j                  dddgdg      } t        j                  j                  dd      j                  t        j                        }t        j                  d	      j                  t        j                        }t        |t        |            }t        | ||g|gd
       y )Nr   r   r   r   r   r   rD   r   r0   test_triu_square_negr"   r2   r5   s       r   export_triu_square_negzTrilu.export_triu_square_neg   s    {{$$:E % 
 IIby188BHHRL)" *!SV4tQFQC6LMr   c                 |   t         j                  j                  dddgdg      } t        j                  j                  dd      j                  t        j                        }t        j                  d	      j                  t        j                        }t        |t        |            }t        | ||g|gd
       y )Nr   r   r   r   r   r   rE      r   r   rM   test_triu_one_rowr"   r2   r5   s       r   export_triu_one_rowzTrilu.export_triu_one_row   s    {{$$:E % 
 IIby188BHHQKrxx( *!SV4tQFQC6IJr   c                 |   t         j                  j                  dddgdg      } t        j                  j                  dd      j                  t        j                        }t        j                  d	      j                  t        j                        }t        |t        |            }t        | ||g|gd
       y )Nr   r   r   r   r   r   )r   r   r   r@   test_triu_zeror"   r2   r5   s       r   export_triu_zerozTrilu.export_triu_zero   s    {{$$:E % 
 IIbv.55bhh?HHQKrxx(
 *!SV4tQFQC6FGr   c                    t         j                  j                  ddgdgd      } t        j                  j                  dd      j                  t        j                        }t        |      }t        | |g|gd	
       y )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   ss    {{$$5E	 % 
 IIbv.55bhh? *!,tQC!;?r   c                 ~   t         j                  j                  dddgdgd      } t        j                  j                  dd	      j                  t        j                        }t        j                  d
      j                  t        j                        }t        |t        |            }t        | ||g|gd       y )Nr   r   r   r   r   rT   r   r   r   r0   test_tril_negr"   r%   r&   r'   r   r(   r)   r*   r+   r3   r   r4   r   r5   s       r   export_tril_negzTrilu.export_tril_neg  s    {{$$:E	 % 
 IIbv.55bhh?HHRL) *!SV4tQFQCoFr   c                 ~   t         j                  j                  dddgdgd      } t        j                  j                  dd	      j                  t        j                        }t        j                  d
      j                  t        j                        }t        |t        |            }t        | ||g|gd       y )Nr   r   r   r   r   rT   r   r   r   r8   test_tril_out_negr"   r[   r5   s       r   export_tril_out_negzTrilu.export_tril_out_neg  s    {{$$:E	 % 
 IIbv.55bhh?HHRL) *!SV4tQFQC6IJr   c                 ~   t         j                  j                  dddgdgd      } t        j                  j                  dd	      j                  t        j                        }t        j                  d
      j                  t        j                        }t        |t        |            }t        | ||g|gd       y )Nr   r   r   r   r   rT   r   r   r   r<   test_tril_posr"   r[   r5   s       r   export_tril_poszTrilu.export_tril_pos2  s    {{$$:E	 % 
 IIbv.55bhh?HHQKrxx( *!SV4tQFQCoFr   c                 ~   t         j                  j                  dddgdgd      } t        j                  j                  dd	      j                  t        j                        }t        j                  d
      j                  t        j                        }t        |t        |            }t        | ||g|gd       y )Nr   r   r   r   r   rT   r   r   r   r@   test_tril_out_posr"   r[   r5   s       r   export_tril_out_poszTrilu.export_tril_out_posJ  s    {{$$:E	 % 
 IIbv.55bhh?HHQKrxx( *!SV4tQFQC6IJr   c                    t         j                  j                  ddgdgd      } t        j                  j                  dd      j                  t        j                        }t        |      }t        | |g|gd	
       y )Nr   r   r   r   rT   r   rD   r   test_tril_squarer"   rW   r,   s      r   export_tril_squarezTrilu.export_tril_squarea  st    {{$$5E	 % 
 IIby188B" *!,tQC!3EFr   c                 ~   t         j                  j                  dddgdgd      } t        j                  j                  dd	      j                  t        j                        }t        j                  d
      j                  t        j                        }t        |t        |            }t        | ||g|gd       y )Nr   r   r   r   r   rT   r   rD   r   r0   test_tril_square_negr"   r[   r5   s       r   export_tril_square_negzTrilu.export_tril_square_neg~  s    {{$$:E	 % 
 IIby188BHHRL)" *!SV4tQFQC6LMr   c                    t         j                  j                  ddgdgd      } t        j                  j                  dd      j                  t        j                        }t        |      }t        | |g|gd	
       y )Nr   r   r   r   rT   r   rL   r   test_tril_one_row_negr"   rW   r,   s      r   export_tril_one_rowzTrilu.export_tril_one_row  st    {{$$5E	 % 
 IIby188B *!,tQC!3JKr   c                 ~   t         j                  j                  dddgdgd      } t        j                  j                  dd	      j                  t        j                        }t        j                  d
      j                  t        j                        }t        |t        |            }t        | ||g|gd       y )Nr   r   r   r   r   rT   r   )rE   r   r   r   r@   test_tril_zeror"   r[   r5   s       r   export_tril_zerozTrilu.export_tril_zero  s    {{$$:E	 % 
 IIby188BHHQKrxx(
 *!SV4tQFQC6FGr   N)returnNone)__name__
__module____qualname__staticmethodr.   r6   r:   r>   rB   rG   rJ   rO   rR   rX   r\   r_   rb   re   rh   rk   rn   rq    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   )
__future__r   numpyr   r%   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r   rx   r   r   <module>r}      s0    #   , .pHD pHr   