Откройте контекст
Выберите папку проекта и обозначьте нужные файлы или поведение.
Вычислите полную дискретную свёртку двух конечных числовых последовательностей. Проверьте пустые входы, одиночное значение и несимметричное ядро, сохраняя длину результата равной сумме длин непустых входов минус один.
Выберите папку проекта и обозначьте нужные файлы или поведение.
Укажите входные данные, ожидаемый результат и границы, которые нужно сохранить.
Проверьте предлагаемые изменения и команды, прежде чем полагаться на результат.
Сравните фактическое поведение с ожидаемым. Если проверка не проходит, разберитесь в причине перед следующими изменениями.
import math
def convolve(values, kernel):
if not all(map(math.isfinite, [*values, *kernel])):
raise ValueError("finite inputs required")
if not values or not kernel: return []
result = [0] * (len(values) + len(kernel) - 1)
for i, value in enumerate(values):
for j, weight in enumerate(kernel):
result[i + j] += value * weight
if not all(map(math.isfinite, result)):
raise ValueError("non-finite result")
return resultПример — отправная точка для реального проекта, а не утверждение, что сгенерированный код уже протестирован. Адаптируйте пути, зависимости и ожидаемое поведение к своему приложению.