code: def test_gemm(dtype, opA, transA, opB, transB, order):
      gemm = _gemm_memview[_numpy_to_cython(dtype)]
  
      rng = np.random.RandomState(0)
      A = np.asarray(
          opA(rng.random_sample((30, 10)).astype(dtype, copy=False)),
          order=ORDER[order],
      )
      B = np.asarray(
          opB(rng.random_sample((10, 20)).astype(dtype, copy=False)),
          order=ORDER[order],
      )
      C = np.asarray(
          rng.random_sample((30, 20)).astype(dtype, copy=False),
          order=ORDER[order],
      )
      alpha, beta = 2.5, -0.5
  
      expected = alpha * opA(A).dot(opB(B)) + beta * C
      gemm(transA, transB, alpha, A, B, beta, C)
  
      assert_allclose(C, expected, rtol=RTOL[dtype])
  
file_path: scikit-learn/sklearn/utils/tests/test_cython_blas.py
imports: import numpy
  import pytest
  from sklearn.utils._cython_blas import ColMajor, NoTrans, RowMajor, Trans, _asum_memview, _axpy_memview, _copy_memview, _dot_memview, _gemm_memview, _gemv_memview, _ger_memview, _nrm2_memview, _rot_memview, _rotg_memview, _scal_memview
  from sklearn.utils._testing import assert_allclose
label_desc: Use image node_id 13 for calling a global function with example usage: test_gemm(dtype, opA, transA, opB, transB, order) without return types