o
    i6                     @   s   d dl Z d dlZdd ZdS )    Nc                    s   dd }dd   fdd}||  d\}}}t||}t||}t }t }	|D ]}
|t|
O }q,|D ]}
|	t|
O }	q7|	|}|rRtdd	t| ||fS )
zParse generalized ufunc signature.

    NOTE: ',' (COMMA) is a delimiter; not separator.
          This means trailing comma is legal.
    c                 S   s   d dd | D S )N c                 s   s    | ]
}|t jvr|V  qd S N)string
whitespace).0c r   f/var/www/html/eduruby.in/lip-sync/lip-sync-env/lib/python3.10/site-packages/numba/np/ufunc/sigparse.py	<genexpr>   s    z3parse_signature.<locals>.stripws.<locals>.<genexpr>)join)sr   r   r	   stripws   s   z parse_signature.<locals>.stripwsc                    s$   fdd}|  t  fddS )Nc                   3   s     V  d S r   r   r   )srcr   r	   readline   s   
z4parse_signature.<locals>.tokenizer.<locals>.readlinec                      s   t  S r   )nextr   )genr   r	   <lambda>   s    z4parse_signature.<locals>.tokenizer.<locals>.<lambda>)tokenizegenerate_tokens)r   r   r   )r   r   r	   	tokenizer   s   z"parse_signature.<locals>.tokenizerc                 3   s     | }	 t |}|d dkrWg }	 t |}|d dkrn|d tjkr-||d  n|d dkr4qtd|d  qt|V  t |}|d dkrMqt|d rVd S nt|d r`d S td|d  q)NT   ()r   ,zbad token in signature "%s")r   r   NAMEappend
ValueErrortupleISEOF)r   Ztokgentoksymbolsr   r   r	   parse   s6   

zparse_signature.<locals>.parsez->zundefined output symbols: %sr   )	partitionlistset
difference	NameErrorr   sorted)sigr   r"   Zins_ZoutsZinputsZoutputsZisymZosymgrpdiffr   r!   r	   parse_signature   s    
r-   )r   r   r-   r   r   r   r	   <module>   s    