Refactor mean calculation into static helper method

This commit is contained in:
Magne Sjaastad committed 2026-02-12 14:25:48 +01:00
1 parent 1ec53cc3f2
commit 8f365ea340
3 files changed
+71 -16

No files matched your search

@@ -164,22 +164,7 @@ void RigStatisticsMath::calculateStatisticsCurves( const std::vector<double>& va
*p90 = HUGE_VAL;
}
// Calculate mean separately
std::vector<double> validValues = values;
validValues.erase( std::remove_if( validValues.begin(),
validValues.end(),
[]( double x ) { return !RiaStatisticsTools::isValidNumber( x ); } ),
validValues.end() );
if ( !validValues.empty() )
{
double valueSum = std::accumulate( validValues.begin(), validValues.end(), 0.0 );
*mean = valueSum / validValues.size();
}
else
{
*mean = HUGE_VAL;
}
*mean = calculateMean( values );
}
//--------------------------------------------------------------------------------------------------
@@ -430,6 +415,26 @@ std::expected<std::vector<double>, std::string>
return resultValues;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
double RigStatisticsMath::calculateMean( const std::vector<double>& values )
{
std::vector<double> validValues = values;
validValues.erase( std::remove_if( validValues.begin(),
validValues.end(),
[]( double x ) { return !RiaStatisticsTools::isValidNumber( x ); } ),
validValues.end() );
if ( !validValues.empty() )
{
double valueSum = std::accumulate( validValues.begin(), validValues.end(), 0.0 );
return valueSum / validValues.size();
}
return HUGE_VAL;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------