Как правильно реализовать коды BCH в Python?Python

Программы на Python
Ответить
Anonymous
 Как правильно реализовать коды BCH в Python?

Сообщение Anonymous »

В университете мы просто получили расплывчатое объяснение кодов BCH, а затем нам поставили задачу реализовать его на заданном языке программирования. Нам пришлось протестировать его с помощью внедрения ошибок, и я просто не знаю, как действовать и что в нем исправить.

Код: Выделить всё

import argparse
import math
import logging
from colorama import init, Fore, Style

# Initialize colorama
init(autoreset=True)

def generate_galois_field(field_degree):
"""
Generate Galois Field GF(2^m).

Args:
field_degree (int): Degree of the field (m).

Returns:
tuple: (alpha_powers, log_table), exponentiation and logarithm tables.
"""
# Primitive polynomials for GF(2^m) for m from 2 to 16
primitive_polynomials = {
2: 0b111,
3: 0b1011,
4: 0b10011,
5: 0b100101,
6: 0b1000011,
7: 0b10001001,
8: 0b100011101,
9: 0b1000010001,
10: 0b10000001001,
11: 0b100000000101,
12: 0b1000001010011,
13: 0b10000000011011,
14: 0b100010000000011,
15: 0b1000000000000011,
16: 0b10001000000001011,
}

if field_degree not in primitive_polynomials:
raise ValueError(f"No primitive polynomial defined for field degree m = {field_degree}")

primitive_polynomial = primitive_polynomials[field_degree]
field_size = 2 ** field_degree - 1  # n = 2^m - 1
alpha_powers = [0] * (field_size)
log_table = [0] * (field_size + 1)

alpha_powers[0] = 1
for i in range(1, field_size):
alpha_powers[i] = alpha_powers[i - 1] 

Подробнее здесь: [url]https://stackoverflow.com/questions/79201895/how-to-implement-bch-codes-in-python-correctly[/url]
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»