我希望将一个8x8二进制矩阵乘以一个8位向量,该矩阵表示为一个无符号64位整数,该矩阵由一个无符号字符表示。然而,由于其他一些问题,矩阵必须是按列排序的,因此没有简单的字节匹配以便于乘法。
你知道如何加快计算速度吗?每一次手术都很重要,我需要数十亿这样的计算。
乘法在一个2元域(F-2)上进行.
发布于 2011-06-30 16:47:11
你只有256个矢量!使用查找表生成正确的位掩码,那么您的逻辑将类似于
output_bit_n = bool (matrix [n] & lookup [vector])换句话说,您的查找表可以将8位值转换为64位世界。
如果编译器不够聪明,无法优化旋转与进位,则可以使用(value<<=1)|=result指令有效地将其打包到结果中。
https://stackoverflow.com/questions/6538032
复制相似问题