

@defun_wrapped
def jacobi(ctx, n, a, b, x, **kwargs):
    if (not ctx.isnpint(a)):

        def h(n):
            return (([], [], [((a + n) + 1)], [(n + 1), (a + 1)], [(- n), (((a + b) + n) + 1)], [(a + 1)], ((1 - x) * 0.5)),)
        return ctx.hypercomb(h, [n], **kwargs)
    if (not ctx.isint(b)):

        def h(n, a):
            return (([], [], [(- b)], [(n + 1), ((- b) - n)], [(- n), (((a + b) + n) + 1)], [(b + 1)], ((x + 1) * 0.5)),)
        return ctx.hypercomb(h, [n, a], **kwargs)
    return (ctx.binomial((n + a), n) * ctx.hyp2f1((- n), (((1 + n) + a) + ctx), (a + 1), ((1 - x) / 2), **kwargs))

dataset/ETHPy150Open fredrik-johansson/mpmath/mpmath/functions/orthogonal.py jacobi/VarMisuse@293/314 `b`->`ctx`