Opened 3 years ago
Closed 3 years ago
#253 closed ожидается проверка (задача сдана)
HW #1
Reported by: | Станислав Михайлов | Owned by: | Святослав Власов |
---|---|---|---|
Component: | HW #1 (BMP) | Version: | 2.0 |
Keywords: | Cc: |
Description
Пока что работает только на квадратных изображениях, тестировал на "Лене". С неквадратными и не делящимися на 4 пока возникают некоторые проблемы, буду исправлять. Проверка аргументов пока что отсутствует и некоторые строки длинной больше 80 символов.
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 |
По прежнему квадратная Лена целиком поворачивается без проблем, а на всех остальных тестах валгринд детектит ошибки или результат оказывается неверным.
По стилю мне не нравится, что ты по прежнему читаешь и пишешь побайтово там, где это можно делать построчно и низкая локальность кода, у тебя много кода работающего с пикселями, вычисляющего паддинг и выделяющего память находится в main
.
7/10 стиль
5/20 корректность.
Корректность за повернутую квадратную Лену пока 5/20
С остальными изображениями, совершенно верно, ничего пока не работает
Стиль -- 4/10
int
в объявлении структуры, которую ты читаешь с диска -- это ошибка. Размерint
зависит от компилятора, платформы и иногда положения сатурна в водолее. Для стандартного gcc под linux-x86 он действительно будет 4 байта, как ты ожидаешь, но в общем случае это может оказаться не так. Можно скомпилировать под x64 и он будет 8 байт, тогда весь твой код будет работать неверно. Для того, чтобы не зависить от компилятора, используй типы данных с точной длиной --uint32_t
и т.п..read_u16
и прочее.rotate
ты уже пишешь нормальноload_pixels
,create/free_mat
-- это функции относящиеся к работе с изображениями, им место вbmp.c
, а неmain.c
COLS
воfree_mat
?