折叠序列函数
以下折叠 C 序列函数接受两个输入序列,即 left (左序列)和 right (右序列),并生成 double 类型的 result 序列。
其中计算的标量结果是第一个元素。
两个输入序列必须属于同一类型。如果两个 input 序列的长度不同,则将仅对两个序列中较短的元素数量执行操作。 函数采用以下形式:
MCO_RET mco_seq_operation_TYPE(
mco_seq_iterator_h result,
mco_seq_iterator_h left,
mco_seq_iterator_h right
);
其中 TYPE 是分析函数页面中列出的类型之一,operation 是以下类型之一。
wsum
mco_seq_wsum_TYPE()
结果序列中的第一个元素是两个序列(左序列和右序列)的加权和。
wavg
mco_seq_wavg_TYPE()
结果序列中的第一个元素是两个序列(左序列和右序列)的加权平均值。
cov
mco_seq_cov_TYPE()
结果序列中的第一个元素是两个序列(左序列和右序列)的协方差。
corr
mco_seq_corr_TYPE()
结果序列中的第一个元素是两个序列(左序列和右序列)的相关性。
示例
以下是演示折叠函数的示例代码片段:
{
mco_trans_h trans;
mco_cursor_t quote_cursor;
Quote quote;
mco_seq_iterator_t high_iterator, low_iterator, result_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_high_iterator("e, &high_iterator);
Quote_low_iterator("e, &low_iterator);
...
rc = mco_seq_corr_float(&result_iterator, &high_iterator, &low_iterator);
...
}
...
}