
    Ng0                     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 )	    N)Base)expectc                 ,    t          j        | |          S N)nptriuxks     ]/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/backend/test/case/node/trilu.pytriu_reference_implementationr          71a==    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returnNc                     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bv..55bh?? *!,,tQC!;??????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bv..55bh??HRLL)) *!SVV44tQFQCo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"   r2   r5   s       r   export_triu_out_neg_outzTrilu.export_triu_out_neg_outB   s    {$$:E % 
 
 Ibv..55bh??HRLL)) *!SVV44tQFQC6M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"   r2   r5   s       r   export_triu_poszTrilu.export_triu_posY   s    {$$:E % 
 
 Ibv..55bh??HQKKrx(( *!SVV44tQFQCo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"   r2   r5   s       r   export_triu_out_poszTrilu.export_triu_out_posp   s    {$$:E % 
 
 Ibv..55bh??HQKKrx(( *!SVV44tQFQC6I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<      rE   r   test_triu_squarer"   r$   r,   s      r   export_triu_squarezTrilu.export_triu_square   s    {$$5E % 
 
 Iby1188BB)!,," 	tQC!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   rD   r   r0   test_triu_square_negr"   r2   r5   s       r   export_triu_square_negzTrilu.export_triu_square_neg   s    {$$:E % 
 
 Iby1188BBHRLL))" *!SVV44tQFQC6L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   rE      r   r   rM   test_triu_one_rowr"   r2   r5   s       r   export_triu_one_rowzTrilu.export_triu_one_row   s    {$$:E % 
 
 Iby1188BBHQKKrx(( *!SVV44tQFQC6I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   r@   test_triu_zeror"   r2   r5   s       r   export_triu_zerozTrilu.export_triu_zero   s    {$$:E % 
 
 Ibv..55bh??HQKKrx((
 *!SVV44tQFQC6F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bv..55bh?? *!,,tQC!;??????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   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	 % 
 
 Ibv..55bh??HRLL)) *!SVV44tQFQCo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   rT   r   r   r   r8   test_tril_out_negr"   r[   r5   s       r   export_tril_out_negzTrilu.export_tril_out_neg  s    {$$:E	 % 
 
 Ibv..55bh??HRLL)) *!SVV44tQFQC6I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   rT   r   r   r   r<   test_tril_posr"   r[   r5   s       r   export_tril_poszTrilu.export_tril_pos1  s    {$$:E	 % 
 
 Ibv..55bh??HQKKrx(( *!SVV44tQFQCo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   rT   r   r   r   r@   test_tril_out_posr"   r[   r5   s       r   export_tril_out_poszTrilu.export_tril_out_posI  s    {$$:E	 % 
 
 Ibv..55bh??HQKKrx(( *!SVV44tQFQC6I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   rT   r   rD   r   test_tril_squarer"   rW   r,   s      r   export_tril_squarezTrilu.export_tril_square`  s    {$$5E	 % 
 
 Iby1188BB" *!,,tQC!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   rT   r   rD   r   r0   test_tril_square_negr"   r[   r5   s       r   export_tril_square_negzTrilu.export_tril_square_neg}  s    {$$:E	 % 
 
 Iby1188BBHRLL))" *!SVV44tQFQC6L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   rT   r   rL   r   test_tril_one_row_negr"   rW   r,   s      r   export_tril_one_rowzTrilu.export_tril_one_row  s    {$$5E	 % 
 
 Iby1188BB *!,,tQC!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   rT   r   )rE   r   r   r   r@   test_tril_zeror"   r[   r5   s       r   export_tril_zerozTrilu.export_tril_zero  s    {$$:E	 % 
 
 Iby1188BBHQKKrx((
 *!SVV44tQFQC6FGGGGGGr   )r   N)__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 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   )
numpyr   r%   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r   rv   r   r   <module>rz      s   
      , , , , , , . . . . . .      pH pH pH pH pHD pH pH pH pH pHr   