From f313da70426269033f5630f1dde887b23ad9215b Mon Sep 17 00:00:00 2001 From: Myzel394 <50424412+Myzel394@users.noreply.github.com> Date: Sun, 21 Jul 2024 18:43:25 +0200 Subject: [PATCH] fix(evaluator): Fix square root rounding error; Closes #18 Signed-off-by: Myzel394 <50424412+Myzel394@users.noreply.github.com> --- .../src/main/java/io/github/sadellie/evaluatto/Expression.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/data/evaluatto/src/main/java/io/github/sadellie/evaluatto/Expression.kt b/data/evaluatto/src/main/java/io/github/sadellie/evaluatto/Expression.kt index 37d0f224..f0a648ca 100644 --- a/data/evaluatto/src/main/java/io/github/sadellie/evaluatto/Expression.kt +++ b/data/evaluatto/src/main/java/io/github/sadellie/evaluatto/Expression.kt @@ -93,10 +93,10 @@ class Expression( } moveIfMatched(Token.Operator.divide) -> { - val divisor = parseFactor() + val divisor = parseFactor().setScale(MAX_PRECISION) if (divisor.compareTo(BigDecimal.ZERO) == 0) throw ExpressionException.DivideByZero() - expression = expression.divide(divisor, roundingMode) + expression = expression.setScale(MAX_PRECISION).divide(divisor, roundingMode) } } }