2019-05-30 04:40:02 +08:00
|
|
|
/*
|
2022-07-19 19:40:43 +08:00
|
|
|
Copyright (c) 2008-2022 Jan W. Krieger (<jan@jkrieger.de>)
|
2019-05-30 04:40:02 +08:00
|
|
|
|
|
|
|
last modification: $LastChangedDate$ (revision $Rev$)
|
|
|
|
|
|
|
|
This software is free software: you can redistribute it and/or modify
|
|
|
|
it under the terms of the GNU Lesser General Public License (LGPL) as published by
|
|
|
|
the Free Software Foundation, either version 2.1 of the License, or
|
|
|
|
(at your option) any later version.
|
|
|
|
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
GNU Lesser General Public License (LGPL) for more details.
|
|
|
|
|
|
|
|
You should have received a copy of the GNU Lesser General Public License (LGPL)
|
|
|
|
along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-07-23 21:31:56 +08:00
|
|
|
#include "jkqtcommon_statistics_and_math/jkqtpstatgrouped.h"
|
2019-06-13 16:27:06 +08:00
|
|
|
|
|
|
|
double jkqtpstatGroupingIdentity1D(double v) {
|
|
|
|
return v;
|
|
|
|
}
|
|
|
|
|
|
|
|
double jkqtpstatGroupingRound1D(double v) {
|
|
|
|
return round(v);
|
|
|
|
}
|
|
|
|
|
|
|
|
double jkqtpstatGroupingCustomRound1D(double v, double firstGroupCenter, double groupWidth) {
|
|
|
|
return round((v-firstGroupCenter)/(2.0*groupWidth));
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
JKQTPStatGroupDefinitionFunctor1D jkqtpstatMakeGroupingCustomRound1D(double firstGroupCenter, double groupWidth)
|
|
|
|
{
|
|
|
|
return std::bind(&jkqtpstatGroupingCustomRound1D, std::placeholders::_1, firstGroupCenter, groupWidth);
|
|
|
|
}
|