Ant*_*n K 2 c# simd system.numerics
我无法找出一种方法来获取System.Numerics.Vector类型的向量中的元素总和。
double sum(System.Numerics.Vector<double> vect)
{
// Something like
// double sum = 0;
// foreach e in vect { sum += e; }
// return sum;
// Vector.method???
// For loop ???
}
Run Code Online (Sandbox Code Playgroud)
如果真的可能吗?我怎样才能做到这一点?
假设您确实打算拥有一个Vector可能包含(在当今的硬件中)2或4个双精度值的,这将对它们进行求和。
double vectorSum = Vector.Dot(yourDoubleVector, Vector<double>.One);
Run Code Online (Sandbox Code Playgroud)
该Dot方法计算两个向量的点积,这是为两个向量定义A和B大小的n作为A1 * B1 + A2 * B2 + ... + An * Bn
因此,一个向量A与另一个全为1的向量的点积将只是vector中各项的总和A。