网格聚合序列函数
所有网格聚合 C 序列函数都接受一个输入序列迭代器参数和一个类型为 uint8
的区间参数。所有网格聚合函数的结果都会在结果序列中返回,作为每个区间计算出的聚合值。区间参数决定了组中元素的最大数量,但实际数量可能更少。因此,输入序列将被划分为包含区间数量元素的块,在这些块上执行操作。函数采用以下形式:
MCO_RET mco_seq_grid_agg_operation_TYPE(
mco_seq_iterator_h result,
mco_seq_iterator_h input,
mco_size_t interval
);
其中 TYPE 是分析函数页面中列出的类型之一,operation 是以下类型之一。
max
mco_seq_grid_agg_max_TYPE()
返回具有相同类型的序列结果,其中每个元素区间都具有最大值。
min
mco_seq_grid_agg_min_TYPE()
返回具有相同类型的序列结果,其中每个元素区间都具有最小值。
sum
mco_seq_grid_agg_sum_TYPE()
返回相同类型的具有每个元素区间总和的结果序列。
avg
mco_seq_grid_agg_avg_TYPE()
返回每个元素区间平均值的双精度结果序列。
var
mco_seq_grid_agg_var_TYPE()
返回具有每个元素区间方差的双精度结果序列。
var_samp
mco_seq_grid_agg_var_samp_TYPE()
返回每个元素区间样本方差的双精度结果序列.
dev
mco_seq_grid_agg_dev_TYPE()
返回每个元素区间的标准差的双精度结果序列。
dev_samp
mco_seq_grid_agg_dev_samp_TYPE()
返回每个元素区间样本标准差的双精度结果序列。
示例
下面是一个演示网格聚合函数的示例代码片段:
{
mco_trans_h trans;
mco_cursor_t quote_cursor;
Quote quote;
mco_seq_iterator_t close_iterator, max_iterator;
MCO_RET rc;
...
for (rc = mco_cursor_first(trans, "e_cursor);
rc != MCO_S_CURSOR_END;
rc = mco_cursor_next(trans, "e_cursor))
{
Quote_from_cursor(trans, "e_cursor, "e);
Quote_close_iterator("e, &close_iterator);
mco_seq_grid_agg_max_float(&max_iterator, &close_iterator, 7);
...
}
...
}