code: def testPdfOutsideSupport(self):
      def mk_beta(c1, c0):
          return beta.Beta(
              c1, c0, force_probs_to_zero_outside_support=True
          )
  
      # One or more boundary is +inf for c1<1 | c0<1.
      self.assertAllFinite(mk_beta(1.0, 0.9).log_prob(0.0))
      self.assertAllEqual(mk_beta(1.0, 0.9).log_prob(1.0), float("inf"))
  
      self.assertAllEqual(mk_beta(0.9, 1.0).log_prob(0.0), float("inf"))
      self.assertAllFinite(mk_beta(0.9, 1.0).log_prob(1.0))
  
      self.assertAllEqual(mk_beta(0.9, 0.7).log_prob(0.0), float("inf"))
      self.assertAllEqual(mk_beta(0.9, 0.7).log_prob(1.0), float("inf"))
  
      # Both boundaries are non-inf for c1>=1 & c0>=1.
      self.assertAllFinite(mk_beta(1.0, 1.0).log_prob(0.0))
      self.assertAllFinite(mk_beta(1.0, 1.0).log_prob(1.0))
  
      # Values outside [0,1] are always out of support.
      self.assertAllEqual(
          mk_beta(1.1, 1.0).log_prob(-0.1), -float("inf")
      )
      self.assertAllEqual(
          mk_beta(1.0, 1.1).log_prob(1.1), -float("inf")
      )
  
imports: from absl.testing import parameterized
  import numpy
  from scipy import special
  from scipy import stats
  import tensorflow.compat.v2
  from tensorflow_probability.python.distributions import beta
  from tensorflow_probability.python.distributions import kullback_leibler
  from tensorflow_probability.python.internal import test_util
  from tensorflow_probability.python.math import gradient
label_desc: Use image node_id 40 for calling the BetaTest obj's underlying member method code with example usage: obj.testPdfOutsideSupport() and returns: beta