
    Ngi                     J    d dl Zd dlZd dlmZ d dlmZ  G d de          ZdS )    N)Base)expectc                   V    e Zd Zedd            Zedd            Zedd            ZdS )FlattenreturnNc            
         d} t           j                            |                               t           j                  }t          t          |                     D ]}t          j        	                    ddgdg|          }|dk    rdn5t          j
        | d|                                       t                    df}t          j        ||          }t          ||g|gd	t          |          z   
           d S )N            r   abinputsoutputsaxisr   )   r   test_flatten_axisr   r   name)nprandomrandom_sampleastypefloat32rangelenonnxhelper	make_nodeprodintreshaper   strshaper   inode	new_shaper   s         _/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/backend/test/case/node/flatten.pyexportzFlatten.export   s    I##E**11"*==s5zz"" 
	U 
	UA;((u	 )  D $%66ac
0C0C0J0J30O0OQS/TI
1i((A4aS7JSQRVV7STTTTT
	U 
	U    c                  "   t           j                            ddgdg          } d}t          j                            |                              t          j                  }d}t          j        ||          }t          | |g|gd           d S )	Nr   r   r   )r   r   )r   r   r   r
   )r      test_flatten_default_axisr   )
r    r!   r"   r   r   r   r   r   r%   r   )r*   r(   r   r+   r   s        r,    export_flatten_with_default_axisz(Flatten.export_flatten_with_default_axis   s    {$$5E % 
 
 I##E**11"*==	Jq)$$tQC!3NOOOOOOr.   c                     d} t           j                            |                               t           j                  }t          t          |            d          D ]}t          j        	                    ddgdg|          }t          j
        | d|                                       t                    df}t          j        ||          }t          ||g|gdt          t          |                    z   	           d S )
Nr	   r   r   r   r   r   r   test_flatten_negative_axisr   )r   r   r   r   r   r   r   r    r!   r"   r#   r$   r%   r   r&   absr'   s         r,   export_flatten_negative_axisz$Flatten.export_flatten_negative_axis,   s    I##E**11"*==E

{A&& 	 	A;((u	 )  D qs,,33C88"=I
1i((As1CAKK?	    	 	r.   )r   N)__name__
__module____qualname__staticmethodr-   r2   r6    r.   r,   r   r      sz        U U U \U  P P P \P    \  r.   r   )numpyr   r    onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r;   r.   r,   <module>r?      st   
      , , , , , , . . . . . .4 4 4 4 4d 4 4 4 4 4r.   