ó
    Eñi½
  ã                   ó   • S r S/rSS jrg)z!
Introspection helper functions.
Úopt_func_infoNc                 óÌ  ^^• SSK nSSKJnJm  U bN  UR	                  U 5      nUR                  5        VVs0 s H  u  pVUR                  U5      (       d  M  XV_M!     nnnOUnUbw  UR	                  U5      m0 nUR                  5        HN  u  pV0 n	UR                  5        H&  u  p£[        UU4S jU
 5       5      (       d  M"  X9U
'   M(     U	(       d  MJ  X˜U'   MP     U$ UnU$ s  snnf )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              3   ó–   >#   • U  H>  nTR                  U5      =(       d!    TR                  T" U5      R                  5      v •  M@     g 7f)N)ÚsearchÚname)Ú.0Úcr   Úsig_patterns     €€ÚQ/home/mande/repo/quber/.venv/lib/python3.13/site-packages/numpy/lib/introspect.pyÚ	<genexpr>Ú opt_func_info.<locals>.<genexpr>U   s>   øé € ð â"˜ð  ×&Ñ& qÓ)×N¨[×-?Ñ-?ÁÀaÃÇÁÓ-NÔNÚ"ùs   ƒAA	)ÚreÚnumpy._core._multiarray_umathr   r   ÚcompileÚitemsr   Úany)Ú	func_nameÚ	signaturer   ÚtargetsÚfunc_patternÚkÚvÚmatching_funcsÚmatching_sigsÚmatching_charsÚcharsr   r   s              @@r   r   r      sô   ù€ ót çTàÑØ—z‘z )Ó,ˆà$Ÿ]™]œ_ô
Ú,‘T�QØ×"Ñ" 1×%ó ˆAŠD™_ð 	ñ 
ˆð
 !ˆàÑØ—j‘j Ó+ˆØˆØ"×(Ñ(Ö*‰DˆAØˆNØ"#§'¡'¦)‘�Üõ á"ó÷ ó ð -4 5Ó)ñ #,÷ ˆ~Ø#1˜aÓ ñ +ð Ðð 'ˆØÐùó-
s   ¶C ÁC )NN)Ú__doc__Ú__all__r   © ó    r   Ú<module>r#      s   ðñð Ð
€õVr"   