§
    `Štj½
  ã                   ó   — d Z dgZdd„ZdS )z!
Introspection helper functions.
Úopt_func_infoNc                 óŒ  ‡
‡‡— ddl }ddlm}mŠ
 | �6|                     | ¦  «        Šˆfd„|                     ¦   «         D ¦   «         }n|}|�v|                     |¦  «        Ši }|                     ¦   «         D ]I\  }}i }|                     ¦   «         D ]&\  }	}t          ˆ
ˆfd„|	D ¦   «         ¦  «        r|||	<   Œ'|r|||<   ŒJn|}|S )a‰  
    Returns a dictionary containing the currently supported CPU dispatched
    features for all optimized functions.

    Parameters
    ----------
    func_name : str (optional)
        Regular expression to filter by function name.

    signature : str (optional)
        Regular expression to filter by data type.

    Returns
    -------
    dict
        A dictionary where keys are optimized function names and values are
        nested dictionaries indicating supported targets based on data types.

    Examples
    --------
    Retrieve dispatch information for functions named 'add' or 'sub' and
    data types 'float64' or 'float32':

    >>> import numpy as np
    >>> dict = np.lib.introspect.opt_func_info(
    ...     func_name="add|abs", signature="float64|complex64"
    ... )
    >>> import json
    >>> print(json.dumps(dict, indent=2))   # may vary (architecture)
        {
          "absolute": {
            "dd": {
              "current": "SSE41",
              "available": "SSE41 baseline(SSE SSE2 SSE3)"
            },
            "Ff": {
              "current": "FMA3__AVX2",
              "available": "AVX512F FMA3__AVX2 baseline(SSE SSE2 SSE3)"
            },
            "Dd": {
              "current": "FMA3__AVX2",
              "available": "AVX512F FMA3__AVX2 baseline(SSE SSE2 SSE3)"
            }
          },
          "add": {
            "ddd": {
              "current": "FMA3__AVX2",
              "available": "FMA3__AVX2 baseline(SSE SSE2 SSE3)"
            },
            "FFF": {
              "current": "FMA3__AVX2",
              "available": "FMA3__AVX2 baseline(SSE SSE2 SSE3)"
            }
          }
        }

    é    N)Ú__cpu_targets_info__Údtypec                 óF   •— i | ]\  }}‰                      |¦  «        ¯||“ŒS © )Úsearch)Ú.0ÚkÚvÚfunc_patterns      €úR/var/www/html/CA-Chatbot/venv/lib/python3.11/site-packages/numpy/lib/introspect.pyú
<dictcomp>z!opt_func_info.<locals>.<dictcomp>H   sC   ø€ ð 
ð 
ð 
Ù�Q˜Ø×"Ò" 1Ñ%Ô%ð
Øˆqð
ð 
ð 
ó    c              3   óˆ   •K  — | ]<}‰                      |¦  «        p"‰                       ‰|¦  «        j        ¦  «        V — Œ=d S )N)r	   Úname)r
   Úcr   Úsig_patterns     €€r   ú	<genexpr>z opt_func_info.<locals>.<genexpr>U   sb   øè è € ð ð àð  ×&Ò& qÑ)Ô)ÐN¨[×-?Ò-?ÀÀÀaÁÄÄÑ-NÔ-Nðð ð ð ð ð r   )ÚreÚnumpy._core._multiarray_umathr   r   ÚcompileÚitemsÚany)Ú	func_nameÚ	signaturer   ÚtargetsÚmatching_funcsÚmatching_sigsr   r   Úmatching_charsÚcharsr   r   r   s             @@@r   r   r      sC  øøø€ ðt €I€I€IàTÐTÐTÐTÐTÐTÐTÐTàÐØ—z’z )Ñ,Ô,ˆð
ð 
ð 
ð 
Ø$Ÿ]š]™_œ_ð
ñ 
ô 
ˆˆð
 !ˆàÐØ—j’j Ñ+Ô+ˆØˆØ"×(Ò(Ñ*Ô*ð 		2ð 		2‰DˆAˆqØˆNØ"#§'¢'¡)¤)ð 4ð 4‘��wÝð ð ð ð ð à"ðñ ô ñ ô ð 4ð -4�N 5Ñ)øØð 2Ø#1�˜aÑ øð		2ð 'ˆØÐr   )NN)Ú__doc__Ú__all__r   r   r   r   ú<module>r$      s=   ððð ð Ð
€ðVð Vð Vð Vð Vð Vr   