
    J/PhM                     (    d dl mZmZ d Zd Zd ZdS )    )typestypingc                 P    t          | t          t          t          j        f          S )zi
    Return whether *sig* is a potentially valid signature
    specification (for user-facing APIs).
    )
isinstancestrtupler   	Signature)sigs    S/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/numba/core/sigutils.pyis_signaturer      s    
 cC(89:::    c                 8    t          | i t          j                  S )z;
    Parameters
    ----------
    signature_str : str
    )evalr   __dict__)signature_strs    r   _parse_signature_stringr      s     r5>222r   c           	      x   t          | t                    rt          |           }n| }t          |t                    r|d}}nVt          |t          j                  r|j        |j        }}n-t          d| d| j	        j
        d|j	        j
        d          d }| ||           |D ]} ||           ||fS )z
    From *sig* (a signature specification), return a ``(args, return_type)``
    tuple, where ``args`` itself is a tuple of types, and ``return_type``
    can be None if not specified.
    Nzinvalid signature: z (type: z) evaluates to z instead of tuple or Signaturec                 ^    t          | t          j                  st          d|           d S )Nz9invalid type in signature: expected a type instance, got )r   r   Type	TypeError)tys    r   
check_typez'normalize_signature.<locals>.check_type+   s>    "ej)) 	8)24"7 8 8 8	8 	8r   )r   r   r   r   r   r	   argsreturn_typer   	__class____name__)r
   parsedr   r   r   r   s         r   normalize_signaturer      s     #s (--&%   	"Dk	FF,	-	- "K);kiCC!7!7!7",555   	8 8 8
 
;  
2r   N)
numba.corer   r   r   r   r    r   r   <module>r!      sT    $ $ $ $ $ $ $ $; ; ;3 3 3    r   