二进制序列函数
以下二进制 C 序列函数接受两个输入序列,即 left (左序列)和 right (右序列),并生成相同类型的 result 序列。
两个输入序列必须是相同的类型。如果两个输入序列的长度不同,则操作仅在较短序列的元素数量上执行。
函数采用以下形式:
MCO_RET mco_seq_operation_TYPE(
mco_seq_iterator_h result,
mco_seq_iterator_h left,
mco_seq_iterator_h right
);
其中 TYPE 是分析函数页面中列出的类型之一,operation 是以下类型之一。
add
mco_seq_add_TYPE()
在左序列和右序列添加元素。
sub
mco_seq_sub_TYPE()
从右序列到左减去元素。
mul
mco_seq_mul_TYPE()
将左序列和右序列中的元素相乘。
div
mco_seq_div_TYPE()
将元素从左划分为右序列。
mod
mco_seq_mod_TYPE()
左序列元素与右序列元素的模数。
max
mco_seq_max_TYPE()
左序列和右序列对应元素的最大数量。
min
mco_seq_min_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_div_float(&result_iterator, &low_iterator, &high_iterator);
...
}
...
}