def __init__(self, loc, scale, low, high, validate_args=False, allow_nan_stats=True, name='TruncatedCauchy'):
    "Construct a TruncatedCauchy.\n\n    All parameters of the distribution will be broadcast to the same shape,\n    so the resulting distribution will have a batch_shape of the broadcast\n    shape of all parameters.\n\n    Args:\n      loc: Floating point tensor; the modes of the corresponding non-truncated\n        Cauchy distribution(s).\n      scale: Floating point tensor; the scales of the distribution(s).\n        Must contain only positive values.\n      low: `float` `Tensor` representing lower bound of the distribution's\n        support. Must be such that `low < high`.\n      high: `float` `Tensor` representing upper bound of the distribution's\n        support. Must be such that `low < high`.\n      validate_args: Python `bool`, default `False`. When `True` distribution\n        parameters are checked at run-time.\n      allow_nan_stats: Python `bool`, default `True`. When `True`,\n        statistics (e.g., mean, mode, variance) use the value '`NaN`' to\n        indicate the result is undefined. When `False`, an exception is raised\n        if one or more of the statistic's batch members are undefined.\n      name: Python `str` name prefixed to Ops created by this class.\n    "
    parameters = dict(locals())
    with tf.name_scope(name) as name:
        dtype = dtype_util.common_dtype([loc, scale, low, high], tf.float32)
        self._loc = tensor_util.convert_nonref_to_tensor(loc, name='loc', dtype=dtype)
        self._scale = tensor_util.convert_nonref_to_tensor(scale, name='scale', dtype=dtype)
        self._low = tensor_util.convert_nonref_to_tensor(low, name='low', dtype=dtype)
        self._high = tensor_util.convert_nonref_to_tensor(high, name='high', dtype=dtype)
        dtype_util.assert_same_float_dtype([self._loc, self._scale, self._low, self._high])
        super(TruncatedCauchy, self).__init__(dtype=dtype, reparameterization_type=reparameterization.NOT_REPARAMETERIZED, validate_args=validate_args, allow_nan_stats=allow_nan_stats, parameters=parameters, name=name)
Construct a TruncatedCauchy.

All parameters of the distribution will be broadcast to the same shape,
so the resulting distribution will have a batch_shape of the broadcast
shape of all parameters.

Args:
  loc: Floating point tensor; the modes of the corresponding non-truncated
    Cauchy distribution(s).
  scale: Floating point tensor; the scales of the distribution(s).
    Must contain only positive values.
  low: `float` `Tensor` representing lower bound of the distribution's
    support. Must be such that `low < high`.
  high: `float` `Tensor` representing upper bound of the distribution's
    support. Must be such that `low < high`.
  validate_args: Python `bool`, default `False`. When `True` distribution
    parameters are checked at run-time.
  allow_nan_stats: Python `bool`, default `True`. When `True`,
    statistics (e.g., mean, mode, variance) use the value '`NaN`' to
    indicate the result is undefined. When `False`, an exception is raised
    if one or more of the statistic's batch members are undefined.
  name: Python `str` name prefixed to Ops created by this class.
def __init__(self, loc, scale, low, high, validate_args=False, allow_nan_stats=True, name='TruncatedCauchy'):
    "Construct a TruncatedCauchy.\n\n    All parameters of the distribution will be broadcast to the same shape,\n    so the resulting distribution will have a batch_shape of the broadcast\n    shape of all parameters.\n\n    Args:\n      loc: Floating point tensor; the modes of the corresponding non-truncated\n        Cauchy distribution(s).\n      scale: Floating point tensor; the scales of the distribution(s).\n        Must contain only positive values.\n      low: `float` `Tensor` representing lower bound of the distribution's\n        support. Must be such that `low < high`.\n      high: `float` `Tensor` representing upper bound of the distribution's\n        support. Must be such that `low < high`.\n      validate_args: Python `bool`, default `False`. When `True` distribution\n        parameters are checked at run-time.\n      allow_nan_stats: Python `bool`, default `True`. When `True`,\n        statistics (e.g., mean, mode, variance) use the value '`NaN`' to\n        indicate the result is undefined. When `False`, an exception is raised\n        if one or more of the statistic's batch members are undefined.\n      name: Python `str` name prefixed to Ops created by this class.\n    "
    parameters = dict(locals())
    with tf.name_scope(name) as name:
        dtype = dtype_util.common_dtype([loc, scale, low, high], tf.float32)
        self._loc = tensor_util.convert_nonref_to_tensor(loc, name='loc', dtype=dtype)
        self._scale = tensor_util.convert_nonref_to_tensor(scale, name='scale', dtype=dtype)
        self._low = tensor_util.convert_nonref_to_tensor(low, name='low', dtype=dtype)
        self._high = tensor_util.convert_nonref_to_tensor(high, name='high', dtype=dtype)
        dtype_util.assert_same_float_dtype([self._loc, self._scale, self._low, self._high])
        super(TruncatedCauchy, self).__init__(dtype=dtype, reparameterization_type=reparameterization.NOT_REPARAMETERIZED, validate_args=validate_args, allow_nan_stats=allow_nan_stats, parameters=parameters, name=name)