int main() { const int values[] = {1, 2, 2}; const size_t count = sizeof(values) / sizeof(values[0]); int ret = 0; ret = SquareSum(values, count); printf("%d\n", ret); return 0; }
int32_t ComputeFunc(MEM_POOL_PTR mem_pool, enum function_type agr_type, struct low_data_struct *cur_value, struct low_data_struct* new_value) { int32_t result_code = MILE_RETURN_SUCCESS; switch (agr_type) { case FUNC_MIN: result_code = Min(mem_pool, cur_value, new_value); break; case FUNC_MAX: result_code = Max(mem_pool, cur_value, new_value); break; case FUNC_SUM: result_code = Sum(mem_pool, cur_value, new_value); break; case FUNC_COUNT: result_code = Count(mem_pool, cur_value, new_value); break; case FUNC_AVG: result_code = Avg(mem_pool, cur_value, new_value); break; case FUNC_VAR: result_code = Var(mem_pool, cur_value, new_value); break; case FUNC_STD: result_code = Var(mem_pool, cur_value, new_value); break; case FUNC_SQUARE_SUM: result_code = SquareSum(mem_pool, cur_value, new_value); break; case FUNC_COUNT_DISTINCT: result_code = CountDistinct(mem_pool, cur_value, new_value); break; default: return ERROR_UNSUPPORTED_AGRFUNC_TYPE; } return result_code; }