class_docstr: clipped continuous distribution with a masspoint at clip_lower
  
  
  Notes
  -----
  first version, to try out possible designs
  insufficient checks for valid arguments and not clear
  whether it works for distributions that have compact support
  
  clip_lower is fixed and independent of the distribution parameters.
  The clip_lower point in the pdf has to be interpreted as a mass point,
  i.e. different treatment in integration and expect function, which means
  none of the generic methods for this can be used.
  
  maybe this will be better designed as a mixture between a degenerate or
  discrete and a continuous distribution
  
  Warning: uses equality to check for clip_lower values in function
  arguments, since these are floating points, the comparison might fail
  if clip_lower values are not exactly equal.
  We could add a check whether the values are in a small neighborhood, but
  it would be expensive (need to search and check all values).
code: def pdf(self, x, *args, **kwds):
      x = np.atleast_1d(x)
      if "clip_lower" not in kwds:
          clip_lower = self.clip_lower
      else:
          # allow clip_lower to be a possible parameter
          clip_lower = kwds.pop("clip_lower")
      pdf_raw = np.atleast_1d(self.base_dist.pdf(x, *args, **kwds))
      clip_mask = x == self.clip_lower
      if np.any(clip_mask):
          clip_prob = self.base_dist.cdf(clip_lower, *args, **kwds)
          pdf_raw[clip_mask] = clip_prob
  
      # the following will be handled by sub-classing rv_continuous
      pdf_raw[x < clip_lower] = 0
  
      return pdf_raw
  
file_path: statsmodels/statsmodels/sandbox/distributions/otherdist.py
imports: import numpy
  from scipy import stats
label_desc: Use image node_id 4 for calling the ClippedContinuous obj's underlying member method code with example usage: obj.pdf(x) and returns: pdf_raw