@Override public void visit(OuterProduct node) { handleBinary(node.getLeft(), node.getRight()); }
@Override public void visit(OuterProduct node) { // just do nothing, because only MulitvectorComponent is important node.getLeft().accept(this); node.getRight().accept(this); }
/** * Converts this node into a human readable representation. * * @return The string "left ^ right" where both left and right have been converted to strings using their * toString methods. */ public String toString() { return bracketComposite(getLeft()) + " ^ " + bracketComposite(getRight()); }
@Override public void visit(OuterProduct node) { node.getLeft().accept(this); node.getRight().accept(this); }
private String bladeToString(Expression blade) { if (!blade.isComposite()) return blade.toString(); OuterProduct outerProduct = (OuterProduct) blade; return bladeToString(outerProduct.getLeft())+"^"+bladeToString(outerProduct.getRight()); }
@Override public void visit(OuterProduct node) { result = null; node.getLeft().accept(this); Expression leftResult = result; node.getRight().accept(this); Expression rightResult = result; if (leftResult != null || rightResult != null) result = new OuterProduct(leftResult, rightResult); }
@Override public Expression copy() { return new OuterProduct(getLeft().copy(), getRight().copy()); }