Exemple #1
0
        internal static void refmul <M, N, T>(Matrix256 <M, N, T> A, Block256 <N, T> B, Block256 <M, T> X)
            where M : unmanaged, ITypeNat
            where N : unmanaged, ITypeNat
            where T : unmanaged
        {
            var m = nat32i <M>();

            for (var i = 0; i < m; i++)
            {
                X[i] = t_dot.dot(A.GetRow(i), B);
            }
        }
Exemple #2
0
        static ref Matrix256 <M, N, double> Mul <M, K, N>(Matrix256 <M, K, double> A, Matrix256 <K, N, double> B, ref Matrix256 <M, N, double> X)
            where M : unmanaged, ITypeNat
            where K : unmanaged, ITypeNat
            where N : unmanaged, ITypeNat
        {
            var m = nat32i <M>();
            var n = nat32i <N>();

            for (var i = 0; i < m; i++)
            {
                var row = A.GetRow(i);
                for (var j = 0; j < n; j++)
                {
                    var col = B.GetCol(j);
                    X[i, j] = Dot(row, col);
                }
            }
            return(ref X);
        }