c++ - Eigen 中的按位运算

标签 c++ eigen simd

Eigen 似乎不支持按位运算。

我想要“左移”和“与”的按位 SIMD 功能。

是否有一种快速而肮脏的方法来实现此功能?我可以调用一个内在函数并用 Eigen vector.data() 之类的东西输入它吗?

最佳答案

我认为 Eigen 不支持这一点,因为对于 float 、 double 和复数没有一个好的方法。

您始终可以自己重写这些 C++ 按位运算符,以两个 MatrixBase 作为参数。

对于按位赋值运算符,您需要在 MatrixBase 类中添加一个函数。 Eigen 使这成为可能,请参阅 here如何。

关于c++ - Eigen 中的按位运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29127497/

相关文章:

c++ 最小特征值对应的特征值和特征向量

c++ - 可变长度初始值设定项的模板

c - 为什么使用 GCC 5 和 cilk-plus 会出现此编译错误?

constants - 如何在 LLVM IR 中初始化常量向量?

c++ - 在 "for"循环中初始化两个指向相同值的指针

c++ - Windows 7 和 Windows 8 进程 "ring"控件

c++ - 我可以在这里使用模板特化或类型强制吗?

c++ - 字符串文字如何存储在 C++ 的内存中?

r - 你如何将类 Eigen::MatrixXd 的对象转换为类 Rcpp::NumericMatrix

x86 - 使用 AVX2 计算 8 个 long int 的最小值