Stable Sort Permutation Verifier
Verify an explicit complete output-to-input sort permutation against stable ascending numeric argsort, rather than silently producing a replacement.
Description
Verify an explicit complete output-to-input sort permutation against stable ascending numeric argsort, rather than silently producing a replacement.
A stable ascending argsort has one canonical index sequence when source order breaks ties. A proposed sequence can be checked against it.
When to use this tool
Verify an explicit complete output-to-input sort permutation against stable ascending numeric argsort, rather than silently producing a replacement.
- Prepare the supplied values, permutation fields for this operation.
- Compare the complete example with the representation used by your own input before carrying the result into another step.
How to use the tool and how it works
- Enter values, permutation. Use the exact text syntax, units and index conventions explained below.
- Run the tool. If input validation fails, correct the supplied fields before interpreting any result.
- Read result.valid. Interpret false, null and empty lists using the distinctions below; they can be valid outputs.
Validate a same-length source-index permutation, compute ascending value order with original index as tie breaker and return exact sequence equality as valid.1
| Input field | Meaning and representation | Accepted input |
|---|---|---|
| values | values. | List of finite numbers; at most 128 entries |
| permutation | permutation. | List of finite numbers; at most 128 entries |
| Output field | Interpretation |
|---|---|
| result | Object containing the named outputs below. |
| result.valid | Flag for valid under the exact condition described above. |
{
"input": {
"values": [
30,
10,
10,
20
],
"permutation": [
2,
1,
3,
0
]
},
"output": {
"result": {
"valid": false
}
}
} Limitations and assumptions
- This is ascending numeric stable order only. Descending order, alternate tie rules and custom comparators are not inferred.
- All declared input fields are required and unexpected top-level fields are rejected. Numbers must be finite; lists are limited to 128 entries and ordinary text fields to 8,192 UTF-16 code units, with tighter limits where stated.
- JSON text inputs must parse within bounded nesting and size limits. Numeric outputs outside the safe finite range are rejected; large exact integer results use decimal strings. Indexes and half-open spans are zero-based unless a rank is explicitly described as one-based.
Alternative or Complementary methods
Choose the tie policy and whether you need values, original indexes, sorted positions or one-based ranks. Use a complete sort verifier when a local stability or adjacent-comparison check is insufficient.
References
Similar or alternative tools
- Inverse Sort Index Map
Return each original value’s position in a stable ascending numeric sort, the inverse argsort mapping; ties remain stable.
- Ordinal Rank with Stable Ties
Assign one-based ascending ordinal stable numeric ranks; exact numeric ties are preserved according to the stated policy.