code: def _set_arrayXarray_sparse(self, row, col, x):
      # clear entries that will be overwritten
      self._zero_many(*self._swap(row, col))
  
      M, N = row.shape  # matches col.shape
      broadcast_row = M != 1 and x.shape[0] == 1
      broadcast_col = N != 1 and x.shape[1] == 1
      r, c = x.row, x.col
      x = cupy.asarray(x.data, dtype=self.dtype)
      if broadcast_row:
          r = cupy.repeat(cupy.arange(M), r.size)
          c = cupy.tile(c, M)
          x = cupy.tile(x, M)
      if broadcast_col:
          r = cupy.repeat(r, N)
          c = cupy.tile(cupy.arange(N), c.size)
          x = cupy.repeat(x, N)
      # only assign entries in the new sparsity structure
      i, j = self._swap(row[r, c], col[r, c])
      self._set_many(i, j, x)
  
imports: import string
  import warnings
  import numpy
  import cupy
  import cupyx
  from cupy import _core
  from cupy._core import _scalar
  from cupy._creation import basic
  from cupyx.scipy.sparse import _base
  from cupyx.scipy.sparse import _coo
  from cupyx.scipy.sparse import _data
  from cupyx.scipy.sparse import _sputils
  from cupyx.scipy.sparse import _util
  from cupyx.scipy.sparse import _index
label_desc: Use image node_id 21 for calling the _compressed_sparse_matrix obj's underlying member method code with example usage: obj._set_arrayXarray_sparse(row, col, x) without return types