public void test4() { JEP jepExpression = new JEP(); jepExpression.setAllowUndeclared(true); jepExpression.addStandardConstants(); jepExpression.addStandardFunctions(); // jepExpression.parseExpression("((paolo + marco + giovanni) * log(franco) ) == 1.0"); jepExpression.parseExpression( "( ( (paolo + marco + giovanni) * log(franco) ) == 1.0 ) && (!luigi)"); System.out.println("JEP: " + jepExpression); Variable a = jepExpression.getVar("paolo"); a.setDescription("v2.paolo"); System.out.println("JEP: " + jepExpression); }
public void testClonazione2() { JEP jepExpression = new JEP(); jepExpression.setAllowUndeclared(true); jepExpression.addStandardConstants(); jepExpression.addStandardFunctions(); jepExpression.parseExpression("log(a) + sin(b)"); System.out.println("JEP: " + jepExpression); System.out.println(jepExpression.getTopNode().toLongString()); Variable a = jepExpression.getVar("a"); Variable b = jepExpression.getVar("b"); jepExpression.setVarValue("a", 1); jepExpression.setVarValue("b", 2); System.out.println("Value: " + jepExpression.getValueAsObject()); JEP clone = (JEP) jepExpression.clone(); Variable aClone = clone.getVar("a"); aClone.setDescription("a.a"); Variable bClone = clone.getVar("b"); bClone.setDescription("b.b"); System.out.println(clone.getTopNode().toLongString()); clone.setVarValue("a", 10); clone.setVarValue("b", 30); System.out.println("Value originale: " + jepExpression.getValueAsObject()); System.out.println("Value clone: " + clone.getValueAsObject()); System.out.println("Variable a originale: " + a.toString() + " - " + a.hashCode()); System.out.println("Variable a clone: " + aClone.toString() + " - " + aClone.hashCode()); System.out.println("Variable b originale: " + b.toString() + " - " + b.hashCode()); System.out.println("Variable b clone: " + bClone.toString() + " - " + bClone.hashCode()); System.out.println( "Symbol table: " + jepExpression.getSymbolTable() + " - " + jepExpression.getSymbolTable().hashCode()); System.out.println( "Symbol table clone: " + clone.getSymbolTable() + " - " + clone.getSymbolTable().hashCode()); }