aboutsummaryrefslogtreecommitdiffstats
path: root/indexinglanguage
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2022-09-21 08:44:29 +0200
committerGitHub <noreply@github.com>2022-09-21 08:44:29 +0200
commit9f4fcf60d0cac9dfcc2da8f74640483ec5b7629f (patch)
tree09b0c9d0f898eac040c8d10be36d09a22d7a8f95 /indexinglanguage
parent1be14007d58614d3ca44bde00100c0215f11218d (diff)
Revert "Revert "Revert "Short circuit boolean expressions"""
Diffstat (limited to 'indexinglanguage')
-rw-r--r--indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ArithmeticExpression.java20
1 files changed, 13 insertions, 7 deletions
diff --git a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ArithmeticExpression.java b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ArithmeticExpression.java
index e4bc2dae965..fa82c4d88ee 100644
--- a/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ArithmeticExpression.java
+++ b/indexinglanguage/src/main/java/com/yahoo/vespa/indexinglanguage/expressions/ArithmeticExpression.java
@@ -166,13 +166,19 @@ public final class ArithmeticExpression extends CompositeExpression {
}
BigDecimal lhsVal = asBigDecimal((NumericFieldValue)lhs);
BigDecimal rhsVal = asBigDecimal((NumericFieldValue)rhs);
- return switch (op) {
- case ADD -> createFieldValue(lhs, rhs, lhsVal.add(rhsVal));
- case SUB -> createFieldValue(lhs, rhs, lhsVal.subtract(rhsVal));
- case MUL -> createFieldValue(lhs, rhs, lhsVal.multiply(rhsVal));
- case DIV -> createFieldValue(lhs, rhs, lhsVal.divide(rhsVal, MathContext.DECIMAL64));
- case MOD -> createFieldValue(lhs, rhs, lhsVal.remainder(rhsVal));
- };
+ switch (op) {
+ case ADD:
+ return createFieldValue(lhs, rhs, lhsVal.add(rhsVal));
+ case SUB:
+ return createFieldValue(lhs, rhs, lhsVal.subtract(rhsVal));
+ case MUL:
+ return createFieldValue(lhs, rhs, lhsVal.multiply(rhsVal));
+ case DIV:
+ return createFieldValue(lhs, rhs, lhsVal.divide(rhsVal, MathContext.DECIMAL64));
+ case MOD:
+ return createFieldValue(lhs, rhs, lhsVal.remainder(rhsVal));
+ }
+ throw new IllegalStateException("Unsupported operation: " + op);
}
private FieldValue createFieldValue(FieldValue lhs, FieldValue rhs, BigDecimal val) {