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_nan_beta_0(self):
      mode = self.mode.including()
      mode.check_isfinite = False
      f = pytensor.function(
          [self.A, self.x, self.y, self.a],
          self.a * self.y + pt.dot(self.A, self.x),
          mode=mode,
      )
      Aval = np.ones((3, 1), dtype=self.dtype)
      xval = np.ones((1,), dtype=self.dtype)
      yval = float("NaN") * np.ones((3,), dtype=self.dtype)
      zval = f(Aval, xval, yval, 0)
      assert not np.isnan(zval).any()
  
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 2 for calling the TestCGemv obj's underlying member method code with example usage: obj.test_nan_beta_0() without return types