diff --git a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/plan/cost/DataSetCost.scala b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/plan/cost/DataSetCost.scala index 7b439ecc02627..6a9064022d57d 100644 --- a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/plan/cost/DataSetCost.scala +++ b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/plan/cost/DataSetCost.scala @@ -109,7 +109,7 @@ class DataSetCost(val rowCount: Double, val cpu: Double, val io: Double) extends if (n == 0) { return 1.0 } - Math.pow(d, 1 / n) + StrictMath.pow(d, 1 / n) } def plus(other: RelOptCost): RelOptCost = { diff --git a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/runtime/functions/ScalarFunctions.scala b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/runtime/functions/ScalarFunctions.scala index 7f75f3f7b7fd2..5aaacd490ddb6 100644 --- a/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/runtime/functions/ScalarFunctions.scala +++ b/flink-table/flink-table-planner/src/main/scala/org/apache/flink/table/runtime/functions/ScalarFunctions.scala @@ -43,7 +43,7 @@ class ScalarFunctions {} object ScalarFunctions { def power(a: Double, b: JBigDecimal): Double = { - Math.pow(a, b.doubleValue()) + StrictMath.pow(a, b.doubleValue()) } /** @@ -111,7 +111,7 @@ object ScalarFunctions { if (x <= 0.0) { throw new IllegalArgumentException(s"x of 'log(x)' must be > 0, but x = $x") } else { - Math.log(x) + StrictMath.log(x) } } @@ -139,7 +139,7 @@ object ScalarFunctions { if (base <= 1.0) { throw new IllegalArgumentException(s"base of 'log(base, x)' must be > 1, but base = $base") } else { - Math.log(x) / Math.log(base) + StrictMath.log(x) / StrictMath.log(base) } } @@ -150,7 +150,7 @@ object ScalarFunctions { if (x <= 0.0) { throw new IllegalArgumentException(s"x of 'log2(x)' must be > 0, but x = $x") } else { - Math.log(x) / Math.log(2) + StrictMath.log(x) / StrictMath.log(2) } } diff --git a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/expressions/SqlExpressionTest.scala b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/expressions/SqlExpressionTest.scala index 4e69de9878180..e162d9ea16262 100644 --- a/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/expressions/SqlExpressionTest.scala +++ b/flink-table/flink-table-planner/src/test/scala/org/apache/flink/table/expressions/SqlExpressionTest.scala @@ -103,7 +103,7 @@ class SqlExpressionTest extends ExpressionTestBase { testSqlApi("LOG10(10)", "1.0") testSqlApi("LOG2(8)", "3.0") testSqlApi("LOG(E())", "1.0") - testSqlApi("LOG(3,27)", "3.0") + testSqlApi("LOG(3,27)", "3.0000000000000004") testSqlApi("EXP(1)", "2.718281828459045") testSqlApi("CEIL(2.5)", "3") testSqlApi("CEILING(2.5)", "3")