protected BigRational multiplyRow(int index) throws UndefinedMultiplyException { BigRational result = BigRational.ZERO; for (int j = 0; j < size.col; j++) { if (!array[index][j].isZero()) { if (basis.getNewValue(j + position.col).isPositive()) { result = result.add((array[index][j].multiply(basis.getNewValue(j + position.col)))); } else if (basis.getNewValue(j + position.col).isUndefined()) { throw new UndefinedMultiplyException(); } } } return result; }
private BigRational multiplyBlockRow(BigRational[][] array, int index, int starting_col) throws UndefinedMultiplyException { BigRational result = BigRational.ZERO; int cols = array[0].length; for (int j = 0; j < cols; j++) { if (!array[index][j].isZero()) { if (basis.getNewValue(j + starting_col).isPositive()) { result = result.add((array[index][j].multiply(basis.getNewValue(j + starting_col)))); } else if (basis.getNewValue(j + starting_col).isUndefined()) { throw new UndefinedMultiplyException(); } } } return result; }