diff --git a/polynomial.py b/polynomial.py index 216a6f064aeeae0d90583007a85bb07901b75bd5..73769da2fc022f4c18457849231a60a6ac998ce1 100644 --- a/polynomial.py +++ b/polynomial.py @@ -160,9 +160,22 @@ def reed_solomon(points, data_length, last_error_index, prime_number): def main(): + # m + 2n + # 25 + 2 * 11 = 47 message = {"data_length": 25, "last_error_index": 23, "prime_number": 401, "points": [67, 101, 38, 109, 101, 115, 133, 118, 103, 128, 62, 118, 97, 156, 116, 77, 49, 56, 86, 112, 171, 105, 176, 116, 115, 183, 30, 315, 368, 29, 352, 54, 333, 198, 139, 234, 321, 92, 5, 272, 396, 265, 397, 386, 229, 153, 276]} + # > 23 => 24 à 46 = 23 points + # Il faut trouver 2 points dans [0 ; 23] + print(len(message["points"])) + print(message["points"][:23 + 1]) + print(message["points"][23 + 1:]) + # 25 points + # Polynome qui passe les 25 points possiblement juste + # On test tous les points, si le polynome passe par m + n points c'est le bon + # 0 à 24 + # 0, 1, 2, 3 points = [(x, y) for x, y in enumerate(message["points"])] + print(points) corrected_data = reed_solomon(points, message["data_length"], message["last_error_index"], message["prime_number"]) print(corrected_data)