From 1507647832b9a30d32bea9c70b5a15e28953db48 Mon Sep 17 00:00:00 2001
From: jonas <jonas.stirnemann@etu.hesge.ch>
Date: Tue, 14 Dec 2021 17:54:45 +0100
Subject: [PATCH] Broken version

---
 main.py         | 10 +++++-----
 reed_solomon.py | 13 +++++++++----
 2 files changed, 14 insertions(+), 9 deletions(-)

diff --git a/main.py b/main.py
index 32da3ec..d05c32e 100644
--- a/main.py
+++ b/main.py
@@ -1,10 +1,10 @@
 # MAIN FILE TO TEST FUNCTIONS
 
 from polynome import *
+from reed_solomon import *
 
 if __name__ == "__main__":
-    pol1 = polynome([1, 2, 3, 4, 5])
-    pol2 = polynome([2, 3, 4, 4, 4])
-    # pol3 = pol1.add(pol2)
-    pol1.show()
-    pol1.evaluate(2)
\ No newline at end of file
+    
+    reed_solomon = reed_decode([115, 117, 101, 118, 122, 116, 57, 108, 32, 224, 62, 116, 115, 140, 32, 108, 153, 83, 169, 117, 108, 112, 32, 110, 101, 55, 96, 61, 160, 218, 228, 156, 224, 203, 12, 75, 180, 23, 220, 211, 137, 139, 206])
+    # reed_solomon = reed_decode([2, 3 ,4])
+    reed_solomon.show()
\ No newline at end of file
diff --git a/reed_solomon.py b/reed_solomon.py
index 0e7efb1..c216f80 100644
--- a/reed_solomon.py
+++ b/reed_solomon.py
@@ -38,15 +38,20 @@ def lagrange_compute(l: list) -> polynome:
 def check_nb_error(l: list, p: polynome) -> int:
 	
 	nbr_error = 0
-	for _, item in enumerate(l):
-		if (item % p.prime_mod) != (p.evaluate(_) % p.prime_mod):
-			print(f"DEBUG PURPOSES ONLY {item} != p.evaluate({_}) = {p.evaluate(_)}")
+	for item in l:
+		if (item[1] % p.prime_mod) != (p.evaluate(item[0]) % p.prime_mod):
+			print(f"DEBUG PURPOSES ONLY {item[1]} != p.evaluate({item[0]}) = {p.evaluate(item[0])}")
 			nbr_error += 1
 	return nbr_error
 
 
 def reed_decode(l: list) -> polynome:
+	# print("test")
 	for points in get_possibilities(l):
-		if (check_nb_error(l, lagrange_compute(points)) <= 9):
+		# print(f"{points}")
+		# lagrange_compute(points).show()
+		err = check_nb_error(l, lagrange_compute(points))
+		print(f"{err=}")
+		if ((err) <= 9):
 			# Possibilité d'optimiser en evitant de compute 2 fois le poly
 			return lagrange_compute(points)
\ No newline at end of file
-- 
GitLab