@moduledef.function("lgamma", value="float")
    def method_lgamma(self, space, value):
        try:
            res = rfloat.lgamma(value)
        except (ValueError, OverflowError):
            res = rfloat.INFINITY
        gamma = (1 if value == -1 or math.isnan(value) else
                 space.float_w(space.send(self, "gamma", [space.newfloat(value)])))
        sign = 1 if gamma > 0 else -1 if gamma < 0 else 0
        return space.newarray([space.newfloat(res), space.newint(sign)])
dataset/ETHPy150Open topazproject/topaz/topaz/modules/math.py/Math.method_lgamma/original