Пример #1
0
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;
}
Пример #2
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;
}