docs: def logpdf(self, p, lognorm=None):
          """ Logarithm of the probability density function evaluated at ``p``. """
          if lognorm is None:
              lognorm = self.log_norm
          if hasattr(p, 'keys'):
              if isinstance(p, _gvar.BufferDict):
                  p = p.buf
              else:
                  p = _gvar.BufferDict(p).buf
          else:
              p = numpy.asarray(p).reshape(-1)
          return (
              -0.5 * (numpy.sum(self.chiv(p) ** 2) - self.chi2)
              - self.log_gnorm - self.log_norm
              )