code: function qt(df, lowerTail, logp) {
        lowerTail = lowerTail !== false;
        logp = logp === true;
  
        if (utils.hasNaN(df)) { return function(p) { return NaN; }; }
        return utils.qhelper(lowerTail, logp, -Infinity, Infinity, function(p) {
           // var pp;
  
           // two-tailed prob, pp = 2 * min(p, 1-p)
           // pp = 2 * (logp ? Math.min(Math.exp(p), -expm1(p))
                          // : Math.min(p, 1 - p));
           if (df <= 0) { return NaN; }
           // Using the solver on whole range (possibly inefficient but works)
           // if (df < 1) {
              return utils.binSearchSolve(function(x) {
                 return pt(df, lowerTail, logp)(x);
              }, p);
           // }
  
           // if (df > 1e20) {
           //    return qnorm(0, 1, lowerTail, logp)(p);
           // }
  
           // TODO: Could consider optimizing for df close to 1 or 2
  
        });
     }
docs: inverse cdf From qt.c in R 
  Evaluates the t distribution's quantile function
  (inverse cdf) at `p`:
  $$\textrm{qt}(\textrm{df})(p) = x \textrm{ such that } \textrm{prob}(X \leq x) = p$$
  where $X$ is a random variable with the $t(\textrm{df})$ distribution.
  
  Expects $\textrm{df} > 0$ 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.
  
  Based on: R code
  
  @fullName qt(df, lowerTail, logp)(p)
  @memberof t