将普通的 double* 转换为 _m128d* 非常简单易懂。假设你有一个这样的数组:
double arr[8] = {1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0};
然后_m128d
演示文稿看起来像这样:
_m128d m_arr[8] = { [1.0,2.0] , [3.0,4.0] , [5.0,6.0] , [7.0,8.0] };
因为总是存储 2 个值,如果你可以这么说(这就是我的想象)。但是,如果我改用 3x3 矩阵,这些值将如何拆分???例如:
double mat[3][3] = { {1.0, 2.0, 3.0}, {1.0, 2.0, 3.0}, {1.0, 2.0, 3.0} };
我试图总结矩阵中的所有值,但并没有真正了解如何使用 SSE 有效地做到这一点,因此我需要了解如何处理矩阵_m128d**
。有人知道吗?