diff --git a/.gitignore b/.gitignore index d5e4f15f8c02ac458b0019ffbb99d969fdc719db..5fb58aff55a75922b3006105626b794fd853899f 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ -**/__pycache__ \ No newline at end of file +**/__pycache__ +**/test.py diff --git a/polynome.py b/polynome.py index cf6272887eca1a70c9fc690055f74ad537c5772e..a807c3ebb775ec4b520c02ac404a1f10ac65b2f0 100644 --- a/polynome.py +++ b/polynome.py @@ -9,19 +9,16 @@ class polynome(): self.prime_mod = 229 def show(self): - # TODO: OPTIMIZE IFs for i in range(len(self.coefs) - 1, -1, -1): + power = "" if self.coefs[i] != 0: coef = str(self.coefs[i]) + if i != 0: # its not 0's degree + power = f"x^{i} + " else: coef = "" - if i != 0: - power = f"x^{i} +" - else: - power = "" - - print(f"{coef}{power} ", end="") - print() + print(f"{coef}{power}", end="") + print() # new line def add(self, poly_2): coeff_poly_1 = self.coefs diff --git a/reed_solomon.py b/reed_solomon.py index bdcc03c1128b01f16fca2fe7645acee1585c498c..297a1e70118204dc4cce8d5b66a086ea149f15d3 100644 --- a/reed_solomon.py +++ b/reed_solomon.py @@ -25,4 +25,10 @@ def lagrange_compute(l: list) -> polynome: pass def check_nb_error(l: list, p: polynome) -> int: - pass \ No newline at end of file + + nbr_error = 0 + for _, item in enumerate(l): + if (item % p.prime_mod) != (p.evaluate(_) % p.prime_mod): + print(f"{item} != p.evaluate({_}) = {p.evaluate(_)}") + nbr_error += 1 + return nbr_error \ No newline at end of file