
    
Ng:                         d dl mZ d dlZd dlmZ dZdeeej        f         deee	f         defdZ
dd	Z G d
 de          ZdS )    )UnionN)OpRun)UOsplit_listspadding_requirementreturnc                    t          | t                    r| d t          |          D             z   S t          | t          j                  r#t          t          t          | |                    S t          dt          |            d          )Nc                     g | ]}d S )  ).0_s     ^/var/www/html/ai-engine/env/lib/python3.11/site-packages/onnx/reference/ops/op_string_split.py
<listcomp>z$pad_empty_string.<locals>.<listcomp>   s    EEEQbEEE    zInvalid array type '')	
isinstancelistrangenpndarraymappad_empty_string	TypeErrortype)r   r   s     r   r   r      s     +t$$ FEE%0C*D*DEEEEE+rz** MC(+7JKKLLL
?4+<+<???
@
@@r   c                    t           j                            |                     t           j                  ||          } t          j        t          t           j        g          |          }t          j        |d          |z
  	                                }t          j
        t          ||          t                    }| j        dk    r |j        g | j        dR  }||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_paddingr4      s    '-- 1 19hGGK5c28*555kBBJ6*a888:EMMOO&9::&   	v{{7/7DD!DDDz))r   c                       e Zd ZddZdS )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   r4   )selfr/   	delimiterr1   s       r   _runzStringSplit._run(   sK    ??I7<555VQWVVWWW!!Y999r   NN)__name__
__module____qualname__r<   r   r   r   r6   r6   '   s(        : : : : : :r   r6   r=   )typingr   numpyr   onnx.reference.op_runr   r9   r   r   intr   r4   r6   r   r   r   <module>rE      s              ' ' ' ' ' '# AtRZ'(A?DT3Y?OA	A A A A* * * *: : : : :% : : : : :r   