Project

General

Profile

Actions

Bug #20226

closed

Inconsistent Sort results on 3.3.0 compared to previous versions

Added by omerby (Omer Ben Yosef) 4 months ago. Updated 3 months ago.

Status:
Closed
Assignee:
-
Target version:
-
[ruby-core:116493]

Description

Try this code block:

[-0.9, -0.88, -0.85, -0.83, -0.81, -0.79, -0.77, -0.75, -0.73, -0.71, -0.69, -0.67, -0.65, -0.63, -0.6, -0.58, -0.56, -0.54, -0.52,
 -0.5, -0.48, -0.46, -0.44, -0.42, -0.4, -0.38, -0.35, -0.33, -0.31, -0.29, -0.27, -0.25, -0.23, -0.21, -0.19, -0.17, -0.15, -0.13,
 -0.1, -0.08, -0.06, -0.04, -0.02, 0.0, 0.02, 0.0, 0.02].sort_by(&:abs)

The end result should be the numbers absolute sorted, look at the last 5 numbers of this, the end result of them should be [0.0, 0.0, -0.02, 0.02, 0.02...] maintaining the original order, and this behavior is what we see on ruby 3.2.0, however on ruby 3.3.0 the end result will be [0.0, 0.0, 0.02, 0.02, -0.02...]
This is also inconsistent, as [-0.02, 0.0, 0.02, 0.0, 0.02].sort_by(&:abs) will actually provide the expected result.

Again, the main issue for us is the difference between 3.3.0 and previous versions of ruby.

Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0Like0