00001 #include "AIDA_TupleVariableStatistics.h" 00002 #include <cmath> 00003 00004 Anaphe::AIDA_Tuple_native::AIDA_TupleVariableStatistics::AIDA_TupleVariableStatistics(): 00005 m_min( 0 ), 00006 m_max( 0 ), 00007 m_sumOfValues( 0 ), 00008 m_sumOfValuesSquared( 0 ), 00009 m_entries( 0 ) 00010 {} 00011 00012 00013 bool 00014 Anaphe::AIDA_Tuple_native::AIDA_TupleVariableStatistics::setStatistics( double valueMin, 00015 double valueMax, 00016 double valueMean, 00017 double valueRms, 00018 int numberOfEntries ) 00019 { 00020 m_min = valueMin; 00021 m_max = valueMax; 00022 m_sumOfValues = valueMean * numberOfEntries; 00023 m_sumOfValuesSquared = ( valueMean * valueMean - valueRms * valueRms ) * numberOfEntries; 00024 m_entries = numberOfEntries; 00025 return true; 00026 } 00027 00028 double 00029 Anaphe::AIDA_Tuple_native::AIDA_TupleVariableStatistics::rms() const 00030 { 00031 if ( m_entries == 0 ) return 0; 00032 const double meanx = mean(); 00033 return std::sqrt( std::abs( m_sumOfValuesSquared / m_entries - meanx*meanx ) ); 00034 } 00035