add min max in the bin

This commit is contained in:
2026-04-15 14:47:10 +03:00
parent ec1bd2f376
commit 45215c1529
3 changed files with 13 additions and 1 deletions

View File

@@ -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);
}
}

View File

@@ -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);

View File

@@ -24,6 +24,17 @@ namespace hr
// когда у тебя получается на один бин большой массив данных, типа расчет fft (см. комент выше)
std::vector<base_t> m_values;
// максимальные и минимальные элементы в конкретном бине
// в основном нужны для графической реализации
// соответственно метод ниже в попощь
base_t m_max = std::numeric_limits<base_t>::min();
base_t m_min = std::numeric_limits<base_t>::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)