Generates random variables from a Skew t distribution

        Parameters
        ----------  
        df : float
            degrees of freedom parameter

        gamma : float
            skewness parameter

        n : int or list
            Number of simulations to perform; if list input, produces array

def rvs(df, gamma, n):
        """ Generates random variables from a Skew t distribution

        Parameters
        ----------  
        df : float
            degrees of freedom parameter

        gamma : float
            skewness parameter

        n : int or list
            Number of simulations to perform; if list input, produces array

        """

        if type(n) == list:
            u = np.random.uniform(size=n[0]*n[1])
            result = Skewt.ppf(q=u, df=df, gamma=gamma)
            result = np.split(result,n[0])
            return np.array(result)
        else:
            u = np.random.uniform(size=n)
            if isinstance(df, np.ndarray) or isinstance(gamma, np.ndarray):
                return np.array([Skewt.ppf(q=np.array([u[i]]), df=df[i], gamma=gamma[i])[0] for i in range(n)])
            else:
                return Skewt.ppf(q=u, df=df, gamma=gamma)