Interval Partition Boundary Validator
Validate strictly increasing partition boundaries exactly spanning the domain; report failures rather than sorting or repairing input.
Description
Validate strictly increasing partition boundaries exactly spanning the domain; report failures rather than sorting or repairing input.
A partition boundary list should cover its declared domain in increasing order. Checking those boundaries can catch missing endpoints or reversed cells before intervals are constructed.
When to use this tool
Validate strictly increasing partition boundaries exactly spanning the domain; report failures rather than sorting or repairing input.
- Prepare the supplied boundaries, domainStart, domainEnd 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 boundaries, domainStart, domainEnd. 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, result.firstMatches, result.lastMatches, result.nonIncreasingIndexes. Interpret false, null and empty lists using the distinctions below; they can be valid outputs.
Require domainStart below domainEnd and at least two boundaries. Check exact first/last equality with the domain endpoints, identify every nonincreasing adjacent pair by its right index, and combine those checks into valid.1
| Input field | Meaning and representation | Accepted input |
|---|---|---|
| boundaries | boundaries. | List of finite numbers; bounded by the operation |
| domainStart | domain start. | Finite number |
| domainEnd | domain end. | Finite number |
| Output field | Interpretation |
|---|---|
| result | Object containing the named outputs below. |
| result.valid | Flag for valid under the exact condition described above. |
| result.firstMatches | Flag for first matches under the exact condition described above. |
| result.lastMatches | Flag for last matches under the exact condition described above. |
| result.nonIncreasingIndexes | The non increasing indexes list in the ordering and representation described above. |
{
"input": {
"boundaries": [
0,
1,
2
],
"domainStart": 0,
"domainEnd": 2
},
"output": {
"result": {
"valid": true,
"firstMatches": true,
"lastMatches": true,
"nonIncreasingIndexes": []
}
}
} Limitations and assumptions
- The tool checks numeric boundaries, not attached interval records or inclusion flags. Exact endpoint equality is required; it does not sort or repair the list.
- Interval-array rows contain exactly two finite endpoints in start/end order, with at most 128 intervals per collection. Individual operations state when positive length, integer endpoints or explicit inclusion flags are required.
- Every declared top-level field is required and unexpected fields are rejected. Numeric inputs must be finite; ordinary text fields are bounded to 8,192 UTF-16 code units, with tighter operation-specific limits where stated.
- Ordinary string lists have at most 128 entries of at most 128 code units each; numeric lists and matrices have separate bounded size checks. Nonfinite results and excessively large serialized outputs are rejected.
- Indexes are zero-based and spans have an exclusive end unless explicitly stated otherwise. A valid false, null or empty-list result is distinct from malformed input.
Alternative or Complementary methods
Retain the endpoint convention with every result. Continuous length, integer point counts and open/closed membership differ; merge returned cells separately when a canonical minimal interval collection is required.
References
Similar or alternative tools
- Interval Affine Transform
Affine-transform interval endpoints, reorder the image bounds and retain negative-scale orientation reversal.
- Interval Clamp and Empty Audit
Audit raw clipped interval bounds and emptiness; disjoint intersections retain start>end as evidence, not a fabricated nonempty interval.