code: public double logPdf(double x)
      {
          double pdf = pdf(x);
          if(pdf <= 0)
              return -Double.MAX_VALUE;
          return Math.log(pdf);
      }
docs: Computes the log of the Probability Density Function. Note, that then the
  probability is zero, {@link Double#NEGATIVE_INFINITY} would be the true
  value. Instead, this method will always return the negative of
  {@link Double#MAX_VALUE}. This is to avoid propagating bad values through
  computation.
  
  @param x the value to get the log(PDF) of
  @return the value of log(PDF(x))