def update_psum(self,S):

        if self.variant!="v":
            if self.n==0:
                self.run(S[0],S[0])
            while self.n<len(S):
                self.run(S[self.n],S[self.n]-S[self.n-1])
        else:
            if len(S)==1:
                self.last=0
                return S[0],abs(S[0])

            if self.n==0:
                self.a1=S[1]-S[0]
                self.run(S[0],S[0],self.a1)

            while self.n<len(S)-1:
                na1=S[self.n+1]-S[self.n]
                self.run(S[self.n],self.a1,na1)
                self.a1=na1

        value=self.A[0]/self.B[0]
        err=abs(value-self.last)
        self.last=value

        return value,err
Strips the IDD from the start of the number if present.
dataset/ETHPy150Open fredrik-johansson/mpmath/mpmath/calculus/extrapolation.py/levin_class.update_psum--crossover with--dataset/ETHPy150Open daviddrysdale/python-phonenumbers/python/phonenumbers/phonenumberutil.py/_parse_prefix_as_idd