|
#include "orsci.h"
using namespace orsci;
int main()
{
{
vdouble x;
x = "-5:10, 7, 8";
cout << x << endl; //-5,-4,...,8, 9, 10, 7, 8
cout << x.sum() << endl; //全部元素累加和。共55。
cout << x.sum(vmt::GT(0)) << endl; //GT(0)代表大于0的数累加和,值70。
cout << x.sum(vmt::BETWEEN(3, 7)) << endl; //对于处于3和7之间的数累加,因存在两个7,所以为32。
cout << x.sum(vmt::NOT(EQU(7))) << endl; //不等于7的元素累加。因为存在两个7,所以为55-14=41。等价于sum(x, NoEQU(7))。
cout << x.sum(vmt::OR(LS(0), BETWEEN(3, 7))) << endl; //对于<0或处于[3,7]区间的数累加。结果为-15+32=17。
cout << x.sum(vmt::AND(vmt::BETWEEN(3, 7), vmt::NoEQU(5))) << endl; //累加3到7之间但不是5的数之和。值32-5=27。
//支持复杂逻辑表达式
cout << x.sum(vmt::OR(vmt::AND(vmt::GT(3), vmt::LS(7)), vmt::NOT(vmt::NOT(vmt::EQU(1))))) << endl; //计算(>3 and <7 ) or (==1)的数。值为16。
}
return 0;
} |