second.remove();
current.getNextConsCell().remove();
forward = false;
}
else if (current.getCarType() == ConsType.OBJECT && second.getCarType() == ConsType.OBJECT) {
Matrix m1 = currentEqn.matrices.get(Integer.parseInt(((String) current.getCar()).substring(2, ((String) current.getCar()).length() - 1)));
Matrix m2 = currentEqn.matrices.get(Integer.parseInt(((String) second.getCar()).substring(2, ((String) second.getCar()).length() - 1)));
Matrix result = m1.matrixOp(m2, new Character(operator).toString());
currentEqn.matrices.add(result);
second.remove();
current.getNextConsCell().remove();
current.replaceCar(new ConsCell("{M" + (currentEqn.matrices.size() - 1) + "}", ConsType.OBJECT));
forward = false;
}
else if (current.getCarType() == ConsType.NUMBER && second.getCarType() == ConsType.OBJECT) {
if (operator == '/')
throw new UndefinedOperationException(operator + " is not defined for a matrix and a scalar.", lastPlugin);
Matrix m = currentEqn.matrices.get(Integer.parseInt(((String) current.getCar()).substring(2, ((String) current.getCar()).length() - 1)));
Matrix result = m.scalarOp((BigDec) current.getCar(), new Character(operator).toString());
currentEqn.matrices.add(result);
second.remove();
current.getNextConsCell().remove();
current.replaceCar(new ConsCell("{M" + (currentEqn.matrices.size() - 1) + "}", ConsType.OBJECT));
forward = false;
}
else if (current.getCarType() == ConsType.OBJECT && second.getCarType() == ConsType.NUMBER) {
Matrix m = currentEqn.matrices.get(Integer.parseInt(((String) second.getCar()).substring(2, ((String) second.getCar()).length() - 1)));
Matrix result = m.scalarOp((BigDec) second.getCar(), new Character(operator).toString());
currentEqn.matrices.add(result);
second.remove();
current.getNextConsCell().remove();
current.replaceCar(new ConsCell("{M" + (currentEqn.matrices.size() - 1) + "}", ConsType.OBJECT));
forward = false;