§
    1�Åj›  ã                  ób   — d dl mZ d dlZd dlZd dlmZ d dlmZ 	 ddd„Z	 G d„ de¦  «        Z
dS )é    )ÚannotationsN)ÚBase)ÚexpectÚdataú
np.ndarrayÚshapeÚ	allowzeroÚintÚreturnc                óÔ   — t          j        |¦  «        }|dk    r:t          j        |dk    ¦  «        }t          j        | j        ¦  «        |         ||<   t          j        | |¦  «        S )Nr   )ÚnpÚcopyÚwhereÚarrayr   Úreshape)r   r   r	   Ú	new_shapeÚzeros_indexs        úTC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/reshape.pyÚ reshape_reference_implementationr      sZ   € õ
 ”˜‘”€IØ�A‚~€~Ý”h˜u¨šzÑ*Ô*ˆÝ!#¤¨$¬*Ñ!5Ô!5°kÔ!Bˆ	�+ÑÝŒ:�d˜IÑ&Ô&Ð&ó    c                  ó>   — e Zd Zedd„¦   «         Zedd„¦   «         ZdS )ÚReshaper   ÚNonec                 ó¬  — g d¢} t          j        g d¢t           j        ¬¦  «        t          j        g d¢t           j        ¬¦  «        t          j        ddgt           j        ¬¦  «        t          j        g d¢t           j        ¬¦  «        t          j        dgt           j        ¬¦  «        t          j        g d	¢t           j        ¬¦  «        t          j        g d
¢t           j        ¬¦  «        t          j        g d¢t           j        ¬¦  «        t          j        g d¢t           j        ¬¦  «        dœ	}t           j                             | ¦  «                             t           j        ¦  «        }|                     ¦   «         D ]S\  }}t          j	         
                    dddgdg¬¦  «        }t          ||¦  «        }t          |||g|gd|z   ¬¦  «         ŒTd S )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   Úreshaped)Ú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_reshapezReshape.export_reshape   s®  € à"˜˜ˆå"$¤(¨9¨9¨9½B¼HÐ"EÑ"EÔ"EÝ#%¤8¨I¨I¨I½R¼XÐ#FÑ#FÔ#FÝœH a¨ WµB´HÐ=Ñ=Ô=ÝœX l l l½"¼(ÐCÑCÔCÝ”x  ­B¬HÐ5Ñ5Ô5ÝœH Z Z Zµr´xÐ@Ñ@Ô@Ý&(¤h¨}¨}¨}ÅBÄHÐ&MÑ&MÔ&MÝœ   µR´XÐ>Ñ>Ô>Ý%'¤X¨m¨m¨mÅ2Ä8Ð%LÑ%LÔ%Lð

ð 

ˆ
õ Œy×&Ò& ~Ñ6Ô6×=Ò=½b¼jÑIÔIˆà *× 0Ò 0Ñ 2Ô 2ð 	ð 	ÑˆI�uÝ”;×(Ò(ØØ Ð(Ø#˜ð )ñ ô ˆDõ 8¸¸eÑDÔDˆHåØØ˜e�}Ø!˜
Ø$ yÑ0ð	ñ ô ð ð ð	ð 	r   c                 ó¤  — g d¢} dt          j        g d¢t           j        ¬¦  «        i}t           j                             | ¦  «                             t           j        ¦  «        }|                     ¦   «         D ]V\  }}t          j	         
                    dddgdgd	¬
¦  «        }t          ||d	¬¦  «        }t          |||g|gd|z   ¬¦  «         ŒWd S )N)r   r   r   Úallowzero_reordered)r   r   r   r   r   r   r   r-   r#   )r.   r/   r	   )r	   r0   r1   r3   r=   s          r   Úexport_allowzerozReshape.export_allowzero:   sõ   € à"˜˜ˆà!¥2¤8¨I¨I¨I½R¼XÐ#FÑ#FÔ#Fð
ˆ
õ Œy×&Ò& ~Ñ6Ô6×=Ò=½b¼jÑIÔIˆà *× 0Ò 0Ñ 2Ô 2ð 	ð 	ÑˆI�uÝ”;×(Ò(ØØ Ð(Ø#˜Øð	 )ñ ô ˆDõ 8¸¸eÈqÐQÑQÔQˆHåØØ˜e�}Ø!˜
Ø$ yÑ0ð	ñ ô ð ð ð	ð 	r   N)r   r   )Ú__name__Ú
__module__Ú__qualname__ÚstaticmethodrB   rE   © r   r   r   r      sR   € € € € € Øðð ð ñ „\ðð> ðð ð ñ „\ðð ð r   r   )r   )r   r   r   r   r	   r
   r   r   )Ú
__future__r   Únumpyr   r:   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   r   r   rJ   r   r   ú<module>rO      s¤   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ð ;<ð	'ð 	'ð 	'ð 	'ð 	'ð9ð 9ð 9ð 9ð 9ˆdñ 9ô 9ð 9ð 9ð 9r   