@Override public void visit(MultivectorComponent node) { expressions.put(node, variables.get(node.toString())); }
@Override public void visit(MultivectorComponent component) { addNode(component, component.toString()); }
@Override public String toString() { return (isNegated() ? "!" : "") + multivectorComponent.toString(); }
@Override public void visit(Negation node) { node.getOperand().accept(this); if (node.getOperand() instanceof MultivectorComponent && oneset.containsKey(((MultivectorComponent) node.getOperand()).toString())) { System.out.println("Assignment: "+ currAssignString+ " - Replaceable Negation Operand: " + ((MultivectorComponent) node.getOperand()).toString()+ "with: "+ oneset.get(((MultivectorComponent)node.getOperand()).toString())); resultExpr = new FloatConstant(oneset.get(((MultivectorComponent)node.getOperand()).toString())); replacements++; } resultExpr = new Negation(resultExpr); }
@Override public void visit(Variable node) { MultivectorComponent m = new MultivectorComponent(node.getName(), 0); if (!values.containsKey(m)) { System.err.println("Interval Evaluater: Kein Wert gefunden! "+m.toString()); return; } RealInterval r = values.get(m); if (r != null) result = new RealInterval(r.lo(),r.hi()); else { result = null; System.err.println("Interval Evaluater: Kein Wert 2 gefunden! "+m.toString()); } }
public void handlebinary(BinaryOperation node) { Expression leftlocal; Expression rightlocal; node.getLeft().accept(this); leftlocal = resultExpr; node.getRight().accept(this); rightlocal = resultExpr; assert leftlocal != null && rightlocal != null; if (node.getLeft() instanceof MultivectorComponent && oneset.containsKey(((MultivectorComponent) node.getLeft()).toString())) { System.out.println("Assignment: "+ currAssignString+ " - Replaceable Left: " + ((MultivectorComponent) node.getLeft()).toString()+ "with: "+ oneset.get(((MultivectorComponent)node.getLeft()).toString())); leftlocal = new FloatConstant(oneset.get(((MultivectorComponent)node.getLeft()).toString())); System.out.println("Bhm"); replacements++; } if (node.getRight() instanceof MultivectorComponent && oneset.containsKey(((MultivectorComponent) node.getRight()).toString())) { System.out.println("Assignment: "+ currAssignString+ " - Replaceable Right: " + ((MultivectorComponent) node.getRight()).toString()+" with: "+ oneset.get(((MultivectorComponent)node.getRight()).toString())); rightlocal = new FloatConstant(oneset.get(((MultivectorComponent)node.getRight()).toString())); System.out.println("Bhm"); replacements++; } assert leftlocal != null && rightlocal != null; left=leftlocal; right=rightlocal; }