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

Function _update_dim_sizes

numpy/lib/function_base.py:2032–2063  ·  view source on GitHub ↗

Incrementally check and update core dimension sizes for a single argument. Arguments --------- dim_sizes : Dict[str, int] Sizes of existing core dimensions. Will be updated in-place. arg : ndarray Argument to examine. core_dims : Tuple[str, ...] Core

(dim_sizes, arg, core_dims)

Source from the content-addressed store, hash-verified

2030
2031
2032def _update_dim_sizes(dim_sizes, arg, core_dims):
2033 """
2034 Incrementally check and update core dimension sizes for a single argument.
2035
2036 Arguments
2037 ---------
2038 dim_sizes : Dict[str, int]
2039 Sizes of existing core dimensions. Will be updated in-place.
2040 arg : ndarray
2041 Argument to examine.
2042 core_dims : Tuple[str, ...]
2043 Core dimensions for this argument.
2044 """
2045 if not core_dims:
2046 return
2047
2048 num_core_dims = len(core_dims)
2049 if arg.ndim < num_core_dims:
2050 raise ValueError(
2051 '%d-dimensional argument does not have enough '
2052 'dimensions for all core dimensions %r'
2053 % (arg.ndim, core_dims))
2054
2055 core_shape = arg.shape[-num_core_dims:]
2056 for dim, size in zip(core_dims, core_shape):
2057 if dim in dim_sizes:
2058 if size != dim_sizes[dim]:
2059 raise ValueError(
2060 'inconsistent size for core dimension %r: %r vs %r'
2061 % (dim, size, dim_sizes[dim]))
2062 else:
2063 dim_sizes[dim] = size
2064
2065
2066def _parse_input_dimensions(args, input_core_dims):

Callers 2

_parse_input_dimensionsFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected