FUNCTION ajs_digamma, x, eps
  compile_opt idl2
  x = double(x)
  IF n_elements(eps) EQ 0 THEN $
     eps = 1e-12
  
  
  gamma = 0.57721566490153286060651209008240243104215933593992d
  psi = - gamma
  n = 1
  REPEAT BEGIN
      delta_psi = (x - 1) / (n * (n + x - 1))
      psi += delta_psi
      n += 1
  ENDREP UNTIL (abs(delta_psi) LT eps)
  return, psi
END
PRO ajs_digamma_test
  gamma = 0.57721566490153286060651209008240243104215933593992d
  print, 'Zeros:'
  print, ajs_digamma(1) - (- gamma)
  print, ajs_digamma(0.5) - (- gamma - 2 * alog(2))
  print, ajs_digamma(1./3) - (- !PI / 2 / sqrt(3) - 3. / 2 * alog(3) - gamma)
END