§
    1�ÅjÍ  ã                  óV   — d dl mZ d dlZd dlZd dlmZ d dlmZ  G d„ de¦  «        Z	dS )é    )ÚannotationsN)ÚBase)Úexpectc                  óV   — e Zd Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         ZdS )ÚFlattenÚreturnÚNonec            
     óú  — d} t           j                             | ¦  «                             t           j        ¦  «        }t          t          | ¦  «        ¦  «        D ]Ÿ}t          j         	                    ddgdg|¬¦  «        }|dk    rdn5t          j
        | d|…         ¦  «                             t          ¦  «        df}t          j        ||¦  «        }t          ||g|gd	t          |¦  «        z   ¬
¦  «         Œ d S )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         úTC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/flatten.pyÚexportzFlatten.export   sø   € àˆÝŒI×#Ò# EÑ*Ô*×1Ò1µ"´*Ñ=Ô=ˆå•s˜5‘z”zÑ"Ô"ð 
	Uð 
	UˆAÝ”;×(Ò(ØØ�uØ˜Øð	 )ñ ô ˆDð $%¨¢6 6˜˜µ´¸¸aÀ¸c¼
Ñ0CÔ0C×0JÒ0JÍ3Ñ0OÔ0OÐQSÐ/TˆIÝ”
˜1˜iÑ(Ô(ˆAÝ�4  ¨a¨SÐ7JÍSÐQRÉVÌVÑ7SÐTÑTÔTÐTÐTð
	Uð 
	Uó    c                 ó"  — t           j                             ddgdg¬¦  «        } d}t          j                             |¦  «                             t          j        ¦  «        }d}t          j        ||¦  «        }t          | |g|gd¬¦  «         d S )	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_axisz(Flatten.export_flatten_with_default_axis   s�   € åŒ{×$Ò$ØØ�5Ø�Eð %ñ 
ô 
ˆð ˆÝŒI×#Ò# EÑ*Ô*×1Ò1µ"´*Ñ=Ô=ˆØˆ	ÝŒJ�q˜)Ñ$Ô$ˆÝˆt˜Q˜C¨!¨Ð3NÐOÑOÔOÐOÐOÐOr0   c                 ó  — d} t           j                             | ¦  «                             t           j        ¦  «        }t          t          | ¦  «         d¦  «        D ]¤}t          j         	                    ddgdg|¬¦  «        }t          j
        | d|…         ¦  «                             t          ¦  «        df}t          j        ||¦  «        }t          ||g|gdt          t          |¦  «        ¦  «        z   ¬	¦  «         Œ¥d S )
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_axisz$Flatten.export_flatten_negative_axis-   sý   € àˆÝŒI×#Ò# EÑ*Ô*×1Ò1µ"´*Ñ=Ô=ˆå�˜E™
œ
�{ AÑ&Ô&ð 	ð 	ˆAÝ”;×(Ò(ØØ�uØ˜Øð	 )ñ ô ˆDõ œ  q¨ s¤Ñ,Ô,×3Ò3µCÑ8Ô8¸"Ð=ˆIÝ”
˜1˜iÑ(Ô(ˆAÝØØ�sØ˜Ø1µC½¸A¹¼±K´KÑ?ð	ñ ô ð ð ð	ð 	r0   N)r   r	   )Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr/   r4   r8   © r0   r.   r   r      sz   € € € € € ØðUð Uð Uñ „\ðUð  ðPð Pð Pñ „\ðPð ðð ð ñ „\ðð ð r0   r   )
Ú
__future__r   Únumpyr   r"   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   r   r=   r0   r.   ú<module>rB      s†   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ð4ð 4ð 4ð 4ð 4ˆdñ 4ô 4ð 4ð 4ð 4r0   