class_docstr: TruncatedNormal Distribution
  ----
  This class contains methods relating to the truncated normal distribution for time series.
docstr: Log PDF for Truncated Normal prior
  
  Parameters
  ----------
  mu : float
      Latent variable for which the prior is being formed over
  
  Returns
  ----------
  - log(p(mu))
code: def logpdf(self, mu):
      """
      Log PDF for Truncated Normal prior
  
      Parameters
      ----------
      mu : float
          Latent variable for which the prior is being formed over
  
      Returns
      ----------
      - log(p(mu))
      """
      if self.transform is not None:
          mu = self.transform(mu)
      if mu < self.lower and self.lower is not None:
          return -(10.0**6)
      elif mu > self.upper and self.upper is not None:
          return -(10.0**6)
      else:
          return -np.log(float(self.sigma0)) - (
              0.5 * (mu - self.mu0) ** 2
          ) / float(self.sigma0**2)
  
file_path: pyflux/pyflux/families/truncated_normal.py
imports: import numpy
  import scipy.stats
  import scipy.special
  from .family import Family
label_desc: Use image node_id 2 for calling the TruncatedNormal obj's underlying member method code with example usage: obj.logpdf(mu) and returns: unknown, unknown, unknown