You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
AdicFlux is an interesting experimental generic integer sorting algorithm with one meaningful optimization milestone and a substantial trail of tested ideas. It is exact, unusual, and reasonably well-documented. It has not been shown to beat relevant baselines, and this repository should be read as a research artifact rather than a production sorting library.
168
+
FluxSort is an interesting experimental generic integer sorting algorithm with one meaningful optimization milestone and a substantial trail of tested ideas. It is exact, unusual, and reasonably well-documented. It has not been shown to beat relevant baselines, and this repository should be read as a research artifact rather than a production sorting library.
Copy file name to clipboardExpand all lines: docs/algorithm.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,7 +10,7 @@ For unsigned integers, the key is the value itself.
10
10
11
11
For indices `i < j`, an inversion contributes energy when `key(xs[i]) > key(xs[j])`.
12
12
13
-
The baseline contribution is `1`. AdicFlux adds a capped 2-adic closeness bonus:
13
+
The baseline contribution is `1`. FluxSort adds a capped 2-adic closeness bonus:
14
14
15
15
- compute `key(xs[i]) xor key(xs[j])`,
16
16
- take `ctz(...)`,
@@ -44,7 +44,7 @@ That is a local acceptance criterion. In the current repository it should not be
44
44
45
45
## 5. Exact cleanup stage
46
46
47
-
After transport rounds finish, AdicFlux runs odd-even adjacent cleanup until no swaps remain. This is the exact stage. With the default configuration, it guarantees that the final output is sorted even if every transport proposal is rejected.
47
+
After transport rounds finish, FluxSort runs odd-even adjacent cleanup until no swaps remain. This is the exact stage. With the default configuration, it guarantees that the final output is sorted even if every transport proposal is rejected.
48
48
49
49
The configuration also exposes `cleanup_pass_limit` for diagnostic runs. Using a finite limit intentionally weakens that guarantee because cleanup may stop before the array is sorted.
Checks whether a slice is nondecreasing under AdicFlux's key ordering.
29
+
Checks whether a slice is nondecreasing under FluxSort's key ordering.
30
30
31
31
`isSorted` is an intentional part of the public API. It exists as a small validation helper for examples, tests, and user code that experiments with non-default configurations such as `cleanup_pass_limit`, where a caller may intentionally request a diagnostic run that does not complete the exact cleanup stage.
0 commit comments