比较序列函数
以下的比较 C 序列函数接受两个输入序列,即 left (左序列)和 right (右序列),并生成布尔类型的 result 序列。
如果两个输入序列的长度不同,则操作仅在较短序列的元素数量上执行。
函数采用以下形式:
MCO_RET mco_seq_operator_TYPE(
mco_seq_iterator_h result,
mco_seq_iterator_h left,
mco_seq_iterator_h right
);
其中 TYPE 是分析函数页面中列出的类型之一,operator 是以下类型之一。
eq
mco_seq_eq_TYPE()
结果序列中的元素对于左右序列中对应相等的元素为 true
;否则为 false
。
ne
mco_seq_ne_TYPE()
结果序列中的元素对于左右序列中不相等的对应元素为 true
;否则为 false
。
gt
mco_seq_gt_TYPE()
结果序列中的元素对于对应位置的元素而言,若左侧元素大于右侧元素为 true
;否则为 false
。
ge
mco_seq_ge_TYPE()
结果序列中的元素对于对应位置的元素而言,若左侧元素大于或等于右侧元素为 true
;否则为 false
。
lt
mco_seq_lt_TYPE()
结果序列中的元素对于对应位置的元素而言,若左侧元素小于右侧元素为 true
;否则为 false
。
le
mco_seq_le_TYPE()
结果序列中的元素对于对应位置的元素而言,若左侧元素小于或等于右侧元素为 true
;否则为 false
。
示例
下面是演示比较运算符函数的示例代码片段:
{
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_eq_float(&result_iterator, &low_iterator, &high_iterator);
...
}
...
}