@Override public IExpr evaluate(final IAST ast, EvalEngine engine) { if (ast.size() > 1) { IAST temp = engine.evalArgs(ast, ISymbol.NOATTRIBUTE).orElse(ast); return F.bool(!temp.existsLeft((x, y) -> !x.isSame(y))); } return F.False; }
@Override public IExpr evaluate(final IAST ast, EvalEngine engine) { if (ast.size() > 1) { IAST temp = engine.evalArgs(ast, ISymbol.NOATTRIBUTE).orElse(ast); if (ast.isAST2()) { return F.bool(!temp.arg1().isSame(temp.arg2())); } int i = 2; int j; while (i < temp.size()) { j = i; while (j < temp.size()) { if (temp.get(i - 1).isSame(temp.get(j++))) { return F.False; } } i++; } return F.True; } return F.False; }
if ((result = evalArgs(ast, attr)) != null) { return result;
Validate.checkRange(ast, 2, 6); IAST temp = engine.evalArgs(ast, ISymbol.NOATTRIBUTE).orElse(ast); IExpr arg1 = temp.arg1(); IExpr head = F.Plus;
if ((result = evalArgs(ast, attr)).isPresent()) { return result;
return evalArgs(ast, attr);