def log_cdf(self, x, name='log_cdf'):
    'Log CDF of observations `x` under these Gamma distribution(s).\n\n    Args:\n      x: tensor of dtype `dtype`, must be broadcastable with `alpha` and `beta`.\n      name: The name to give this op.\n\n    Returns:\n      log_cdf: tensor of dtype `dtype`, the log-CDFs of `x`.\n    '
    with ops.name_scope(self.name):
        with ops.name_scope(name, values=[self._alpha, self._beta, x]):
            x = ops.convert_to_tensor(x)
            x = control_flow_ops.with_dependencies(([check_ops.assert_positive(x)] if self.validate_args else []), x)
            contrib_tensor_util.assert_same_float_dtype(tensors=[x], dtype=self.dtype)
            return math_ops.log(math_ops.igamma(self._alpha, (self._beta * x)))
Log CDF of observations `x` under these Gamma distribution(s).

Args:
  x: tensor of dtype `dtype`, must be broadcastable with `alpha` and `beta`.
  name: The name to give this op.

Returns:
  log_cdf: tensor of dtype `dtype`, the log-CDFs of `x`.
def log_cdf(self, x, name='log_cdf'):
    'Log CDF of observations `x` under these Gamma distribution(s).\n\n    Args:\n      x: tensor of dtype `dtype`, must be broadcastable with `alpha` and `beta`.\n      name: The name to give this op.\n\n    Returns:\n      log_cdf: tensor of dtype `dtype`, the log-CDFs of `x`.\n    '
    with ops.name_scope(self.name):
        with ops.name_scope(name, values=[self._alpha, self._beta, x]):
            x = ops.convert_to_tensor(x)
            x = control_flow_ops.with_dependencies(([check_ops.assert_positive(x)] if self.validate_args else []), x)
            contrib_tensor_util.assert_same_float_dtype(tensors=[x], dtype=self.dtype)
            return math_ops.log(math_ops.igamma(self._alpha, (self._beta * x)))