Commit 8b258f6
committed
ext/standard/array.c: handle NaN in SORT_REGULAR using totalOrder
Apply IEEE 754 totalOrder predicate for NaN handling in transitive
SORT_REGULAR comparisons. This provides a consistent, deterministic
ordering where NaN values sort after +INF but before non-numeric
strings:
-INF < finite numbers < +INF < NaN < non-numeric strings1 parent 5a7de5a commit 8b258f6
File tree
2 files changed
+78
-8
lines changed- ext/standard
- tests/array/sort
2 files changed
+78
-8
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
544 | 544 | | |
545 | 545 | | |
546 | 546 | | |
| 547 | + | |
| 548 | + | |
| 549 | + | |
547 | 550 | | |
548 | 551 | | |
549 | 552 | | |
| 553 | + | |
| 554 | + | |
| 555 | + | |
550 | 556 | | |
551 | 557 | | |
552 | 558 | | |
| 559 | + | |
| 560 | + | |
| 561 | + | |
| 562 | + | |
| 563 | + | |
| 564 | + | |
553 | 565 | | |
554 | 566 | | |
555 | 567 | | |
| |||
587 | 599 | | |
588 | 600 | | |
589 | 601 | | |
590 | | - | |
591 | | - | |
| 602 | + | |
| 603 | + | |
592 | 604 | | |
593 | | - | |
594 | 605 | | |
595 | 606 | | |
596 | 607 | | |
597 | | - | |
598 | | - | |
| 608 | + | |
| 609 | + | |
599 | 610 | | |
600 | | - | |
601 | 611 | | |
602 | 612 | | |
603 | 613 | | |
| |||
660 | 670 | | |
661 | 671 | | |
662 | 672 | | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
663 | 679 | | |
664 | 680 | | |
665 | 681 | | |
| |||
Lines changed: 56 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
64 | 64 | | |
65 | 65 | | |
66 | 66 | | |
67 | | - | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
68 | 78 | | |
69 | 79 | | |
70 | 80 | | |
| |||
236 | 246 | | |
237 | 247 | | |
238 | 248 | | |
239 | | - | |
| 249 | + | |
| 250 | + | |
| 251 | + | |
| 252 | + | |
| 253 | + | |
| 254 | + | |
| 255 | + | |
| 256 | + | |
| 257 | + | |
| 258 | + | |
| 259 | + | |
| 260 | + | |
| 261 | + | |
| 262 | + | |
| 263 | + | |
| 264 | + | |
| 265 | + | |
| 266 | + | |
| 267 | + | |
| 268 | + | |
| 269 | + | |
| 270 | + | |
| 271 | + | |
| 272 | + | |
| 273 | + | |
| 274 | + | |
| 275 | + | |
| 276 | + | |
| 277 | + | |
| 278 | + | |
| 279 | + | |
| 280 | + | |
| 281 | + | |
| 282 | + | |
| 283 | + | |
| 284 | + | |
| 285 | + | |
| 286 | + | |
| 287 | + | |
| 288 | + | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
| 292 | + | |
| 293 | + | |
240 | 294 | | |
241 | 295 | | |
0 commit comments