code: def test_gufunc_vectorize_whitespace():
      # Regression test for https://github.com/dask/dask/issues/7972.
      # NumPy versions before https://github.com/numpy/numpy/pull/19627
      # would not ignore whitespace characters in `signature` like they
      # are supposed to. We remove the whitespace in Dask as a workaround.
  
      def foo(x, y):
          return (x + y).sum(axis=1)
  
      a = da.ones((8, 3, 5), chunks=(2, 3, 5), dtype=int)
      b = np.ones(5, dtype=int)
      x = apply_gufunc(foo, "(m, n),(n)->(m)", a, b, vectorize=True)
  
      assert_eq(x, np.full((8, 3), 10, dtype=int))
  
      a = da.random.default_rng().random((6, 5, 5))
  
      @da.as_gufunc(
          signature="(n, n)->(n, n)",
          output_dtypes=float,
          vectorize=True,
      )
      def gufoo(x):
          return np.linalg.inv(x)
  
      # Previously calling `gufoo` would raise an error due to the whitespace
      # in its `signature`. Let's make sure it doesn't raise here.
      gufoo(a)
  
imports: from __future__ import annotations
  import numpy
  import pytest
  from numpy.testing import assert_equal
  import dask.array
  from dask.array.core import Array
  from dask.array.gufunc import _parse_gufunc_signature, _validate_normalize_axes, apply_gufunc, as_gufunc, gufunc
  from dask.array.utils import assert_eq
label_desc: Use image node_id 26 for calling a global function with example usage: test_gufunc_vectorize_whitespace() and returns: unknown, np