
    bIg6                    Z    d dl mZ d dlZd dlmZ dZ	 	 	 	 	 	 d	dZd
dZ G d de      Z	y)    )annotationsN)OpRun)UOc                    t        | t              r| t        |      D cg c]  }d c}z   S t        | t        j                        rt        t        t        | |            S t        dt        |        d      c c}w )N zInvalid array type '')	
isinstancelistrangenpndarraymappad_empty_string	TypeErrortype)split_listspadding_requirement_s      _/var/www/html/answerous/venv/lib/python3.12/site-packages/onnx/reference/ops/op_string_split.pyr   r      so     +t$%0C*DEQbEEE+rzz*C(+7JKLL
*4+<*=Q?
@@ Fs   	A9c                   t         j                  j                  | j                  t         j                        ||      } t        j
                  t        t         j                  g      |      }t        j                  |d      |z
  j                         }t        j                  t        ||      t              }| j                  dk(  r |j                  g | j                  d }||fS )N)otypesr   )initial)dtype)r   charsplitastypestr_	vectorizelenint64maxtolistarrayr   objectsizereshapeshape)x	separatormaxsplitr   
num_splitsr   split_lists_paddeds          r   split_with_paddingr.      s    ''-- 19hGK5c288*5kBJ66*a8:EMMO&9:& 	vv{7/77DD!Dz))    c                      e Zd ZddZy)StringSplitNc                    |dk(  rd }|j                   j                  t        vrt        d|j                          t	        |||      S )Nr   z.Inputs must be string tensors, received dtype )r   kind_acceptable_str_dtypesr   r.   )selfr)   	delimiterr+   s       r   _runzStringSplit._run&   sE    ?I77<<55LQWWIVWW!!Y99r/   NN)__name__
__module____qualname__r7    r/   r   r1   r1   %   s    :r/   r1   )r   zlist | np.ndarrayr   z
list | intreturnr   r8   )

__future__r   numpyr   onnx.reference.op_runr   r4   r   r.   r1   r<   r/   r   <module>rA      sH    #  '# A"A9CA	A*:% :r/   