
    /j                    V    d dl mZ 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 )    )annotationsN)Base)expectc                  V    e Zd Zedd            Zedd            Zedd            ZdS )FlattenreturnNonec            
        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         h/home/longshao/multi-rider-rag/.venv/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Or0   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?	    	 	r0   N)r   r	   )__name__
__module____qualname__staticmethodr/   r4   r8    r0   r.   r   r      sz        U U U \U  P P P \P    \  r0   r   )

__future__r   numpyr   r"   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r=   r0   r.   <module>rB      s    # " " " " "      , , , , , , . . . . . .4 4 4 4 4d 4 4 4 4 4r0   