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); } } }
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)); } } }