Opened 3 years ago
Closed 3 years ago
#715 closed ожидается проверка (задача сдана)
HW #2
Reported by: | yurko.andrej | Owned by: | Святослав Власов |
---|---|---|---|
Component: | HW #3 (Huffman) | Version: | 2.0 |
Keywords: | Cc: |
Description
Change History (3)
comment:1 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
comment:3 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Падает тест на однобайтовом файле содержащем 0x01
На файле, содержащем все байты последовательно от 0x00
до 0xff
после компрессии размер сжатых данных на 1 байт больше, чем размер исходных
На переставленных аргументах программа не работает.
Пора отходить от ручного управления памятью и использовать умные указатели.
Много Magic Numbers
Почему два мейкфайла в директории?
Тестов мало. Отчасти потому, что функции у тебя монструозные, их было бы неплохо декомпозировать.
10/4/7
Note: See
TracTickets for help on using
tickets.
Попытка заархировать пустой файл и разархивировать однобайтовый упали с сегфолтом. Многие другие тесты тоже.
В тех тестах, что не засегфолтились, программа отрепортила неправильные размеры файлов. К тому же из отрепорченных данных следует, что сжатые данные оказались больше распакованных.
Еще твоя программа не работает с переставленными и/или полными ключами аргументов.
Стиль:
HuffTree::HuffTree(std::vector<std::pair<char, int>> v_of_counts)
is_found
иv_of_counts
? Еслиv_of_counts
сделать фиксированного размера 256 и вместо пар там хранить просто частоты, а символом будет индекс, то это сильно упростит код и избавит от необходимостиis_found
int size_of_char = 1, size_of_int = 4;
Зачем? Во-первых, есть же<climits>
: https://www.cplusplus.com/reference/climits/ а во-вторых размер инта -- это не обязательно 4 байта. Под другой платформой у тебя всё рухнет.Тестов не нашел.
Пока это 0