From c350688e2ae28a84d07208c97c8e324d77199af8 Mon Sep 17 00:00:00 2001 From: Abivarman <abivarman.kandiah@etu.hesge.ch> Date: Thu, 9 Dec 2021 13:29:29 +0100 Subject: [PATCH] Lagrange don't work yet --- reed_solomon.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/reed_solomon.py b/reed_solomon.py index 3a36f11..870d394 100644 --- a/reed_solomon.py +++ b/reed_solomon.py @@ -5,8 +5,27 @@ def get_possibilities(l: list): pass def lagrange_compute(l: list) -> polynome: - pass + list_s = [0] * len(l) + list_p = [1] * 2 + [0] * (len(l)-2) + sum_poly = polynome(list_s) + product_poly = polynome(list_p) + + for x_i, y_i in enumerate(l): + for x_j, y_j in enumerate(l): + if x_j != x_i: + product_poly = product_poly.mul(polynome([(y_i * (0-x_j)) /(x_i - x_j) , y_i / (x_i - x_j)])) + #product_poly.show() + sum_poly = sum_poly.add(product_poly) + #sum_poly.show() + product_poly = polynome(list_p) + return sum_poly def check_nb_error(l: list, p: polynome) -> int: pass +if __name__ == '__main__': + list_ = [1, 2, 3] + print(list_) + poly = lagrange_compute(list_) + poly.show() + #print(poly.evaluate(0)) \ No newline at end of file -- GitLab