srowen opened a new pull request #26654: [WIP][SPARK-30009][CORE][SQL] Support 
different floating-point Ordering for Scala 2.12 / 2.13
URL: https://github.com/apache/spark/pull/26654
 
 
   ### What changes were proposed in this pull request?
   
   Make separate source trees for Scala 2.12/2.13 in order to accommodate 
mutually-incompatible support for Ordering of double, float.
   
   Note: This isn't the last change that will need a split source tree for 
2.13. But this particular change could go several ways:
   
   - (Split source tree)
   - Inline the Scala 2.12 implementation
   - Reflection
   
   For this change alone any are possible, and splitting the source tree is a 
bit overkill. But if it will be necessary for other JIRAs (see umbrella 
SPARK-25075), then it might be the easiest way to implement this.
   
   ### Why are the changes needed?
   
   Scala 2.13 split Ordering.Double into Ordering.Double.TotalOrdering and 
Ordering.Double.IeeeOrdering. Neither can be used in a single build that 
supports 2.12 and 2.13.
   
   TotalOrdering works like java.lang.Double.compare. IeeeOrdering works like 
Scala 2.12 Ordering.Double. They differ in how NaN is handled - compares always 
above other values? or always compares as 'false'? In theory they have 
different uses: TotalOrdering is important if floating-point values are sorted. 
IeeeOrdering behaves like 2.12 and JVM comparison operators.
   
   I chose TotalOrdering as I think we care more about stable sorting, and 
because elsewhere we rely on java.lang comparisons. It is also possible to 
support with two methods.
   
   ### Does this PR introduce any user-facing change?
   
   Pending tests, will see if it obviously affects any sort order. We need to 
see if it changes NaN sort order.
   
   ### How was this patch tested?
   
   Existing tests so far.

----------------------------------------------------------------
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.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

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

Reply via email to