/** * Construct and returns a new selection view. * * @param offsets * the offsets of the visible elements. * @return a new view. */ protected DoubleMatrix1D viewSelectionLike(int[] offsets) { return new SelectedDenseDoubleMatrix1D(this.elements, offsets); } }
/** * Constructs a matrix view with the given parameters. * * @param size * the number of cells the matrix shall have. * @param elements * the cells. * @param zero * the index of the first element. * @param stride * the number of indexes between any two elements, i.e. * <tt>index(i+1)-index(i)</tt>. * @param offsets * the offsets of the cells that shall be visible. * @param offset */ protected SelectedDenseDoubleMatrix1D(int size, double[] elements, int zero, int stride, int[] offsets, int offset) { setUp(size, zero, stride); this.elements = elements; this.offsets = offsets; this.offset = offset; this.isNoView = false; }
public DoubleMatrix2D reshape(int rows, int columns) { if (rows * columns != size) { throw new IllegalArgumentException("rows*columns != size"); } DoubleMatrix2D M = new DenseDoubleMatrix2D(rows, columns); final double[] elementsOther = (double[]) M.elements(); final int zeroOther = (int) M.index(0, 0); final int rowStrideOther = M.rowStride(); final int colStrideOther = M.columnStride(); int idxOther; int idx = 0; for (int c = 0; c < columns; c++) { idxOther = zeroOther + c * colStrideOther; for (int r = 0; r < rows; r++) { elementsOther[idxOther] = getQuick(idx++); idxOther += rowStrideOther; } } return M; }
public DoubleMatrix2D reshape(int rows, int columns) { if (rows * columns != size) { throw new IllegalArgumentException("rows*columns != size"); } DoubleMatrix2D M = new DenseDoubleMatrix2D(rows, columns); final double[] elementsOther = (double[]) M.elements(); final int zeroOther = (int) M.index(0, 0); final int rowStrideOther = M.rowStride(); final int colStrideOther = M.columnStride(); int idxOther; int idx = 0; for (int c = 0; c < columns; c++) { idxOther = zeroOther + c * colStrideOther; for (int r = 0; r < rows; r++) { elementsOther[idxOther] = getQuick(idx++); idxOther += rowStrideOther; } } return M; }
/** * Construct and returns a new selection view. * * @param offsets * the offsets of the visible elements. * @return a new view. */ protected DoubleMatrix1D viewSelectionLike(int[] offsets) { return new SelectedDenseDoubleMatrix1D(this.elements, offsets); } }
public DoubleMatrix3D reshape(int slices, int rows, int columns) { if (slices * rows * columns != size) { throw new IllegalArgumentException("slices*rows*columns != size"); } DoubleMatrix3D M = new DenseDoubleMatrix3D(slices, rows, columns); final double[] elementsOther = (double[]) M.elements(); final int zeroOther = (int) M.index(0, 0, 0); final int sliceStrideOther = M.sliceStride(); final int rowStrideOther = M.rowStride(); final int colStrideOther = M.columnStride(); int idxOther; int idx = 0; for (int s = 0; s < slices; s++) { for (int c = 0; c < columns; c++) { idxOther = zeroOther + s * sliceStrideOther + c * colStrideOther; for (int r = 0; r < rows; r++) { elementsOther[idxOther] = getQuick(idx++); idxOther += rowStrideOther; } } } return M; }
/** * Constructs a matrix view with the given parameters. * * @param size * the number of cells the matrix shall have. * @param elements * the cells. * @param zero * the index of the first element. * @param stride * the number of indexes between any two elements, i.e. * <tt>index(i+1)-index(i)</tt>. * @param offsets * the offsets of the cells that shall be visible. * @param offset */ protected SelectedDenseDoubleMatrix1D(int size, double[] elements, int zero, int stride, int[] offsets, int offset) { setUp(size, zero, stride); this.elements = elements; this.offsets = offsets; this.offset = offset; this.isNoView = false; }
protected DoubleMatrix1D viewSelectionLike(int[] offsets) { return new SelectedDenseDoubleMatrix1D(this.elements, offsets); } }
public DoubleMatrix3D reshape(int slices, int rows, int columns) { if (slices * rows * columns != size) { throw new IllegalArgumentException("slices*rows*columns != size"); } DoubleMatrix3D M = new DenseDoubleMatrix3D(slices, rows, columns); final double[] elementsOther = (double[]) M.elements(); final int zeroOther = (int) M.index(0, 0, 0); final int sliceStrideOther = M.sliceStride(); final int rowStrideOther = M.rowStride(); final int colStrideOther = M.columnStride(); int idxOther; int idx = 0; for (int s = 0; s < slices; s++) { for (int c = 0; c < columns; c++) { idxOther = zeroOther + s * sliceStrideOther + c * colStrideOther; for (int r = 0; r < rows; r++) { elementsOther[idxOther] = getQuick(idx++); idxOther += rowStrideOther; } } } return M; }
protected DoubleMatrix1D viewSelectionLike(int[] offsets) { return new SelectedDenseDoubleMatrix1D(this.elements, offsets); } }
int[] viewOffsets = this.rowOffsets; int viewOffset = this.offset + _columnOffset(_columnRank(column)); return new SelectedDenseDoubleMatrix1D(viewSize, this.elements, viewZero, viewStride, viewOffsets, viewOffset);
int[] viewOffsets = this.columnOffsets; int viewOffset = this.offset + _rowOffset(_rowRank(row)); return new SelectedDenseDoubleMatrix1D(viewSize, this.elements, viewZero, viewStride, viewOffsets, viewOffset);
int[] viewOffsets = this.columnOffsets; int viewOffset = this.offset + _rowOffset(_rowRank(row)); return new SelectedDenseDoubleMatrix1D(viewSize, this.elements, viewZero, viewStride, viewOffsets, viewOffset);
int[] viewOffsets = this.rowOffsets; int viewOffset = this.offset + _columnOffset(_columnRank(column)); return new SelectedDenseDoubleMatrix1D(viewSize, this.elements, viewZero, viewStride, viewOffsets, viewOffset);
int[] viewOffsets = this.rowOffsets; int viewOffset = this.offset + _columnOffset(_columnRank(column)); return new SelectedDenseDoubleMatrix1D(viewSize, this.elements, viewZero, viewStride, viewOffsets, viewOffset);
int[] viewOffsets = this.columnOffsets; int viewOffset = this.offset + _rowOffset(_rowRank(row)); return new SelectedDenseDoubleMatrix1D(viewSize, this.elements, viewZero, viewStride, viewOffsets, viewOffset);
int[] viewOffsets = this.columnOffsets; int viewOffset = this.offset + _rowOffset(_rowRank(row)); return new SelectedDenseDoubleMatrix1D(viewSize, this.elements, viewZero, viewStride, viewOffsets, viewOffset);
int[] viewOffsets = this.rowOffsets; int viewOffset = this.offset + _columnOffset(_columnRank(column)); return new SelectedDenseDoubleMatrix1D(viewSize, this.elements, viewZero, viewStride, viewOffsets, viewOffset);