#include "box2d/b2_stat.h"
#include <limits>
#include <algorithm>
b2Stat::b2Stat()
{
Clear();
}
void b2Stat::Record( float t )
{
m_total += t;
m_min = std::min(m_min,t);
m_max = std::max(m_max,t);
m_count++;
}
int b2Stat::GetCount() const
{
return m_count;
}
float b2Stat::GetMean() const
{
if (m_count == 0)
{
return 0.0f;
}
return (float)(m_total / m_count);
}
float b2Stat::GetMin() const
{
return m_min;
}
float b2Stat::GetMax() const
{
return m_max;
}
void b2Stat::Clear()
{
m_count = 0;
m_total = 0;
m_min = std::numeric_limits<float>::max();
m_max = std::numeric_limits<float>::lowest();
}