in lib/model/ModelTypes.cc [105:174]
TDouble2Vec1Vec stripExtraStatistics(EFeature feature, const TDouble2Vec1Vec& values) {
switch (feature) {
CASE_INDIVIDUAL_COUNT:
return values;
case E_IndividualMeanByPerson:
case E_IndividualLowMeanByPerson:
case E_IndividualHighMeanByPerson:
case E_IndividualMedianByPerson:
case E_IndividualLowMedianByPerson:
case E_IndividualHighMedianByPerson:
case E_IndividualMinByPerson:
case E_IndividualMaxByPerson:
case E_IndividualSumByBucketAndPerson:
case E_IndividualLowSumByBucketAndPerson:
case E_IndividualHighSumByBucketAndPerson:
case E_IndividualNonNullSumByBucketAndPerson:
case E_IndividualLowNonNullSumByBucketAndPerson:
case E_IndividualHighNonNullSumByBucketAndPerson:
case E_IndividualMaxVelocityByPerson:
case E_IndividualMinVelocityByPerson:
case E_IndividualMeanVelocityByPerson:
case E_IndividualSumVelocityByPerson:
case E_IndividualMeanLatLongByPerson:
return values;
case E_IndividualVarianceByPerson:
case E_IndividualLowVarianceByPerson:
case E_IndividualHighVarianceByPerson: {
TDouble2Vec1Vec result;
result.reserve(values.size());
for (const auto& value : values) {
result.push_back(TDouble2Vec(value.begin(), value.begin() + value.size() / 2));
}
return result;
}
CASE_POPULATION_COUNT:
return values;
case E_PopulationMeanByPersonAndAttribute:
case E_PopulationLowMeanByPersonAndAttribute:
case E_PopulationHighMeanByPersonAndAttribute:
case E_PopulationMedianByPersonAndAttribute:
case E_PopulationLowMedianByPersonAndAttribute:
case E_PopulationHighMedianByPersonAndAttribute:
case E_PopulationMinByPersonAndAttribute:
case E_PopulationMaxByPersonAndAttribute:
case E_PopulationSumByBucketPersonAndAttribute:
case E_PopulationLowSumByBucketPersonAndAttribute:
case E_PopulationHighSumByBucketPersonAndAttribute:
case E_PopulationMaxVelocityByPersonAndAttribute:
case E_PopulationMinVelocityByPersonAndAttribute:
case E_PopulationMeanVelocityByPersonAndAttribute:
case E_PopulationSumVelocityByPersonAndAttribute:
case E_PopulationMeanLatLongByPersonAndAttribute:
return values;
case E_PopulationVarianceByPersonAndAttribute:
case E_PopulationLowVarianceByPersonAndAttribute:
case E_PopulationHighVarianceByPersonAndAttribute: {
TDouble2Vec1Vec result;
result.reserve(values.size());
for (const auto& value : values) {
result.push_back(TDouble2Vec(value.begin(), value.begin() + value.size() / 2));
}
return result;
}
}
return values;
}