@@ -224,42 +224,32 @@ object Ordering extends LowPriorityOrderingImplicits {
224224 implicit object Unit extends UnitOrdering
225225
226226 trait BooleanOrdering extends Ordering [Boolean ] {
227- def compare (x : Boolean , y : Boolean ) = (x, y) match {
228- case (false , true ) => - 1
229- case (true , false ) => 1
230- case _ => 0
231- }
227+ def compare (x : Boolean , y : Boolean ) = java.lang.Boolean .compare(x, y)
232228 }
233229 implicit object Boolean extends BooleanOrdering
234230
235231 trait ByteOrdering extends Ordering [Byte ] {
236- def compare (x : Byte , y : Byte ) = x.toInt - y.toInt
232+ def compare (x : Byte , y : Byte ) = java.lang. Byte .compare(x, y)
237233 }
238234 implicit object Byte extends ByteOrdering
239235
240236 trait CharOrdering extends Ordering [Char ] {
241- def compare (x : Char , y : Char ) = x.toInt - y.toInt
237+ def compare (x : Char , y : Char ) = java.lang. Character .compare(x, y)
242238 }
243239 implicit object Char extends CharOrdering
244240
245241 trait ShortOrdering extends Ordering [Short ] {
246- def compare (x : Short , y : Short ) = x.toInt - y.toInt
242+ def compare (x : Short , y : Short ) = java.lang. Short .compare(x, y)
247243 }
248244 implicit object Short extends ShortOrdering
249245
250246 trait IntOrdering extends Ordering [Int ] {
251- def compare (x : Int , y : Int ) =
252- if (x < y) - 1
253- else if (x == y) 0
254- else 1
247+ def compare (x : Int , y : Int ) = java.lang.Integer .compare(x, y)
255248 }
256249 implicit object Int extends IntOrdering
257250
258251 trait LongOrdering extends Ordering [Long ] {
259- def compare (x : Long , y : Long ) =
260- if (x < y) - 1
261- else if (x == y) 0
262- else 1
252+ def compare (x : Long , y : Long ) = java.lang.Long .compare(x, y)
263253 }
264254 implicit object Long extends LongOrdering
265255
0 commit comments