4 void mean_accumulate(entity e, .float a, .float c, float mean, float value, float weight)
9 e.(a) *= pow(value, weight);
11 e.(a) += pow(value, mean) * weight;
15 float mean_evaluate(entity e, .float a, .float c, float mean)
20 return pow(e.(a), 1.0 / e.(c));
22 return pow(e.(a) / e.(c), 1.0 / mean);
25 #define MEAN_ACCUMULATE(prefix,v,w) mean_accumulate(self,prefix##_accumulator,prefix##_count,prefix##_mean,v,w)
26 #define MEAN_EVALUATE(prefix) mean_evaluate(self,prefix##_accumulator,prefix##_count,prefix##_mean)
27 #define MEAN_DECLARE(prefix,m) float prefix##_mean = m; .float prefix##_count, prefix##_accumulator