
    Si                    N    S SK Jr  S SKrS SKrS SKJr  S SKJr   " S S\5      r	g)    )annotationsN)Base)expectc                  P    \ rS rSr\SS j5       r\SS j5       r\SS j5       rSrg)Flatten   c            
        Sn [         R                  R                  U 5      R                  [         R                  5      n[        [        U 5      5       H  n[        R                  R                  SS/S/US9nUS:X  a  SO-[         R                  " U SU 5      R                  [        5      S4n[         R                  " X5      n[        X1/U/S	[        U5      -   S
9  M     g )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         b/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/flatten.pyexportFlatten.export   s    II##E*11"**=s5z"A;;((u	 ) D $%6a
0C0J0J30OQS/TI

1(A4aS7JSQRV7ST #    c                    [         R                  R                  SS/S/S9n Sn[        R                  R                  U5      R                  [        R                  5      nSn[        R                  " X#5      n[        X/U/SS9  g )	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_axis(Flatten.export_flatten_with_default_axis   sv    {{$$5E % 
 II##E*11"**=	JJq$tC!3NOr0   c                    Sn [         R                  R                  U 5      R                  [         R                  5      n[        [        U 5      * S5       H  n[        R                  R                  SS/S/US9n[         R                  " U SU 5      R                  [        5      S4n[         R                  " X5      n[        UU/U/S[        [        U5      5      -   S	9  M     g )
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_axis$Flatten.export_flatten_negative_axis-   s    II##E*11"**=E
{A&A;;((u	 ) D q,33C8"=I

1(As1CAK?	 'r0    N)returnNone)	__name__
__module____qualname____firstlineno__staticmethodr.   r4   r9   __static_attributes__r;   r0   r-   r   r      s@    U U  P P  r0   r   )

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