public static String bracketComposite(Expression expression) { if (expression.isComposite()) { return "(" + expression + ")"; } else { return expression.toString(); } }
if (old == left) { left = newExpression; } else if (left.isComposite()) { left.replaceExpression(old, newExpression); } else if (right.isComposite()) { right.replaceExpression(old, newExpression);
private String bladeToString(Expression blade) { if (!blade.isComposite()) return blade.toString(); OuterProduct outerProduct = (OuterProduct) blade; return bladeToString(outerProduct.getLeft())+"^"+bladeToString(outerProduct.getRight()); }