
    h>              	           S SK rS SKrS SKJr  S SKJr   SS\R                  S\R                  S\S\R                  4S jjr	 " S	 S
\5      r
g)    N)Base)expectdatashape	allowzeroreturnc                     [         R                  " U5      nUS:X  a>  [         R                  " US:H  5      n[         R                  " U R                  5      U   X4'   [         R
                  " X5      nU$ )Nr   )npcopywherearrayr   reshape)r   r   r   	new_shapezeros_indexreshapeds         ]/var/www/fran/franai/venv/lib/python3.13/site-packages/onnx/backend/test/case/node/reshape.py reshape_reference_implementationr      sW    
 IA~hhuz*!#$**!5k!B	zz$*HO    c                   <    \ rS rSr\SS j5       r\SS j5       rSrg)Reshape   Nc                     / SQn [         R                  " / SQ[         R                  S9[         R                  " / SQ[         R                  S9[         R                  " SS/[         R                  S9[         R                  " / SQ[         R                  S9[         R                  " S/[         R                  S9[         R                  " / S	Q[         R                  S9[         R                  " / S
Q[         R                  S9[         R                  " / SQ[         R                  S9[         R                  " / SQ[         R                  S9S.	n[         R                  R	                  U 5      R                  [         R                  5      nUR                  5        HC  u  p4[        R                  R                  SSS/S/S9n[        X$5      n[        UX$/U/SU-   S9  ME     g )N)         )r   r   r   dtype)r   r   r   r      )r   r   r   r      )r   r   )r    r   r   r   )r   r   r      )r   r   r!   r    )	reordered_all_dimsreordered_last_dimsreduced_dimsextended_dimsone_dimnegative_dimnegative_extended_dimszero_dimzero_and_negative_dimr   r   r   r   )inputsoutputstest_reshape_r+   r,   namer
   r   int64randomrandom_sampleastypefloat32itemsonnxhelper	make_noder   r   original_shape
test_casesr   	test_namer   noder   s          r   export_reshapeReshape.export_reshape   sC   ""$((9BHH"E#%88IRXX#FHHaWBHH=XXl"((CxxBHH5HHZrxx@&(hh}BHH&MRXX>%'XXm288%L


 yy&&~6==bjjI * 0 0 2I;;(((# ) D 8DH}!
$y0	 !3r   c                     / SQn S[         R                  " / SQ[         R                  S90n[         R                  R	                  U 5      R                  [         R                  5      nUR                  5        HC  u  p4[        R                  R                  SSS/S/S	S
9n[        X$S	S9n[        UX$/U/SU-   S9  ME     g )N)r   r   r   allowzero_reordered)r   r   r   r   r   r   r   r   r!   )r+   r,   r   )r   r-   r.   r0   r:   s          r   export_allowzeroReshape.export_allowzero:   s    "!288IRXX#F

 yy&&~6==bjjI * 0 0 2I;;(((#	 ) D 8qQH}!
$y0	 !3r    )r   N)__name__
__module____qualname____firstlineno__staticmethodr?   rC   __static_attributes__rE   r   r   r   r      s(     >  r   r   )r   )numpyr
   r7   onnx.backend.test.case.baser   onnx.backend.test.case.noder   ndarrayintr   r   rE   r   r   <module>rQ      sU   
   , . ;<

**
ZZ
47
ZZ
9d 9r   