code: function plnorm(meanlog, sdlog, lowerTail, logp) {
        var pnorm;
  
        lowerTail = lowerTail !== false;
        logp = logp === true;
  
        if (utils.hasNaN(meanlog, sdlog) || sdlog < 0) {
           return function() { return NaN; };
        }
  
        pnorm = normal.pnorm(meanlog, sdlog, lowerTail, logp);
  
        return function(x) {
           if (utils.hasNaN(x)) { return NaN; }
           if (x <= 0) {
              return lowerTail ? logp ? -Infinity : 0
                               : logp ? 0 : 1;
           }
  
           return pnorm(Math.log(x));
        };
     }
docs: Evaluates the lower-tail cdf at `x` for the lognormal distribution:
  $$\textrm{pnorm}(\mu, \sigma)(x) = \frac{1}{2}\left(1 + \textrm{erf}\left(\frac{\ln x - \mu}{\sigma\sqrt{2}}\right)\right)$$
  
  `lowerTail` defaults to `true`; if `lowerTail` is `false`, returns
  the upper tail probability instead.
  
  `logp` defaults to `false`; if `logp` is `true`, returns the logarithm
  of the result.
  
  Expects $\textrm{sdlog} > 0$ and $x > 0$.
  
  @fullName plnorm(meanlog, sdlog, lowerTail, logp)(x)
  @memberof lognormal