public DoubleMatrix2D assign(final double[][] values) { if (values.length != rows) throw new IllegalArgumentException("Must have same number of rows: rows=" + values.length + "rows()=" + rows()); int r, c; if (dindex >= 0) { r = 0; c = dindex; } else { r = -dindex; c = 0; } for (int i = 0; i < dlength; i++) { if (values[i].length != columns) { throw new IllegalArgumentException("Must have same number of columns in every row: columns=" + values[r].length + "columns()=" + columns()); } elements[i] = values[r++][c++]; } return this; }
public DoubleMatrix2D assign(final double[][] values) { if (values.length != rows) throw new IllegalArgumentException("Must have same number of rows: rows=" + values.length + "rows()=" + rows()); int r, c; if (dindex >= 0) { r = 0; c = dindex; } else { r = -dindex; c = 0; } for (int i = 0; i < dlength; i++) { if (values[i].length != columns) { throw new IllegalArgumentException("Must have same number of columns in every row: columns=" + values[r].length + "columns()=" + columns()); } elements[i] = values[r++][c++]; } return this; }
public boolean equals(Object obj) { if (content instanceof DiagonalDoubleMatrix2D && obj instanceof DiagonalDoubleMatrix2D) { double epsilon = cern.colt.matrix.tdouble.algo.DoubleProperty.DEFAULT.tolerance(); if (this == obj) return true; if (!(this != null && obj != null)) return false; DiagonalDoubleMatrix2D A = (DiagonalDoubleMatrix2D) content; DiagonalDoubleMatrix2D B = (DiagonalDoubleMatrix2D) obj; if (A.columns() != B.columns() || A.rows() != B.rows() || A.diagonalIndex() != B.diagonalIndex() || A.diagonalLength() != B.diagonalLength()) return false; double[] AElements = A.elements(); double[] BElements = B.elements(); for (int r = 0; r < AElements.length; r++) { double x = AElements[r]; double value = BElements[r]; double diff = Math.abs(value - x); if ((diff != diff) && ((value != value && x != x) || value == x)) diff = 0; if (!(diff <= epsilon)) { return false; } } return true; } else { return super.equals(obj); } }
public boolean equals(Object obj) { if (content instanceof DiagonalDoubleMatrix2D && obj instanceof DiagonalDoubleMatrix2D) { double epsilon = cern.colt.matrix.tdouble.algo.DoubleProperty.DEFAULT.tolerance(); if (this == obj) return true; if (!(this != null && obj != null)) return false; DiagonalDoubleMatrix2D A = (DiagonalDoubleMatrix2D) content; DiagonalDoubleMatrix2D B = (DiagonalDoubleMatrix2D) obj; if (A.columns() != B.columns() || A.rows() != B.rows() || A.diagonalIndex() != B.diagonalIndex() || A.diagonalLength() != B.diagonalLength()) return false; double[] AElements = A.elements(); double[] BElements = B.elements(); for (int r = 0; r < AElements.length; r++) { double x = AElements[r]; double value = BElements[r]; double diff = Math.abs(value - x); if ((diff != diff) && ((value != value && x != x) || value == x)) diff = 0; if (!(diff <= epsilon)) { return false; } } return true; } else { return super.equals(obj); } }