code: def test_sd_csc():
      A = sp.sparse.random(
          4, 5, density=0.60, format="csc", dtype=np.float32
      )
      b = np.random.random((5, 2)).astype(np.float32)
      target = A * b
  
      a_val = as_tensor_variable(A.data)
      a_ind = as_tensor_variable(A.indices)
      a_ptr = as_tensor_variable(A.indptr)
      nrows = as_tensor_variable(np.int32(A.shape[0]))
      b = as_tensor_variable(b)
  
      res = sd_csc(a_val, a_ind, a_ptr, nrows, b).eval()
  
      utt.assert_allclose(res, target)
  
imports: import numpy
  import pytest
  import scipy
  import pytensor
  from pytensor import sparse
  from pytensor.compile.mode import Mode, get_default_mode
  from pytensor.configdefaults import config
  from pytensor.sparse.rewriting import SamplingDotCSR, sd_csc
  from pytensor.tensor.basic import as_tensor_variable
  from pytensor.tensor.math import sum
  from pytensor.tensor.type import ivector, matrix, vector
  from tests import unittest_tools
  from tests.sparse.test_basic import random_lil
label_desc: Use image node_id 8 for calling a global function with example usage: test_sd_csc() without return types