docs: def _old_forney(self, omega, X, k=None):
          '''Computes the error magnitudes (only works with errors or erasures under t = floor((n-k)/2), not with erasures above (n-k)//2)'''
          # XXX Is floor division okay here? Should this be ceiling?
          if not k: k = self.k
          t = (self.n - k) // 2
  
          Y = []
  
          for l, Xl in enumerate(X):
  
              # Compute the sequence product and multiply its inverse in
              prod = GF2int(1) # just to init the product (1 is the neutral term for multiplication)
              Xl_inv = Xl.inverse()
              for ji in _range(t): # do not change to _range(len(X)) as can be seen in some papers, it won't give the correct result! (sometimes yes, but not always)
                  if ji == l:
                      continue
                  if ji < len(X):
                      Xj = X[ji]
                  else: # if above the maximum degree of the polynomial, then all coefficients above are just 0 (that's logical...)
                      Xj = GF2int(0)
                  prod = prod * (Xl - Xj)
                  #if (ji != l):
                  #    prod = prod * (GF2int(1) - X[ji]*(Xl.inverse()))
  
              # Compute Yl
              Yl = Xl**t * omega.evaluate(Xl_inv) * Xl_inv * prod.inverse()
  
              Y.append(Yl)
          return Y