Thanks a million for... !

Sent from my iPhone

> On Sep 23, 2020, at 7:28 AM, BENGUIGUI Michael 
> <[email protected]> wrote:
> 
> 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!

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to