add gammaln function from numpy