
    /j9                    h    d dl mZ d dl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 )	    )annotations)AnyN)Base)expectc                n    t          |          D ]$}|g }|| d t          |dz                      gz  }%|S )N   )rangeint)xseq
trip_countis       e/home/longshao/multi-rider-rag/.venv/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returnNonec                 	   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   r5   r7   	slice_outIdentity	loop_bodyr   )r   condyres_yres_scanr+   r,   bodyr!      )r   r       rC   )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/   r0   r   r5   const_tensor_zeror   r   r6   const_tensor_axesr1   r2   r3   r4   r7   r8   r9   r:   SequenceInsertr;   r<   r   )r   r=   	seq_emptyseq_resrA   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_seqrG   rC   r+   r,   r&   rI   input_type_protos)rJ   rK   make_tensor_sequence_value_inforM   rN   rL   rO   rP   rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r   r^   make_tensor_type_protomake_sequence_type_proto)rk   rl   r   r   r   r_   r`   zero_const_node	axes_nodeadd_noderc   rd   insert_noderf   r<   rh   r   rq   rr   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_inrl   r   r   r   r   r   OptionalHasElementoptional_has_elemr3   Notoptional_is_noneOptionalGetElementrk   r#   constant_inconst_tensorr0   r%   r*   SequenceConstructinit_seq_in	then_body	else_bodyIfsequence)r+   r,   then_branchelse_branchr   r$   r.   r/   r   r5   rm   rn   r6   ro   r1   r2   r4   r7   r8   r9   r:   rp   r;   r<   r   )r   r=   opt_seqrr   rA   r!   test_loop16_seq_nonerG      rw   )rJ   rK   rz   rM   rN   r{   make_optional_type_protomake_value_infory   rL   rO   rP   rQ   rR   rS   rT   rU   rV   rZ   rW   rX   rY   r[   r\   r   r   r^   )#	ten_in_tp	seq_in_tp	opt_in_tpopt_inrl   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~   rc   rd   r   rf   r<   rh   r   r=   rr   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   N)r   r   )__name__
__module____qualname__staticmethodri   r   r   r0   r   r   r   r      s        n
 n
 n
 \n
` F
 F
 F
 \F
P x
 x
 x
 \x
 x
 x
r   r   )
__future__r   typingr   numpyrQ   rJ   onnx.backend.test.case.baser   onnx.backend.test.case.noder   r   r   r0   r   r   <module>r      s    # " " " " "            , , , , , , . . . . . .  t
 t
 t
 t
 t
4 t
 t
 t
 t
 t
r   