;i dZdgZddZdS)z! Introspection helper functions. opt_func_infoNc ddl}ddlm}ddlm |6|| fd|D}n|}|v|| i}|D]I\}}i}|D]&\} }t fd| Dr||| <'|r|||<Jn|}|S)am 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)) { "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__)dtypecFi|]\}}|||S)search).0kv func_patterns HC:\PYTHON\MyICR_Workspace\venv\Lib\site-packages\numpy/lib/introspect.py z!opt_func_info..IsC   Q""1%% q   c3K|]<}|p"|jV=dS)N)r name)r cr sig_patterns r z opt_func_info..Vsb &&q))N[-?-?a -N-Nr)renumpy._core._multiarray_umathrrcompileitemsany) func_name signaturertargetsmatching_funcs matching_sigsr r matching_charscharsrr rs @@@rrrsOtIIIMMMMMM333333zz),,     $]]__    !jj++  "((** 2 2DAqN"#'')) 4 4w"4-4N5) 2#1 a  2' r)NN)__doc____all__rrrrr$s=  WWWWWWr