MCPcopy Create free account
hub / github.com/numpy/numpy / _parse_gufunc_signature

Function _parse_gufunc_signature

numpy/lib/function_base.py:2007–2029  ·  view source on GitHub ↗

Parse string signatures for a generalized universal function. Arguments --------- signature : string Generalized universal function signature, e.g., ``(m,n),(n,p)->(m,p)`` for ``np.matmul``. Returns ------- Tuple of input and output core dimensions pars

(signature)

Source from the content-addressed store, hash-verified

2005
2006
2007def _parse_gufunc_signature(signature):
2008 """
2009 Parse string signatures for a generalized universal function.
2010
2011 Arguments
2012 ---------
2013 signature : string
2014 Generalized universal function signature, e.g., ``(m,n),(n,p)->(m,p)``
2015 for ``np.matmul``.
2016
2017 Returns
2018 -------
2019 Tuple of input and output core dimensions parsed from the signature, each
2020 of the form List[Tuple[str, ...]].
2021 """
2022 signature = re.sub(r'\s+', '', signature)
2023
2024 if not re.match(_SIGNATURE, signature):
2025 raise ValueError(
2026 'not a valid gufunc signature: {}'.format(signature))
2027 return tuple([tuple(re.findall(_DIMENSION_NAME, arg))
2028 for arg in re.findall(_ARGUMENT, arg_list)]
2029 for arg_list in signature.split('->'))
2030
2031
2032def _update_dim_sizes(dim_sizes, arg, core_dims):

Callers 1

__init__Method · 0.85

Calls 1

splitMethod · 0.45

Tested by

no test coverage detected