code: function qunif(a, b, lowerTail, logp) {
        logp = logp === true;
        lowerTail = lowerTail !== false;
  
        if (b < a || !utils.isFinite(a) || !utils.isFinite(b)) {
           return function(x) { return NaN; };
        }
  
        return function(p) {
           p = logp ? Math.exp(p) : p;
  
           if (p < 0 || p > 1) { return NaN; }
           return lowerTail ? a + p * (b - a) : b - p * (b - a);
        };
     }
docs: Evaluates the Uniform distribution's quantile function
  (inverse cdf) at `p`:
  $$\textrm{qunif}(a, b)(p) = x \textrm{ such that } \textrm{prob}(X \leq x) = p$$
  where $X$ is a random variable with the $\textrm{Uniform}(a, b)$ distribution.
  
  Expects $a < b$ and $0 \leq p \leq 1$.
  
  `lowerTail` defaults to `true`; if `lowerTail` is `false`, `p` is
  interpreted as an upper tail probability (returns
  $x$ such that $\textrm{prob}(X > x) = p)$.
  
  `logp` defaults to `false`; if `logp` is `true`, interprets `p` as
  the logarithm of the desired probability.
  @fullName qunif(a, b, lowerTail, logp)(p)
  @memberof uniform