Skip to content

Commit bfca524

Browse files
committed
Change ordering so that NaN is maximum value.
1 parent 8d7be61 commit bfca524

File tree

2 files changed

+12
-8
lines changed

2 files changed

+12
-8
lines changed

sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/util/TypeUtils.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,8 +67,8 @@ object TypeUtils {
6767
val xIsNan: Boolean = java.lang.Double.isNaN(x)
6868
val yIsNan: Boolean = java.lang.Double.isNaN(y)
6969
if ((xIsNan && yIsNan) || (x == y)) 0
70-
else if (xIsNan) -1
71-
else if (yIsNan) 1
70+
else if (xIsNan) 1
71+
else if (yIsNan) -1
7272
else if (x > y) -1
7373
else 1
7474
}
@@ -77,8 +77,8 @@ object TypeUtils {
7777
val xIsNan: Boolean = java.lang.Float.isNaN(x)
7878
val yIsNan: Boolean = java.lang.Float.isNaN(y)
7979
if ((xIsNan && yIsNan) || (x == y)) 0
80-
else if (xIsNan) -1
81-
else if (yIsNan) 1
80+
else if (xIsNan) 1
81+
else if (yIsNan) -1
8282
else if (x > y) -1
8383
else 1
8484
}

sql/catalyst/src/test/scala/org/apache/spark/sql/catalyst/util/TypeUtilsSuite.scala

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,10 @@ class TypeUtilsSuite extends SparkFunSuite {
2929
assert(compareDoubles(0, 1) === 1)
3030
assert(compareDoubles(Double.MinValue, Double.MaxValue) === 1)
3131
assert(compareDoubles(Double.NaN, Double.NaN) === 0)
32-
assert(compareDoubles(Double.NaN, Double.PositiveInfinity) === -1)
33-
assert(compareDoubles(Double.NaN, Double.NegativeInfinity) === -1)
32+
assert(compareDoubles(Double.NaN, Double.PositiveInfinity) === 1)
33+
assert(compareDoubles(Double.NaN, Double.NegativeInfinity) === 1)
34+
assert(compareDoubles(Double.PositiveInfinity, Double.NaN) === -1)
35+
assert(compareDoubles(Double.NegativeInfinity, Double.NaN) === -1)
3436
}
3537

3638
test("compareFloats") {
@@ -39,7 +41,9 @@ class TypeUtilsSuite extends SparkFunSuite {
3941
assert(compareFloats(0, 1) === 1)
4042
assert(compareFloats(Float.MinValue, Float.MaxValue) === 1)
4143
assert(compareFloats(Float.NaN, Float.NaN) === 0)
42-
assert(compareFloats(Float.NaN, Float.PositiveInfinity) === -1)
43-
assert(compareFloats(Float.NaN, Float.NegativeInfinity) === -1)
44+
assert(compareFloats(Float.NaN, Float.PositiveInfinity) === 1)
45+
assert(compareFloats(Float.NaN, Float.NegativeInfinity) === 1)
46+
assert(compareFloats(Float.PositiveInfinity, Float.NaN) === -1)
47+
assert(compareFloats(Float.NegativeInfinity, Float.NaN) === -1)
4448
}
4549
}

0 commit comments

Comments
 (0)