[英]Bitwise operations on Armadillo vectors
我需要在两个向量之间进行按位运算。 我不想使用循环。 我正在使用犰狳。 有人可以帮我吗?
编辑:
所谓矢量,是指Armadillo库提供的矢量模板。 像这样:
urowvec newvec1 =零<urowvec>(5);
urowvec newvec2 =个<urowvec>(5);
urowvec newvec3 = newvec1 | newvec2;
但这给我犰狳的错误。
谢谢
如果执行此操作:
inline urowvec operator|(const urowvec& lhs, urowvec& rhs){
// ToDo - operate on an element by element basis, and return
// a urowvec. Decide on something reasonable if the vectors
// differ in size.
}
并确保将其包含在每个需要该运算符的编译单元中,然后urowvec newvec3 = newvec1 | newvec2;
urowvec newvec3 = newvec1 | newvec2;
将有效。
您可以对其他按位运算符执行相同的操作。
任何合理的编译器都会忽略值副本。
进行按位运算使用按位运算符
| bitwise or
& bitwise and
^ bitwise xor
~ bitwise not
<< bitwise shift left
>> bitwise shift right
如果您提出了更具体的问题,则可能会得到更具体的答案。 向量是指std :: vector,它是整数的向量吗? 还是指位数组?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.