
    h
                     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                   x    \ rS rSr\S	S j5       r\S	S j5       r\S	S j5       r\S	S j5       r\S	S j5       r	Sr
g)
	Unsqueeze   Nc            
         [         R                  R                  SSS5      R                  [         R                  5      n [        U R                  5       H  n[         R                  " U/5      R                  [         R                  5      n[        R                  R                  SSS/S/S9n[         R                  " XS	9n[        UX/U/S
[        U5      -   S9  M     g )N         r   xaxesyinputsoutputsaxistest_unsqueeze_axis_r   r   name)nprandomrandnastypefloat32rangendimarrayint64onnxhelper	make_nodeexpand_dimsr   str)r   ir   noder   s        _/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/unsqueeze.pyexport_unsqueeze_one_axis#Unsqueeze.export_unsqueeze_one_axis   s    IIOOAq!$++BJJ7qvvA88QC=''1D;;((V} ) D
 q)Ay+c!f4	     c                     [         R                  R                  SSS5      R                  [         R                  5      n [         R
                  " SS/5      R                  [         R                  5      n[        R                  R                  SSS/S/S	9n[         R                  " U SS
9n[         R                  " USS
9n[        X U/U/SS9  g )Nr	   r
   r      r   r   r   r   r   r   test_unsqueeze_two_axesr   r   r   r   r   r   r   r   r    r!   r"   r#   r   r   r   r&   r   s       r'   export_unsqueeze_two_axes#Unsqueeze.export_unsqueeze_two_axes!   s    IIOOAq!$++BJJ7xxA&&rxx0{{$$=E % 

 NN11%NN11%tIs9RSr*   c                     [         R                  R                  SSS5      R                  [         R                  5      n [         R
                  " / SQ5      R                  [         R                  5      n[        R                  R                  SSS/S/S	9n[         R                  " U S
S9n[         R                  " USS9n[         R                  " USS9n[        X U/U/SS9  g )Nr	   r
   r   )   r
   r   r   r   r   r   r   r3   r   test_unsqueeze_three_axesr   r.   r/   s       r'   export_unsqueeze_three_axes%Unsqueeze.export_unsqueeze_three_axes0   s    IIOOAq!$++BJJ7xx	"))"((3{{$$=E % 

 NN11%NN11%NN11%tIs9TUr*   c                     [         R                  R                  SSS5      R                  [         R                  5      n [         R
                  " / SQ5      R                  [         R                  5      n[        R                  R                  SSS/S/S	9n[         R                  " U S
S9n[         R                  " USS9n[         R                  " USS9n[        X U/U/SS9  g )Nr	   r
   r   )r   r
   r3   r   r   r   r   r   r3   r   test_unsqueeze_unsorted_axesr   r.   r/   s       r'   export_unsqueeze_unsorted_axes(Unsqueeze.export_unsqueeze_unsorted_axes@   s    IIOOAq!$++BJJ7xx	"))"((3{{$$=E % 

 NN11%NN11%NN11%tIs9WXr*   c                  t   [         R                  R                  SSS/S/S9n [        R                  R                  SSSS5      R                  [        R                  5      n[        R                  " S	/5      R                  [        R                  5      n[        R                  " US	S
9n[        XU/U/SS9  g )Nr   r   r   r   r   r,   r	   r   r   test_unsqueeze_negative_axesr   )r    r!   r"   r   r   r   r   r   r   r   r#   r   )r&   r   r   r   s       r'   export_unsqueeze_negative_axes(Unsqueeze.export_unsqueeze_negative_axesP   s    {{$$=E % 

 IIOOAq!Q'..rzz:xx~$$RXX.NN12&tIs9WXr*    )returnN)__name__
__module____qualname____firstlineno__staticmethodr(   r0   r5   r9   r>   __static_attributes__r@   r*   r'   r   r      sl     & T T V V Y Y 	Y 	Yr*   r   )numpyr   r    onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r@   r*   r'   <module>rK      s#   
   , .NY NYr*   