code: def quadratic_interpolate(x, y, precision=250, **kwargs):
      
      n = len(x) - 1
      delta_x = [x2 - x1 for x1, x2 in zip(x, x[1:])]
      delta_y = [y2 - y1 for y1, y2 in zip(y, y[1:])]
      slope = [delta_y[i] / delta_x[i] if delta_x[i] else 1 for i in range(n)]
  
      # Quadratic spline: a + bx + cx²
      a = y
      b = [0] * (n + 1)
      c = [0] * (n + 1)
  
      for i in range(1, n):
          b[i] = 2 * slope[i - 1] - b[i - 1]
  
      c = [(slope[i] - b[i]) / delta_x[i] if delta_x[i] else 0 for i in range(n)]
  
      for i in range(n + 1):
          yield x[i], a[i]
          if i == n or delta_x[i] == 0:
              continue
          for s in range(1, precision):
              X = s * delta_x[i] / precision
              X2 = X * X
              yield x[i] + X, a[i] + b[i] * X + c[i] * X2
docs: Interpolate x, y using a quadratic algorithm
      https://en.wikipedia.org/wiki/Spline_(mathematics)