class_docstr: Tests correctness of the Y = g(X) = sinh(X) transformation.
code: def testBijectiveAndFinite(self, dtype):
      bijector = sinh.Sinh(validate_args=True)
      # Use bounds that are very large to check that the transformation remains
      # bijective. We stray away from the largest/smallest value to avoid issues
      # at the boundary since XLA sinh will return `inf` for the largest value.
      y = np.array(
          [
              np.nextafter(np.finfo(dtype).min, 0.0) / 10.0,
              np.nextafter(np.finfo(dtype).max, 0.0) / 10.0,
          ],
          dtype=dtype,
      )
      # Calculate `x` based on `y` which in turn is in widest range possible.
      x = np.arcsinh(y)
      bijector_test_util.assert_bijective_and_finite(
          bijector,
          x,
          y,
          eval_func=self.evaluate,
          event_ndims=0,
          atol=0.0,
          rtol=1e-4,
      )
  
file_path: probability/tensorflow_probability/python/bijectors/sinh_test.py
imports: from absl.testing import parameterized
  import numpy
  from tensorflow_probability.python.bijectors import bijector_test_util
  from tensorflow_probability.python.bijectors import sinh
  from tensorflow_probability.python.internal import test_util
label_desc: Use image node_id 3 for calling the SinhBijectorTest obj's underlying member method code with example usage: obj.testBijectiveAndFinite(dtype) without return types