
    Ng~9                     `    d dl mZmZ d dlZd dlZd dlmZ d dlm	Z	 d Z
 G d de          ZdS )    )AnyListN)Base)expectc                 n    t          |          D ]$}|g }|| d t          |dz                      gz  }%|S )N   )rangeint)xseq
trip_countis       \/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/backend/test/case/node/loop.pycompute_loop_outputsr      sI    : ! !;C,CAJJ,  J    c                   V    e Zd Zedd            Zedd            Zedd            ZdS )LoopreturnNc                  	   t           j                            dt           j        j        dg          } t           j                            dt           j        j        dg          }t           j                            dt           j        j        dg          }t           j                            dt           j        j        g           }t           j                            dt           j        j        g           }t           j                            dt           j        j        g           }t          j        g d          	                    t          j
                  }t          j        d	g          	                    t          j
                  }t           j                            d
g dgt           j                            dt           j        j        |j        |                                	                    t                                        }t           j                            d
g dgt           j                            dt           j        j        ddg                    }	t           j                            dddgdg          }
t           j                            ddgdgdg          }t           j                            ddgdgdg          }t           j                            dg ddg          }t           j                            dddgdg          }t           j                            ddgdg          }t           j                            ddgdg          }t           j                            |||	|
|||||g	d||| g|||g          }t           j                            dg d d!d"g|#          }t          j        d$          	                    t          j                  }t          j        d%g          	                    t          j
                  }t          j        d          	                    t$                    }t          j        g d&          	                    t          j
                                      d'          }t)          ||||g||gd(t           j                            d)d*          g+           d S ),Ny_inr   y_outscan_outcond_incond_out
iter_countr               Constantr   const_tensor_xname	data_typedimsvalsinputsoutputsvalueoneconst_tensor_one Addendr*   r+   	Unsqueezeslice_startr   )r*   r+   axes	slice_endSlicer   r4   r6   	slice_outIdentity	loop_bodyr   )r   condyres_yres_scanr*   r+   bodyr       )r   r      rB   )r    r   test_loop11    )r*   r+   r%   opset_imports)onnxhelpermake_tensor_value_infoTensorProtoFLOATBOOLINT64nparrayastypefloat32	make_nodemake_tensorshapeflattenfloat
make_graphint64boolreshaper   make_opsetid)r   r   r   r   r   r   r   r=   x_const_nodeone_const_node
i_add_nodestart_unsqueeze_nodeend_unsqueeze_node
slice_node
y_add_nodeidentity_nodescan_identity_noder;   noder   r>   r<   r?   s                          r   export_loop_11zLoop.export_loop_11   s    {11&$:J:PSTRUVV227D<L<RUVTWXX;55(.
 
 +44t',b
 
 ;55(-r
 
 [77$*0"
 

 H___%%,,RZ88HbTNN!!"*--{,,E+))%*0WYY[[''..	 *  	 - 

 

 ..G+))'*0S	 *  	 / 

 

 [**</% + 
 

  ${44qc  5  
  
 "[22+aS 3 
 
 [**===} + 
 

 [**6;/' + 
 

 --	{ZL . 
 
 "[22y:, 3 
 
 K**$""
 $'uh'
 
	" {$$...j)	 % 
 
 Xa[[''11
"%%bj11x{{!!$''8---..55bjAAII&QQa(H%;33B;;<	
 	
 	
 	
 	
 	
r   c                  
   t           j                            dt           j        j        d           } t           j                            dt           j        j        d           }t           j                            dt           j        j        g           }t           j                            dt           j        j        g           }t           j                            dt           j        j        g           }t          j	        g d          
                    t          j                  t           j                            dg dgt           j                            d	t           j        j        j                                        
                    t                     
                    }t           j                            dg dgt           j                            dt           j        j        ddg
                    }t           j                            dg dgt           j                            dt           j        j        ddg
                    }t           j                            dg dgt           j                            dt           j        j        ddg
                    }t           j                            dddgdg          }	t           j                            dddgdg          }
t           j                            dg ddg          }t           j                            dddgdg          }t           j                            ddgdg          }t           j                            |||||	||
||g	d ||| g||g          }t           j                            d!g d"d#g|$          }t          j	        d%          
                    t          j                  }g }fd&D             }t          j	        d          
                    t&                    }t)          ||||g|gd't           j                            d(d)          gt           j                            t           j        j        |j                  t           j                            t           j        j        |j                  t           j                            t           j                            t           j        j        g                     g*           d S )+Nseq_inseq_outr   r   r   r   r"   r   r#   r$   r)   r-   r.   r/   r   r4   const_tensor_zeror   r   r5   const_tensor_axesr0   r1   r2   r3   r6   r7   r8   r9   SequenceInsertr:   r;   r   )r   r<   	seq_emptyseq_resr@   r    c                 >    g | ]}d t          |                   S )N)r
   ).0r   r   s     r   
<listcomp>z'Loop.export_loop_13.<locals>.<listcomp>   s'    ***11Xs1vvX;***r   test_loop13_seqrF   rB   r*   r+   r%   rH   input_type_protos)rI   rJ   make_tensor_sequence_value_inforL   rM   rK   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r   r]   make_tensor_type_protomake_sequence_type_proto)rj   rk   r   r   r   r^   r_   zero_const_node	axes_nodeadd_noderb   rc   insert_nodere   r;   rg   r   rp   rq   r<   r   s                       @r   export_loop_13zLoop.export_loop_13   s    <<d&,d
 
 +==t'-t
 
 +44t',b
 
 ;55(-r
 
 [77$*0"
 

 H___%%,,RZ88{,,E+))%*0WYY[[''..	 *  	 - 

 

 ..G+))'*0S	 *  	 / 

 

 +//"O+))(*0S	 *  	 0 

 

 K))H+))(*0S	 *  	 * 

 

	 ;((</% ) 
 
 "[22+ 3 
 
 [**===} + 
 

 k++h%<yk , 
 
 --	{ZL . 
 
 K**"
 &)w
 
	" {$$666K	 % 
 
 Xa[[''11
!	*******x{{!!$''i0I";33B;;<22$*J,<  2243C3H$*UU44K66t7G7MrRR 	
 	
 	
 	
 	
 	
r   c                     t           j                            t           j        j        g           } t           j                            |           }t           j                            |          }t           j                            d|          }t           j                            dt           j        j        g           }t           j        	                    dt           j        j
        g           }t           j        	                    dt           j        j
        g           }t           j        	                    dt           j        j        g           }t          j        d                              t          j                  }t          j        g d                              t          j                  }	t           j                            ddgd	g
          }
t           j                            dd	gdg
          }t           j                            ddgdg
          }t           j                            dg dgt           j                            dt           j        j        ddg                    }t           j                            ddgdg
          }t           j                            dt           j        j        g           }t           j                            ||gdg |g          }t           j                            dt           j        j        g           }t           j                            |gdg |g          }t           j                            ddgdg||          }t           j                            dg dgt           j                            dt           j        j        |	j        |	                                                    t*                                        }t           j                            dg dgt           j                            dt           j        j        dd g                    }t           j                            dg d!gt           j                            d"t           j        j        d#dg                    }t           j                            dg d$gt           j                            d%t           j        j        ddg                    }t           j                            d&ddgd'g
          }t           j                            d(d'd$gd)g
          }t           j                            d*g d+d,g
          }t           j                            d-dd,gdg
          }t           j                            d.dgdg
          }t           j                            ||
||||||||||gd/|||g||g          }t           j                            d0g d1d2g|3          }t          j        d4                              t          j                  }t          j        d                               t.                    } t1          |	|g|          }!|g}"t3          ||| |"g|!gd5t           j                            d6d7          gt           j                            t           j        j        |j                  t           j                            t           j        j
        | j                  |g8           d S )9N
opt_seq_inrk   r   r   r   r   r   OptionalHasElementoptional_has_elemr2   Notoptional_is_noneOptionalGetElementrj   r"   constant_inconst_tensorr/   r$   r)   SequenceConstructinit_seq_in	then_body	else_bodyIfsequence)r*   r+   then_branchelse_branchr   r#   r-   r.   r   r4   rl   rm   r5   rn   r0   r1   r3   r6   r7   r8   r9   ro   r:   r;   r   )r   r<   opt_seqrq   r@   r    test_loop16_seq_nonerF      rv   )rI   rJ   ry   rL   rM   rz   make_optional_type_protomake_value_inforx   rK   rN   rO   rP   rQ   rR   rS   rT   rU   rY   rV   rW   rX   rZ   r[   r   r   r]   )#	ten_in_tp	seq_in_tp	opt_in_tpopt_inrk   r   r   r   x0r   optional_has_elem_noder   optional_get_elemr   seq_const_inthen_seq_outr   else_seq_outr   if_noder^   r_   r{   r|   r}   rb   rc   r~   re   r;   rg   r   r<   rq   r   s#                                      r   export_loop_16_nonezLoop.export_loop_16_none  s    K66t7G7MrRR	K88CC	K88CC	,,\9EE+==t'-r
 
 +44t',b
 
 ;55(-r
 
 [77$*0"
 

 Xa[[
++H___%%,,RZ88!%!6!6 ,BUAV "7 "
 "
  ;00./:L9M 1 
 
 !K11 ,( 2 
 
 k++"O+))#t/?/EBVWUX *  	 , 
 
 {,,- - 
 
 {BB4+12
 
 K**,'b<.
 
	 {BBd&,b
 
 K**b<.
 
	 +''&'L!! ( 
 
 {,,E+))%*0WYY[[''..	 *  	 - 

 

 ..G+))'*0S	 *  	 / 

 

 +//"O+))(*0S	 *  	 0 

 

 K))H+))(*0S	 *  	 * 

 

	 ;((</% ) 
 
 "[22+ 3 
 
 [**===} + 
 

 k++j+%> , 
 
 --	{ZL . 
 
 K**& " &)w#
 
	( {$$444K	 % 
 
 Xa[[''11
x{{!!$''&q2$
;;!#
j1I';33B;;<22$*J,<  2243C3H$*UU	
 	
 	
 	
 	
 	
r   )r   N)__name__
__module____qualname__staticmethodrh   r   r   r/   r   r   r   r      s        n
 n
 n
 \n
` F
 F
 F
 \F
P x
 x
 x
 \x
 x
 x
r   r   )typingr   r   numpyrP   rI   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r/   r   r   <module>r      s   
              , , , , , , . . . . . .  t
 t
 t
 t
 t
4 t
 t
 t
 t
 t
r   