Calculate square of averages with double precision.

This commit is contained in:
Bartosz Taudul
2026-06-24 23:08:07 +02:00
parent d0c7596977
commit d924b05ab7
3 changed files with 4 additions and 4 deletions

View File

@@ -1001,7 +1001,7 @@ void View::DrawCompare()
{
const auto sz = sorted[0].size();
const auto avg = m_compare.average[0];
const auto ss = sumSq0 - 2. * total0 * avg + avg * avg * sz;
const auto ss = sumSq0 - 2. * total0 * avg + double( avg ) * avg * sz;
const auto sd = sqrt( ss / ( sz - 1 ) );
ImGui::SameLine();
@@ -1027,7 +1027,7 @@ void View::DrawCompare()
{
const auto sz = sorted[1].size();
const auto avg = m_compare.average[1];
const auto ss = sumSq1 - 2. * total1 * avg + avg * avg * sz;
const auto ss = sumSq1 - 2. * total1 * avg + double( avg ) * avg * sz;
const auto sd = sqrt( ss / ( sz - 1 ) );
ImGui::SameLine();

View File

@@ -1115,7 +1115,7 @@ void View::DrawFindZone()
{
const auto sz = m_findZone.sorted.size();
const auto avg = m_findZone.average;
const auto ss = zoneData.sumSq - 2. * zoneData.total * avg + avg * avg * sz;
const auto ss = zoneData.sumSq - 2. * zoneData.total * avg + double( avg ) * avg * sz;
const auto sd = sqrt( ss / ( sz - 1 ) );
ImGui::SameLine();

View File

@@ -129,7 +129,7 @@ void View::DrawFrameStatistics()
if( vsz > 1 )
{
const auto avg = m_frameSortData.average;
const auto ss = m_frameSortData.sumSq - 2. * total * avg + avg * avg * vsz;
const auto ss = m_frameSortData.sumSq - 2. * total * avg + double( avg ) * avg * vsz;
m_frameSortData.sd = sqrt( ss / ( vsz - 1 ) );
}
else