Spaces:
Sleeping
Sleeping
| // C++11 | |
| namespace tools{ | |
| CMinMaxStats::CMinMaxStats(){ | |
| this->maximum = FLOAT_MIN; | |
| this->minimum = FLOAT_MAX; | |
| this->value_delta_max = 0.; | |
| } | |
| CMinMaxStats::~CMinMaxStats(){} | |
| void CMinMaxStats::set_delta(float value_delta_max){ | |
| this->value_delta_max = value_delta_max; | |
| } | |
| void CMinMaxStats::update(float value){ | |
| if(value > this->maximum){ | |
| this->maximum = value; | |
| } | |
| if(value < this->minimum){ | |
| this->minimum = value; | |
| } | |
| } | |
| void CMinMaxStats::clear(){ | |
| this->maximum = FLOAT_MIN; | |
| this->minimum = FLOAT_MAX; | |
| } | |
| float CMinMaxStats::normalize(float value){ | |
| float norm_value = value; | |
| float delta = this->maximum - this->minimum; | |
| if(delta > 0){ | |
| if(delta < this->value_delta_max){ | |
| norm_value = (norm_value - this->minimum) / this->value_delta_max; | |
| } | |
| else{ | |
| norm_value = (norm_value - this->minimum) / delta; | |
| } | |
| } | |
| return norm_value; | |
| } | |
| //********************************************************* | |
| CMinMaxStatsList::CMinMaxStatsList(){ | |
| this->num = 0; | |
| } | |
| CMinMaxStatsList::CMinMaxStatsList(int num){ | |
| this->num = num; | |
| for(int i = 0; i < num; ++i){ | |
| this->stats_lst.push_back(CMinMaxStats()); | |
| } | |
| } | |
| CMinMaxStatsList::~CMinMaxStatsList(){} | |
| void CMinMaxStatsList::set_delta(float value_delta_max){ | |
| for(int i = 0; i < this->num; ++i){ | |
| this->stats_lst[i].set_delta(value_delta_max); | |
| } | |
| } | |
| } |