code: def VerifyHyp2F1(
      self,
      dtype,
      rtol,
      a,
      b,
      c,
      z_lower=-0.9,
      z_upper=0.9,
      use_mpmath=False,
  ):
      comparison_hyp2f1 = (
          self._mpmath_hyp2f1 if use_mpmath else scipy_special.hyp2f1
      )
      seed_stream = test_util.test_seed_stream()
      z = tf.random.uniform(
          [int(1e4)],
          seed=seed_stream(),
          minval=z_lower,
          maxval=z_upper,
          dtype=dtype,
      )
  
      hyp2f1, a, b, c, z = self.evaluate(
          [hypergeometric.hyp2f1_small_argument(a, b, c, z), a, b, c, z]
      )
      expected = comparison_hyp2f1(a, b, c, z)
      self.assertAllClose(hyp2f1, expected, rtol=rtol)
  
imports: import functools
  from absl.testing import parameterized
  import mpmath
  import numpy
  from scipy import special
  import tensorflow.compat.v2
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import hypergeometric
label_desc: Use image node_id 3 for calling the Hyp2F1Test obj's underlying member method code with example usage: obj.VerifyHyp2F1(dtype, rtol, a, b, c, z_lower, z_upper, use_mpmath) without return types