/** * Returns <code>true</code>, if <b>none of the elements</b> in the * subexpressions or the expression itself equals <code>node</code> . * * @param node * a node to compare with * @return <code>true</code>, if <b>none of the elements</b> in the * subexpressions or the expression itself equals <code>node</code> * . */ public boolean isFree(final ASTNode node) { return !this.equals(node); }
/** * {@inheritDoc} Equals. */ @Override public boolean equals( Object obj ) { if ( obj instanceof PatternNode ) { PatternNode pn = (PatternNode) obj; if ( fSymbol == pn.fSymbol ) { if ( fConstraint == null || pn.fConstraint == null ) { return fConstraint == pn.fConstraint; } return fConstraint.equals( pn.fConstraint ); } else { if ( fSymbol == null || pn.fSymbol == null ) { return false; } if ( fSymbol.equals( pn.fSymbol ) ) { if ( fConstraint == null || pn.fConstraint == null ) { return fConstraint == pn.fConstraint; } return fConstraint.equals( pn.fConstraint ); } } } return false; }
public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (this.getClass().equals(obj.getClass())) { Pattern2Node pn = (Pattern2Node) obj; if (fSymbol == pn.fSymbol) { if (fConstraint == null || pn.fConstraint == null) { return fConstraint == pn.fConstraint; } return fConstraint.equals(pn.fConstraint); } else { if (fSymbol == null || pn.fSymbol == null) { return false; } if (fSymbol.equals(pn.fSymbol)) { if (fConstraint == null || pn.fConstraint == null) { return fConstraint == pn.fConstraint; } return fConstraint.equals(pn.fConstraint); } } } return false; }
public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (this.getClass().equals(obj.getClass())) { Pattern3Node pn = (Pattern3Node) obj; if (fSymbol == pn.fSymbol) { if (fConstraint == null || pn.fConstraint == null) { return fConstraint == pn.fConstraint; } return fConstraint.equals(pn.fConstraint); } else { if (fSymbol == null || pn.fSymbol == null) { return false; } if (fSymbol.equals(pn.fSymbol)) { if (fConstraint == null || pn.fConstraint == null) { return fConstraint == pn.fConstraint; } return fConstraint.equals(pn.fConstraint); } } } return false; }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (this.getClass().equals(obj.getClass())) { PatternNode pn = (PatternNode) obj; if (fSymbol == pn.fSymbol) { if (fConstraint == null || pn.fConstraint == null) { return fConstraint == pn.fConstraint; } return fConstraint.equals(pn.fConstraint); } else { if (fSymbol == null || pn.fSymbol == null) { return false; } if (fSymbol.equals(pn.fSymbol)) { if (fConstraint == null || pn.fConstraint == null) { return fConstraint == pn.fConstraint; } return fConstraint.equals(pn.fConstraint); } } } return false; }
public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (this.getClass().equals(obj.getClass())) { PatternNode pn = (PatternNode) obj; if (fSymbol == pn.fSymbol) { if (fConstraint == null || pn.fConstraint == null) { return fConstraint == pn.fConstraint; } return fConstraint.equals(pn.fConstraint); } else { if (fSymbol == null || pn.fSymbol == null) { return false; } if (fSymbol.equals(pn.fSymbol)) { if (fConstraint == null || pn.fConstraint == null) { return fConstraint == pn.fConstraint; } return fConstraint.equals(pn.fConstraint); } } } return false; }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (this.getClass().equals(obj.getClass())) { Pattern2Node pn = (Pattern2Node) obj; if (fSymbol == pn.fSymbol) { if (fConstraint == null || pn.fConstraint == null) { return fConstraint == pn.fConstraint; } return fConstraint.equals(pn.fConstraint); } else { if (fSymbol == null || pn.fSymbol == null) { return false; } if (fSymbol.equals(pn.fSymbol)) { if (fConstraint == null || pn.fConstraint == null) { return fConstraint == pn.fConstraint; } return fConstraint.equals(pn.fConstraint); } } } return false; }
@Override public boolean equals(Object obj) { if (this == obj) { return true; } if (obj == null) { return false; } if (this.getClass().equals(obj.getClass())) { Pattern3Node pn = (Pattern3Node) obj; if (fSymbol == pn.fSymbol) { if (fConstraint == null || pn.fConstraint == null) { return fConstraint == pn.fConstraint; } return fConstraint.equals(pn.fConstraint); } else { if (fSymbol == null || pn.fSymbol == null) { return false; } if (fSymbol.equals(pn.fSymbol)) { if (fConstraint == null || pn.fConstraint == null) { return fConstraint == pn.fConstraint; } return fConstraint.equals(pn.fConstraint); } } } return false; }
private ASTNode getDerivativeResult(ASTNode arg1Derived, FunctionNode fun) { if (!arg1Derived.equals(new DoubleNode(1.0))) { FunctionNode res = new FunctionNode(fASTFactory.createSymbol("Times")); res.add(arg1Derived); res.add(fun); return res; } return fun; }
@Override public ASTNode createFunction(final INodeParserFactory factory, final ASTNode lhs, final ASTNode rhs) { if (rhs instanceof FunctionNode) { FunctionNode r = (FunctionNode) rhs; if (r.size() == 3) { if (r.get(0).equals(factory.createSymbol("Set"))) { return factory.createFunction(factory.createSymbol("TagSet"), lhs, r.get(1), r.get(2)); } else if (r.get(0).equals(factory.createSymbol("SetDelayed"))) { return factory.createFunction(factory.createSymbol("TagSetDelayed"), lhs, r.get(1), r.get(2)); } } } return factory.createFunction(factory.createSymbol("TagSet"), lhs, rhs); } }
@Override public ASTNode createFunction(final INodeParserFactory factory, final ASTNode lhs, final ASTNode rhs) { if (rhs instanceof IntegerNode) { if (lhs instanceof IntegerNode) { return new FractionNode((IntegerNode) lhs, (IntegerNode) rhs); } return factory.createFunction(factory.createSymbol("Times"), new FractionNode(IntegerNode.C1, (IntegerNode) rhs), lhs); } if (lhs.equals(IntegerNode.C1)) { return factory.createFunction(factory.createSymbol("Power"), rhs, factory.createInteger(-1)); } return factory.createFunction(factory.createSymbol("Times"), lhs, factory.createFunction(factory.createSymbol("Power"), rhs, factory.createInteger(-1))); } }