static void _acb_hypgeom_li(acb_t res, const acb_t z, long prec) { if (acb_is_zero(z)) { acb_zero(res); } else { acb_log(res, z, prec); acb_hypgeom_ei(res, res, prec); } }
void arb_hypgeom_ei(arb_t res, const arb_t z, slong prec) { if (!arb_is_finite(z)) { arb_indeterminate(res); } else { acb_t t; acb_init(t); arb_set(acb_realref(t), z); acb_hypgeom_ei(t, t, prec); arb_swap(res, acb_realref(t)); acb_clear(t); } }