C++ 犰狳模量函数

c++ armadillo modulus function

本文关键字:函数 C++      更新时间:2023-10-16

在c ++犰狳中对向量矩阵执行模运算符的最佳方法是什么?


向量和矩阵类重载 % 运算符以执行逐元素乘法。尝试使用它会产生invalid operands错误。我期待

uvec a = {0, 1, 2, 3};
uvec b = a % 2;
cout << "b" << endl;

将产生以下内容:

b:
    0
    1
    0
    1

运算符 '%' 用于逐元素矩阵乘法。您必须创建自己的函数:

/**
 * Extend division reminder to vectors
 *
 * @param   a       Dividend 
 * @param   n       Divisor
 */
template<typename T>
T mod(T a, int n)
{
    return a - floor(a/n)*n;
}