cloud-fan commented on a change in pull request #34729:
URL: https://github.com/apache/spark/pull/34729#discussion_r783117182



##########
File path: 
sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/MathExpressionsSuite.scala
##########
@@ -658,6 +669,62 @@ class MathExpressionsSuite extends SparkFunSuite with 
ExpressionEvalHelper {
     val intResultsB: Seq[Int] = Seq(314000000, 314200000, 314160000, 
314159000, 314159300,
       314159260) ++ Seq.fill(7)(314159265)
 
+    def doubleResultsFloor(i: Int): Any = {
+      val results = Seq(0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 3,
+        3.1, 3.14, 3.141, 3.1415, 3.14159, 3.141592)
+      if (i <= 6) results(i).toLong else results(i)
+    }
+
+    def doubleResultsCeil(i: Int): Any = {
+      val results = Seq(1000000.0, 100000.0, 10000.0, 1000.0, 100.0, 10.0,
+        4L, 3.2, 3.15, 3.142, 3.1416, 3.1416, 3.141593)
+      if (i <= 6) results(i).toLong else results(i)
+    }
+
+    def floatResultsFloor(i: Int): Any = {
+      val results = Seq(0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 3L,
+        3.1d, 3.14d, 3.141d, 3.1414d, 3.14149d, 3.141499d)
+      if (i <= 6) results(i).toLong else results(i)
+    }
+
+    def floatResultsCeil(i: Int): Any = {
+      val results = Seq(1000000.0f, 100000.0f, 10000.0f, 1000.0f, 100.0f, 
10.0f,
+        4L, 3.2d, 3.15d, 3.142d, 3.1415d, 3.1415d, 3.1415d)
+      if (i <= 6) results(i).toLong else results(i)
+    }
+
+    def shortResultsFloor(i: Int): Any = {
+      val results = Seq[Long](0L, 0L, 30000L, 31000L,
+        31400L, 31410L, 31415L) ++ Seq.fill[Long](7)(31415)
+      results(i)
+    }
+
+    def shortResultsCeil(i: Int): Any = {

Review comment:
       Ideally, expression builder should simply be a router and create 
corresponding expressions for certain input types. The type coercion shouldn't 
be done there. The created expression should define its expected input types 
and let the type coercion framework to add casts.
   
   




-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



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

Reply via email to