code: function dexp(rate, logp) {
        logp = logp === true;
  
        if (utils.hasNaN(rate) || rate < 0) { return function(x) { return NaN; }; }
  
        return function(x) {
           if (rate === Infinity) { return NaN; }
           if (x < 0) {
              return logp ? -Infinity : 0;
           }
           return logp ? -rate * x + Math.log(rate)
                       : rate * Math.exp(-rate * x);
        };
     }
docs: Evaluates the exponential distribution's density function at `x`:
  $$\textrm{dexp}(\lambda)(x) = \lambda e^{-\lambda x}$$
  for $x \geq 0$.
  
  Expects the rate $\lambda > 0$.
  
  `logp` defaults to `false`; if `logp` is `true`, returns the
  logarithm of the result.
  
  @fullName dexp(rate, logp)(x)
  @memberof exponential