zjowowen's picture
init space
c1806e4
// C++11
#include "cminimax.h"
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);
}
}
}