

def step_psum(self, s):
    '\n        This routine applies the convergence acceleration to the partial sums.\n\n        A   = sum(a_k, k = 0..infinity)\n        s_n = sum(a_k, k = 0..n)\n\n        v, e = ...step_psum(s_k)\n\n        output:\n          v      current estimate of the series A\n          e      an error estimate which is simply the difference between the current\n                 estimate and the last estimate.\n        '
    if (self.variant != 'v'):
        if (self.n == 0):
            self.last_s = s
            s.run(s, s)
        else:
            self.run(s, (s - self.last_s))
            self.last_s = s
    else:
        if isinstance(self.last_s, bool):
            self.last_s = s
            self.last_w = s
            self.last = 0
            return (s, abs(s))
        na1 = (s - self.last_s)
        self.run(self.last_s, self.last_w, na1)
        self.last_w = na1
        self.last_s = s
    value = (self.A[0] / self.B[0])
    err = abs((value - self.last))
    self.last = value
    return (value, err)

dataset/ETHPy150Open fredrik-johansson/mpmath/mpmath/calculus/extrapolation.py levin_class.step_psum/VarMisuse@42/206 `self`->`s`