code: def testLogBesselKveCorrect(self, dtype, rtol, atol=1e-6):
      seed_stream = test_util.test_seed_stream()
      v = tf.random.uniform(
          [int(1e3)],
          minval=0.1,
          maxval=0.5,
          seed=seed_stream(),
          dtype=dtype,
      )
      z = tf.random.uniform(
          [int(1e3)],
          minval=1.0,
          maxval=10.0,
          seed=seed_stream(),
          dtype=dtype,
      )
      (
          _,
          _,
          log_bessel_kve_expected_,
          log_bessel_kve_actual_,
      ) = self.evaluate(
          [
              v,
              z,
              tf.math.log(bessel.bessel_kve(v, z)),
              bessel.log_bessel_kve(v, z),
          ]
      )
      self.assertAllClose(
          log_bessel_kve_expected_,
          log_bessel_kve_actual_,
          rtol=rtol,
          atol=atol,
      )
  
imports: import functools
  from absl.testing import parameterized
  import numpy
  from scipy import constants
  from scipy import special
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import bessel
  from tensorflow_probability.python.math import gradient
  from tensorflow_probability.python.math.bessel import _compute_general_continued_fraction
label_desc: Use image node_id 14 for calling the BesselKveTest obj's underlying member method code with example usage: obj.testLogBesselKveCorrect(dtype, rtol, atol) without return types