From 45215c15295986a9016fb80afe28ba1718e1f958 Mon Sep 17 00:00:00 2001 From: chatlanin Date: Wed, 15 Apr 2026 14:47:10 +0300 Subject: [PATCH] add min max in the bin --- bin/main.fft.cpp | 2 +- src/plugins/fft/fft.cpp | 1 + src/utils/workers/result.hpp | 11 +++++++++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/bin/main.fft.cpp b/bin/main.fft.cpp index 684bf45..9d2d999 100644 --- a/bin/main.fft.cpp +++ b/bin/main.fft.cpp @@ -19,6 +19,6 @@ auto main() -> int if (!r.empty()) { for (auto& p : r.m_data) - hack::log()(p[10].m_values); + hack::log()(p[10].m_values, p[10].m_min, p[10].m_max); } } diff --git a/src/plugins/fft/fft.cpp b/src/plugins/fft/fft.cpp index 9cd9c12..d19fbf2 100644 --- a/src/plugins/fft/fft.cpp +++ b/src/plugins/fft/fft.cpp @@ -41,6 +41,7 @@ namespace hr::plugins if (v > 0.000001f) v = 20.0f * log10(v); else v = -120.0f; // Минимальное значение для логарифмической шкалы b.m_values.push_back(v); + b.set_min_max(v); m_result.set_min_max(v); } m_result.set_bit(0, b); diff --git a/src/utils/workers/result.hpp b/src/utils/workers/result.hpp index bc9d80f..b246565 100644 --- a/src/utils/workers/result.hpp +++ b/src/utils/workers/result.hpp @@ -24,6 +24,17 @@ namespace hr // когда у тебя получается на один бин большой массив данных, типа расчет fft (см. комент выше) std::vector m_values; + + // максимальные и минимальные элементы в конкретном бине + // в основном нужны для графической реализации + // соответственно метод ниже в попощь + base_t m_max = std::numeric_limits::min(); + base_t m_min = std::numeric_limits::max(); + void set_min_max(base_t v) + { + m_max = hack::math::max(m_max, v); + m_min = hack::math::min(m_min, v); + } }; void set_bit(std::size_t index, bit& b)