Завершено
6
28.05.2015, 07:16
28.05.2015, 07:16
Произвести рефакторинг исходного кода на C, реализующего дискретное вейвлет преобразование одно- и N-мерных данных.
Листинги с исходным кодом приведены в книге 'Numerical Recipes in C', глава 13.10, стр. 591-606.
pwtset.c – настройка вейвлет преобразования, выбор конкретной функции из подмножества вейвлетов Добеши..
xwt1.c – пример использования одномерного вейвлет преобразования. Массив чисел инициализируется значениями некоторой функции, производится вейвлет преобразование, обнуляется часть коэффициентов (процент задается пользователем, обнуление производится начиная от наименьших), производится обратное вейвлет преобразование, исходные значения сравниваются с восстановленными, и вычисляется максимальное отклонение.
xwtn.c – пример использования многомерного вейвлет преобразования. Двумерный массив чисел инициализируется значениями некоторой функции, производится вейвлет преобразование, затем обратное преобразование, оценивается точность совпадения восстановленных значений с исходными.
В процессе рефакторинга необходимо:
new
, delete
, объявление переменных не в начале блока, а там, где они реально используются, и т. п.)std::vector
и std::vector<std::vector>
.std::exception
.Архив с проектами для Visual Studio 2013 и Visual Studio 2015