class_docstr: Create a relaxed Cauchy distribution object.
  
  Parameters
  ----------
  loc : Tensor or scalar, default 0
      mode or median of the distribution
  scale : Tensor or scalar, default 1
      half width at half maximum
class_docstr_tok: ["Create","a","relaxed","Cauchy","distribution","object",".","Parameters","--","--","--","--","--","loc",":","Tensor","or","scalar",",","default","0","mode","or","median","of","the","distribution","scale",":","Tensor","or","scalar",",","default","1","half","width","at","half","maximum"]
code: def sample(self, size=None):
      # TODO: Implement sampling op in the backend.
      # `np.zeros_like` does not support scalar at this moment.
      if (
          isinstance(self.loc, Number),
          isinstance(self.scale, Number),
      ) == (True, True):
          u = np.random.uniform(size=size)
      else:
          u = np.random.uniform(
              np.zeros_like(  # pylint: disable=too-many-function-args
                  self.loc + self.scale
              ),
              size=size,
          )
      return self.icdf(u)
  
file_path: mxnet/python/mxnet/gluon/probability/distributions/cauchy.py
imports: from numbers import Number
  from numpy import nan, pi
  from .constraint import Real
  from .distribution import Distribution
  from .utils import sample_n_shape_converter
  from ....None import np
label_desc: Use image node_id 4 for calling the Cauchy obj's underlying member method code with example usage: obj.sample(size) and returns: self