Repository: spark
Updated Branches:
  refs/heads/master dff73bfa5 -> 8228b0630


[SPARK-16436][SQL] checkEvaluation should support NaN

## What changes were proposed in this pull request?
This small patch modifies ExpressionEvalHelper. checkEvaluation to support 
comparing NaN values for floating point comparisons.

## How was this patch tested?
This is a test harness change.

Author: petermaxlee <[email protected]>

Closes #14103 from petermaxlee/SPARK-16436.


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/8228b063
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/8228b063
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/8228b063

Branch: refs/heads/master
Commit: 8228b06303718b202be60b830df7dfddd97057b1
Parents: dff73bf
Author: petermaxlee <[email protected]>
Authored: Fri Jul 8 16:49:02 2016 +0800
Committer: Wenchen Fan <[email protected]>
Committed: Fri Jul 8 16:49:02 2016 +0800

----------------------------------------------------------------------
 .../spark/sql/catalyst/expressions/ExpressionEvalHelper.scala    | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/8228b063/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvalHelper.scala
----------------------------------------------------------------------
diff --git 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvalHelper.scala
 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvalHelper.scala
index e58a0df..58e9d6f 100644
--- 
a/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvalHelper.scala
+++ 
b/sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/expressions/ExpressionEvalHelper.scala
@@ -63,6 +63,10 @@ trait ExpressionEvalHelper extends 
GeneratorDrivenPropertyChecks {
         expected.asInstanceOf[Spread[Double]].isWithin(result)
       case (result: MapData, expected: MapData) =>
         result.keyArray() == expected.keyArray() && result.valueArray() == 
expected.valueArray()
+      case (result: Double, expected: Double) =>
+        if (expected.isNaN) result.isNaN else expected == result
+      case (result: Float, expected: Float) =>
+        if (expected.isNaN) result.isNaN else expected == result
       case _ =>
         result == expected
     }


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

Reply via email to