
    bIg                        d dl mZ d dlmZ  G d de      Z G d de      Z G d de      Z G d	 d
e      Z G d de      Zy)    )annotations)OpRunc                      e Zd Zd Zd Zy)CommonSplitc                f    t        j                  | ||       t        |j                        | _        y )N)r   __init__lenoutput	n_outputs)self	onnx_node
run_paramss      X/var/www/html/answerous/venv/lib/python3.12/site-packages/onnx/reference/ops/op_split.pyr   zCommonSplit.__init__
   s$    tY
3Y--.    c                   |xs | j                   }|o|j                  |   |z  dk(  r|j                  |   |z  }|g|z  }nA|j                  |   |z  dz   }|g|z  }|dxx   |j                  |   t        |      z
  z  cc<   |j                  D cg c]  }t        d|       }}g }	d}
|D ]6  }t        |
|
|z         ||<   |
|z  }
|	j	                  |t        |                8 t        |	      S c c}w )Nr      )r   shapesumsliceappendtuple)r   matsplitaxisnum_outputsr   divssliresposspls               r   
common_runzCommonSplit.common_run   s   14>>	=yy*a/iio2	)iio2Q6	)b	SYYt_s5z99	$'II.quQ{.. 	(Cc39-CI3JCJJs5:'	( Sz /s   C/N)__name__
__module____qualname__r   r#    r   r   r   r   	   s    /r   r   c                      e Zd ZddZy)Split_2Nc                ,    | j                  |||d       S N)r   r   r#   )r   r   r   r   s       r   _runzSplit_2._run$       sE$GGr   NNr$   r%   r&   r-   r'   r   r   r)   r)   #       Hr   r)   c                      e Zd Zy)Split_11N)r$   r%   r&   r'   r   r   r3   r3   (   s    r   r3   c                      e Zd ZddZy)Split_13Nc                ,    | j                  |||d       S r+   r,   )r   r   r   r   s       r   r-   zSplit_13._run-   r.   r   r/   r0   r'   r   r   r5   r5   ,   r1   r   r5   c                      e Zd ZddZy)Split_18Nc                ,    | j                  ||||      S r+   r,   )r   r   r   r   r   s        r   r-   zSplit_18._run2   s    sE+NNr   )NNNr0   r'   r   r   r8   r8   1   s    Or   r8   N)	
__future__r   onnx.reference.op_runr   r   r)   r3   r5   r8   r'   r   r   <module>r<      sO    # '% 4Hk H
	w 	H{ H
O{ Or   