diff --git a/src/hack/comparators/comparators.hpp b/src/hack/comparators/comparators.hpp index 0d4e7e5..6b6c2e5 100644 --- a/src/hack/comparators/comparators.hpp +++ b/src/hack/comparators/comparators.hpp @@ -55,35 +55,35 @@ namespace hack::comparators if (!file.is_open()) throw std::runtime_error("Cannot open file for reading: " + path.string()); // Читаем размер массива из файла - size_t file_size = 0; - file.read(reinterpret_cast(&file_size), sizeof(size_t)); + size_t target_size = 0; + file.read(reinterpret_cast(&target_size), sizeof(size_t)); if (!file) throw std::runtime_error("Failed to read array size from file: " + path.string()); - res.m_file_size = file_size; + res.m_file_size = target_size; res.m_input_size = in.size(); // Сравниваем размеры - if (file_size != in.size()) + if (target_size != in.size()) { res.m_is_equal = false; return res; } // Создаём вектор для данных из файла - std::vector file_array(file_size); + std::vector target(target_size); // Читаем данные из файла - if (file_size > 0) + if (target_size > 0) { - file.read(reinterpret_cast(file_array.data()), file_size * sizeof(float)); + file.read(reinterpret_cast(target.data()), target_size * sizeof(float)); if (!file) throw std::runtime_error("Failed to read data from file: " + path.string()); } // Сравниваем элементы с учётом погрешности res.m_mismatch_count = 0; - for (size_t i = 0; i < file_size; ++i) + for (size_t i = 0; i < target_size; ++i) { - if (std::fabs(file_array[i] - in[i]) > epsilon) + if (std::fabs(target[i] - in[i]) > epsilon) { ++res.m_mismatch_count; res.m_mismatch_indices.push_back(i); @@ -92,6 +92,9 @@ namespace hack::comparators res.m_is_equal = (res.m_mismatch_count == 0); + log()(in); + log()(target); + return res; } }