Dear all,

I am trying to evaluate the following expression via jexl :  x^y
What I've tried, is to extend JexlArithmetic:

// Extend Arithmetic
public class ExtendedJexlArithmetic extends JexlArithmetic
{
    public ExtendedJexlArithmetic(boolean strict){
        super(strict);
    }

    public xor(Object l, Object r){
                return Math.pow(l, r);
    }
}

def engine = new 
JexlBuilder().cache(512).strict(true).silent(false).namespaces(ns).arithmetic(new
 ExtendedJexlArithmetic(true)).create();
engine.createExpression(model_formula).evaluate(contextMap);


However, it does not consider operator priority. As a result, I am still 
getting wrong results:

2+4^3 -> 216 (instead of 66).

How can I properly fix this ?

Thhhx!

Reply via email to