class_docstr: Tests of CGemv specifically.
  
  Generic tests of Gemv-compatibility, including both dtypes are
  done below in TestCGemvFloat32 and TestCGemvFloat64
class_docstr_tok: ["Tests","of","CGemv","specifically",".","Generic","tests","of","Gemv-compatibility",",","including","both","dtypes","are","done","below","in","TestCGemvFloat32","and","TestCGemvFloat64"]
code: def test_multiple_inplace(self):
      skip_if_blas_ldflags_empty()
      x = dmatrix("x")
      y = dvector("y")
      z = dvector("z")
      f = pytensor.function(
          [x, y, z], [pt.dot(y, x), pt.dot(z, x)], mode=mode_blas_opt
      )
      vx = np.random.random((3, 3))
      vy = np.random.random(3)
      vz = np.random.random(3)
      out = f(vx, vy, vz)
      assert np.allclose(out[0], np.dot(vy, vx))
      assert np.allclose(out[1], np.dot(vz, vx))
      assert (
          len(
              [
                  n
                  for n in f.maker.fgraph.apply_nodes
                  if isinstance(n.op, AllocEmpty)
              ]
          )
          == 2
      )
  
imports: from warnings import warn
  import numpy
  import pytest
  import pytensor
  import pytensor.tensor
  from pytensor.misc.safe_asarray import _asarray
  from pytensor.tensor.basic import AllocEmpty
  from pytensor.tensor.blas import Ger
  from pytensor.tensor.blas_c import CGemv, CGer, check_force_gemv_init
  from pytensor.tensor.blas_scipy import ScipyGer
  from pytensor.tensor.type import dmatrix, dvector, matrix, scalar, tensor, vector
  from tests import unittest_tools
  from tests.tensor.test_blas import BaseGemv, TestBlasStrides
  from tests.unittest_tools import OptimizationTestMixin
label_desc: Use image node_id 9 for calling the TestCGemv obj's underlying member method code with example usage: obj.test_multiple_inplace() without return types