§
    1�Åj’  ã                  ó^   — d dl mZ d dl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                  ón   — e Zd Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         Zedd„¦   «         ZdS )	ÚScanÚreturnÚNonec            
     óâ  — t           j                             d¦  «        } t          j        ddg¦  «                             t          j        ¦  «                             d¦  «        }t          j        g d¢¦  «                             t          j        ¦  «                             d¦  «        }t          j        ddg¦  «                             t          j        ¦  «                             d¦  «        }t          j        g d¢¦  «                             t          j        ¦  «                             d¦  «        }t          | ||g||gd	t           j	         
                    d
d¦  «        g¬¦  «         d S )Nap  
            y, z = Scan ("", initial, x) <
                num_scan_inputs = 1,
                body = scan_body (float[2] sum_in, float[2] next)
                    => (float[2] sum_out, float[2] scan_out)
                {
                    sum_out  = Add(sum_in, next)
                    scan_out = Identity(sum_out)
                }
            >
            r   )é   é   ©r   r   é   é   é   é   )r   r   r   é	   é   ©r   r   r   r   r   r   Útest_scan_sumÚ é   ©ÚinputsÚoutputsÚnameÚopset_imports©ÚonnxÚparserÚ
parse_nodeÚnpÚarrayÚastypeÚfloat32Úreshaper   ÚhelperÚmake_opsetid©ÚnodeÚinitialÚxÚyÚzs        úQC:\Projects\Historical\venv\Lib\site-packages\onnx/backend/test/case/node/scan.pyÚexport_scan_8zScan.export_scan_8   s9  € õ Œ{×%Ò%ð
ñ
ô 
ˆõ ”(˜A˜q˜6Ñ"Ô"×)Ò)­"¬*Ñ5Ô5×=Ò=¸fÑEÔEˆÝŒHÐ'Ð'Ð'Ñ(Ô(×/Ò/µ´
Ñ;Ô;×CÒCÀIÑNÔNˆåŒH�a˜�WÑÔ×$Ò$¥R¤ZÑ0Ô0×8Ò8¸Ñ@Ô@ˆåŒHÐ(Ð(Ð(Ñ)Ô)×0Ò0µ´Ñ<Ô<×DÒDÀYÑOÔOˆåØØ˜Q�<Ø˜�FØ Ýœ;×3Ò3°B¸Ñ:Ô:Ð;ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
ó    c            
     óâ  — t           j                             d¦  «        } t          j        ddg¦  «                             t          j        ¦  «                             d¦  «        }t          j        g d¢¦  «                             t          j        ¦  «                             d¦  «        }t          j        ddg¦  «                             t          j        ¦  «                             d¦  «        }t          j        g d¢¦  «                             t          j        ¦  «                             d¦  «        }t          | ||g||gd	t           j	         
                    d
d¦  «        g¬¦  «         d S )Nal  
            y, z = Scan (initial, x) <
                num_scan_inputs = 1,
                body = scan_body (float[2] sum_in, float[2] next)
                    => (float[2] sum_out, float[2] scan_out)
                {
                    sum_out  = Add(sum_in, next)
                    scan_out = Identity(sum_out)
                }
            >
            r   )r   r   ©r   r   r   r   r   Útest_scan9_sumr   r   r   r(   s        r.   Úexport_scan_9zScan.export_scan_92   s9  € õ
 Œ{×%Ò%ð
ñ
ô 
ˆõ ”(˜A˜q˜6Ñ"Ô"×)Ò)­"¬*Ñ5Ô5×=Ò=¸dÑCÔCˆÝŒHÐ'Ð'Ð'Ñ(Ô(×/Ò/µ´
Ñ;Ô;×CÒCÀFÑKÔKˆåŒH�a˜�WÑÔ×$Ò$¥R¤ZÑ0Ô0×8Ò8¸Ñ>Ô>ˆåŒHÐ(Ð(Ð(Ñ)Ô)×0Ò0µ´Ñ<Ô<×DÒDÀVÑLÔLˆåØØ˜Q�<Ø˜�FØ!Ýœ;×3Ò3°B¸Ñ:Ô:Ð;ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r0   c            
     óf  — t           j                             d¦  «        } t          j        ddg¦  «                             t          j        ¦  «        }t          j        ddg¦  «                             t          j        ¦  «        }t          j        g d¢¦  «                             t          j        ¦  «                             d¦  «        }t          j        ddg¦  «                             t          j        ¦  «        }t          j        dd	g¦  «                             t          j        ¦  «        }t          j        g d
¢¦  «                             t          j        ¦  «                             d¦  «        }t          | |||g|||gdt           j	         
                    dd¦  «        g¬¦  «         d S )Naá  
            y_sum, y_prod, z = Scan (initial_sum, initial_prod, x) <
                num_scan_inputs = 1,
                body = scan_body (float[2] sum_in, float[2] prod_in, float[2] next)
                    => (float[2] sum_out, float[2] prod_out, float[2] scan_out)
                {
                    sum_out  = Add(sum_in, next)
                    prod_out = Mul(prod_in, next)
                    scan_out = Identity(sum_out)
                }
            >
            r   r   r   r2   r   r   é   é0   r   Útest_scan9_multi_stater   r   r   )r)   Úinitial_sumÚinitial_prodr+   Úy_sumÚy_prodr-   s          r.   Úexport_scan_9_multi_statezScan.export_scan_9_multi_stateT   si  € õ Œ{×%Ò%ðñ
ô 
ˆõ ”h  1˜vÑ&Ô&×-Ò-­b¬jÑ9Ô9ˆÝ”x  A Ñ'Ô'×.Ò.­r¬zÑ:Ô:ˆÝŒHÐ'Ð'Ð'Ñ(Ô(×/Ò/µ´
Ñ;Ô;×CÒCÀFÑKÔKˆå”˜!˜R˜Ñ!Ô!×(Ò(­¬Ñ4Ô4ˆå”˜2˜r˜(Ñ#Ô#×*Ò*­2¬:Ñ6Ô6ˆåŒHÐ(Ð(Ð(Ñ)Ô)×0Ò0µ´Ñ<Ô<×DÒDÀVÑLÔLˆåØØ ¨qÐ1Ø˜F AÐ&Ø)Ýœ;×3Ò3°B¸Ñ:Ô:Ð;ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r0   c            
     óÎ  — t           j                             d¦  «        } t          j        d¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          j        d¦  «        }t          j        g d¢¦  «                             t          j        ¦  «        }t          | ||g||gdt           j         	                    dd¦  «        g¬	¦  «         d S )
Na`  
            y, z = Scan (initial, x) <
                num_scan_inputs = 1,
                body = scan_body (float sum_in, float next)
                    => (float sum_out, float scan_out)
                {
                    sum_out  = Add(sum_in, next)
                    scan_out = Identity(sum_out)
                }
            >
            g        )r   r   r   r   r   g      .@)r   r   r   é
   r6   Útest_scan9_scalarr   r   r   )
r   r   r    r!   r$   r"   r#   r   r&   r'   r(   s        r.   Úexport_scan_9_scalarzScan.export_scan_9_scalar}   sÔ   € õ Œ{×%Ò%ð
ñ
ô 
ˆõ ”*˜S‘/”/ˆÝŒH�_�_�_Ñ%Ô%×,Ò,­R¬ZÑ8Ô8ˆåŒJ�tÑÔˆåŒHÐ&Ð&Ð&Ñ'Ô'×.Ò.­r¬zÑ:Ô:ˆåØØ˜Q�<Ø˜�FØ$Ýœ;×3Ò3°B¸Ñ:Ô:Ð;ð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r0   N)r   r	   )Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr/   r4   r=   rA   © r0   r.   r   r      s•   € € € € € Øð 
ð  
ð  
ñ „\ð 
ðD ð
ð 
ð 
ñ „\ð
ðB ð&
ð &
ð &
ñ „\ð&
ðP ð
ð 
ð 
ñ „\ð
ð 
ð 
r0   r   )Ú
__future__r   Únumpyr!   r   Úonnx.parserÚonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   r   rF   r0   r.   ú<module>rL      sœ   ðð #Ð "Ð "Ð "Ð "Ð "à Ð Ð Ð à €€€Ø Ð Ð Ð Ø ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø .Ð .Ð .Ð .Ð .Ð .ðM
ð M
ð M
ð M
ð M
ˆ4ñ M
ô M
ð M
ð M
ð M
r0   