public VectorNd mul(double... v) { final int size = size(); if (size != v.length) { throw new IllegalArgumentException("Vector sizes must be the same"); } final VectorNd d = new VectorNd(size); for (int comp = 0; comp < size; comp++) { d.vec[comp] = vec[comp] * v[comp]; } return d; }
@Override public VectorNd ceil() { final int size = size(); final VectorNd d = new VectorNd(size); for (int comp = 0; comp < size; comp++) { d.vec[comp] = (double) Math.ceil(vec[comp]); } return d; }
@Override public VectorNd toDouble() { final int size = size(); final double[] doubleVec = new double[size]; for (int comp = 0; comp < size; comp++) { doubleVec[comp] = (double) vec[comp]; } return new VectorNd(doubleVec); }
public VectorNd sub(double... v) { final int size = size(); if (size != v.length) { throw new IllegalArgumentException("Vector sizes must be the same"); } final VectorNd d = new VectorNd(size); for (int comp = 0; comp < size; comp++) { d.vec[comp] = vec[comp] - v[comp]; } return d; }
public VectorNd max(double... v) { final int size = size(); if (size != v.length) { throw new IllegalArgumentException("Vector sizes must be the same"); } final VectorNd d = new VectorNd(size); for (int comp = 0; comp < size; comp++) { d.vec[comp] = Math.max(vec[comp], v[comp]); } return d; }
@Override public VectorNd toDouble() { final int size = size(); final double[] doubleVec = new double[size]; for (int comp = 0; comp < size; comp++) { doubleVec[comp] = (double) vec[comp]; } return new VectorNd(doubleVec); }
@Override public VectorNd mul(double a) { final int size = size(); final VectorNd d = new VectorNd(size); for (int comp = 0; comp < size; comp++) { d.vec[comp] = vec[comp] * a; } return d; }
@Override public VectorNd abs() { final int size = size(); final VectorNd d = new VectorNd(size); for (int comp = 0; comp < size; comp++) { d.vec[comp] = Math.abs(vec[comp]); } return d; }
@Override public VectorNd negate() { final int size = size(); final VectorNd d = new VectorNd(size); for (int comp = 0; comp < size; comp++) { d.vec[comp] = -vec[comp]; } return d; }
public VectorNd min(double... v) { final int size = size(); if (size != v.length) { throw new IllegalArgumentException("Vector sizes must be the same"); } final VectorNd d = new VectorNd(size); for (int comp = 0; comp < size; comp++) { d.vec[comp] = Math.min(vec[comp], v[comp]); } return d; }
public VectorNd resize(int size) { final VectorNd d = new VectorNd(size); System.arraycopy(vec, 0, d.vec, 0, Math.min(size, size())); return d; }
public VectorNd add(double... v) { final int size = size(); if (size != v.length) { throw new IllegalArgumentException("Vector sizes must be the same"); } final VectorNd d = new VectorNd(size); for (int comp = 0; comp < size; comp++) { d.vec[comp] = vec[comp] + v[comp]; } return d; }
public VectorNd min(double... v) { final int size = size(); if (size != v.length) { throw new IllegalArgumentException("Vector sizes must be the same"); } final VectorNd d = new VectorNd(size); for (int comp = 0; comp < size; comp++) { d.vec[comp] = Math.min(vec[comp], v[comp]); } return d; }
@Override public VectorNd toDouble() { final int size = size(); final double[] doubleVec = new double[size]; for (int comp = 0; comp < size; comp++) { doubleVec[comp] = (double) vec[comp]; } return new VectorNd(doubleVec); }
@Override public VectorNd pow(double power) { final int size = size(); final VectorNd d = new VectorNd(size); for (int comp = 0; comp < size; comp++) { d.vec[comp] = (double) Math.pow(vec[comp], power); } return d; }
@Override public VectorNd toDouble() { final int size = size(); final double[] doubleVec = new double[size]; for (int comp = 0; comp < size; comp++) { doubleVec[comp] = (double) vec[comp]; } return new VectorNd(doubleVec); }
@Override public VectorNd toDouble() { final int size = size(); final double[] doubleVec = new double[size]; for (int comp = 0; comp < size; comp++) { doubleVec[comp] = (double) vec[comp]; } return new VectorNd(doubleVec); }
@Override public VectorNd floor() { final int size = size(); final VectorNd d = new VectorNd(size); for (int comp = 0; comp < size; comp++) { d.vec[comp] = GenericMath.floor(vec[comp]); } return d; }
@Override public VectorNd getColumn(int col) { final int size = size(); final VectorNd d = new VectorNd(size); for (int row = 0; row < size; row++) { d.set(row, get(row, col)); } return d; }
@Override public VectorNd getRow(int row) { final int size = size(); final VectorNd d = new VectorNd(size); for (int col = 0; col < size; col++) { d.set(col, get(row, col)); } return d; }