
    hi                     B    S SK rS SKrS SKJr  S SKJr   " S S\5      rg)    N)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   Nc            
         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         ]/var/www/fran/franai/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Or/   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?	 'r/    )returnN)	__name__
__module____qualname____firstlineno__staticmethodr-   r3   r8   __static_attributes__r:   r/   r,   r   r      s@    U U  P P  r/   r   )numpyr   r    onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r:   r/   r,   <module>rE      s   
   , .4d 4r/   