You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Add doc string to explain matrix-vector product's SSE code and a test (#3124)
* Add doc string to explain matrix-vector product's SSE code and a test
* Increate tol
* As aligned as possible (considering AVE and 512-bit instructions)
* Fix alignment check
* Address comments
* Address comment
@@ -34,6 +40,19 @@ private static bool Compat(AlignedArray a)
34
40
returnq;
35
41
}
36
42
43
+
/// <summary>
44
+
/// Compute the product of matrix <paramref name="mat"/> (the matrix is flattened because its type is <see cref="AlignedArray"/> instead of a matrix)
45
+
/// and a vector <paramref name="src"/>.
46
+
/// </summary>
47
+
/// <param name="tran">Whether to transpose <paramref name="mat"/> before doing any computation.</param>
48
+
/// <param name="mat">If <paramref name="tran"/> is <see langword="false"/>, <paramref name="mat"/> is a m-by-n matrix, and the value at the i-th row and the j-th column is indexed by i * n + j in <paramref name="mat"/>.
49
+
/// If <paramref name="tran"/> is <see langword="true"/>, <paramref name="mat"/> would be viewed a n-by-m matrix, and the value at the i-th row and the j-th column in the transposed matrix is indexed by j * m + i in the
50
+
/// original <paramref name="mat"/>.</param>
51
+
/// <param name="src">A n-by-1 matrix, which is also a vector.</param>
52
+
/// <param name="dst">A m-by-1 matrix, which is also a vector.</param>
53
+
/// <param name="crun">The truncation level of <paramref name="dst"/>. For example, if <paramref name="crun"/> is 2, <paramref name="dst"/>
54
+
/// will be considered as a 2-by-1 matrix and therefore elements after its 2nd element will be ignored. If no truncation should happen,
55
+
/// set <paramref name="crun"/> to the length of <paramref name="dst"/>.</param>
0 commit comments