
    bIg                    N    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	y)    )annotationsN)Base)expectc                  B    e Zd Zedd       Zedd       Zedd       Zy)Flattenc            
        d} t         j                  j                  |       j                  t         j                        }t        t        |             D ]  }t        j                  j                  ddgdg|      }|dk(  rdn,t        j                  | d|       j                  t              df}t        j                  ||      }t        ||g|gd	t        |      z   
        y )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/answerous/venv/lib/python3.12/site-packages/onnx/backend/test/case/node/flatten.pyexportzFlatten.export   s    II##E*11"**=s5z" 
	UA;;((u	 ) D $%6a
0C0J0J30OQS/TI

1i(A4aS7JSQRV7ST
	U    c                    t         j                  j                  ddgdg      } d}t        j                  j                  |      j                  t        j                        }d}t        j                  ||      }t        | |g|gd       y )	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   sz    {{$$5E % 
 II##E*11"**=	JJq)$tQC!3NOr.   c                    d} t         j                  j                  |       j                  t         j                        }t        t        |        d      D ]  }t        j                  j                  ddgdg|      }t        j                  | d|       j                  t              df}t        j                  ||      }t        ||g|gdt        t        |            z   	        y )
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    II##E*11"**=E
{A& 	A;;((u	 ) D q,33C8"=I

1i(As1CAK?		r.   N)returnNone)__name__
__module____qualname__staticmethodr-   r2   r6    r.   r,   r   r      s@    U U  P P  r.   r   )

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