Beispiel #1
0
        void ITreeWalker.Visit(MatrixExpression expression)
        {
            var values = expression.Values;
            var rows   = values.Length;
            var cols   = rows > 0 ? values[0].Length : 0;

            expression.Validate(this);
            InsertMatrix(cols, rows, (i, j) => values[j][i].Accept(this));
        }
        void ITreeWalker.Visit(MatrixExpression expression)
        {
            expression.Validate(this);

            foreach (var row in expression.Values)
            {
                foreach (var value in row)
                {
                    value.Accept(this);
                }
            }
        }
Beispiel #3
0
        void ITreeWalker.Visit(MatrixExpression expression)
        {
            var values = expression.Values;
            var rows   = values.Length;
            var cols   = rows > 0 ? values[0].Length : 0;

            expression.Validate(this);
            _operations.Add(new NewMatOperation(rows, cols));

            for (var row = 0; row < rows; row++)
            {
                for (var col = 0; col < cols; col++)
                {
                    var value = values[row][col];
                    value.Accept(this);
                    _operations.Add(new InitMatOperation(row, col));
                }
            }
        }