code: function dnorm(mu, sigma, logp) {
        var c;
  
        logp = logp === true;
        c = Math.log(twopi);
        return function(x) {
           var z, p;
  
           if (utils.hasNaN(x, mu, sigma)) { return NaN; }
           if (utils.isInfinite(sigma)) {
              return logp ? -Infinity : 0;
           }
           if (utils.isInfinite(x) && mu === x) { return NaN; }
           if (sigma < 0) { return NaN; }
           if (sigma === 0) { return x === mu ? Infinity : logp ? -Infinity : 0; }
  
           z = (x - mu) / sigma;
           p = -0.5 * (c + z * z) - Math.log(sigma);
           return logp ? p : Math.exp(p);
        };
     }
docs: Evaluates the Normal density function at `x`:
  $$\textrm{dnorm}(\mu, \sigma)(x) = \frac{1}{\sigma \sqrt{2\pi}} e^{\displaystyle -\frac{(x-\mu)^2}{2\sigma^2}}$$
  
  Expects $\sigma > 0$.
  
  `logp` defaults to `false`; if `logp` is `true`, returns the
  logarithm of the result.
  @fullName dnorm(mu, sigma, logp)(x)
  @memberof normal