ml-matrix
Version:
Matrix manipulation and computation library
29 lines (24 loc) • 712 B
JavaScript
import { checkRange } from '../util';
import BaseView from './base';
export default class MatrixSubView extends BaseView {
constructor(matrix, startRow, endRow, startColumn, endColumn) {
checkRange(matrix, startRow, endRow, startColumn, endColumn);
super(matrix, endRow - startRow + 1, endColumn - startColumn + 1);
this.startRow = startRow;
this.startColumn = startColumn;
}
set(rowIndex, columnIndex, value) {
this.matrix.set(
this.startRow + rowIndex,
this.startColumn + columnIndex,
value,
);
return this;
}
get(rowIndex, columnIndex) {
return this.matrix.get(
this.startRow + rowIndex,
this.startColumn + columnIndex,
);
}
}