PTO-TILE-MODEL-LEGALITY-SORTING
PTO-TILE-MODEL-LEGALITY-SORTINGASL pseudocode
The complete ASL owner is shown directly below.
// PTO-UNIT: {"id":"PTO-TILE-MODEL-LEGALITY-SORTING","surface":"tile","classification":["model","legality","sorting"],"depends_on":["PTO-TILE-MODEL-LEGALITY-OPERAND-SCHEMA","PTO-TILE-MODEL-ORDERING-SORTING"]}
readonly func TileOperandsLegal_TSORT( destination: TileIndex, destination_indices: TileIndex, source: TileIndex, sort_width: integer {1..64}, descending: boolean) => booleanbegin if destination == destination_indices || destination == source || destination_indices == source then return FALSE; end; if !TileDescriptorLegal(destination) || !TileDescriptorLegal(destination_indices) || !TileDescriptorLegal(source) then return FALSE; end;
let value_type = _Tiles[[source]].data_type; if !TileSortDataTypeSupported(value_type) || _Tiles[[destination]].data_type != value_type || _Tiles[[destination_indices]].data_type != TileDataType_U32 then return FALSE; end; if _Tiles[[source]].layout != TileLayout_RowMajor || _Tiles[[destination]].layout != TileLayout_RowMajor || _Tiles[[destination_indices]].layout != TileLayout_RowMajor then return FALSE; end; if _Tiles[[source]].valid_rows == 0 || _Tiles[[source]].valid_columns == 0 || !TileLogicalShapeMatch(destination, source) || !TileLogicalShapeMatch(destination_indices, source) then return FALSE; end; return TileSortSourceValuesLegal(source);end;
readonly func TileOperandsLegal_TMRGSORT( destination: TileIndex, source_left: TileIndex, source_right: TileIndex, descending: boolean) => booleanbegin if destination == source_left || destination == source_right then return FALSE; end; if !TileDescriptorLegal(destination) || !TileDescriptorLegal(source_left) || !TileDescriptorLegal(source_right) then return FALSE; end;
let left_tile = _Tiles[[source_left]]; let right_tile = _Tiles[[source_right]]; let result = _Tiles[[destination]]; if !TileSortDataTypeSupported(left_tile.data_type) || right_tile.data_type != left_tile.data_type || result.data_type != left_tile.data_type then return FALSE; end; if left_tile.layout != TileLayout_RowMajor || right_tile.layout != TileLayout_RowMajor || result.layout != TileLayout_RowMajor then return FALSE; end; if left_tile.valid_rows != 1 || right_tile.valid_rows != 1 || result.valid_rows != 1 || left_tile.valid_columns == 0 || right_tile.valid_columns == 0 || result.valid_columns != left_tile.valid_columns + right_tile.valid_columns then return FALSE; end; if !TileSortSourceValuesLegal(source_left) || !TileSortSourceValuesLegal(source_right) then return FALSE; end; return TileSortSequenceOrdered(source_left, descending) && TileSortSequenceOrdered(source_right, descending);end;
Architecture behavior
This internal model unit is documented through its normative ASL/NDF owners and validation evidence; it has no reader-guide migration target.
NDF clauses
Bodies come from owning ASL. Dragging or buttons change only this page-session view order.
No NDF clause is attached to this unit.
Evidence index
8 matching entries
Executable evidence3
PTO-TILE-MODEL-LEGALITY-SORTING compiles as an independent normative unit
- surfaceTILE
- ownerPTO-TILE-MODEL-LEGALITY-SORTING
- categorySTATIC-INVARIANT
- case001
Show exact test source
Sources and references
- Complete stable ID
PTO-AVS-TILE-MODEL-LEGALITY-SORTING-STATIC-001- Path
tests/asl/tile/model/legality/sorting/tile-static-sorting-contract-001.asl- Kind / role
- static-invariant
- Pass condition
- the complete model and this unit's static invariant compile
- SHA-256
c43dede9276b678df36d521f9fe1705f90ff2f4ffe2278332f46ee6c38ff67ac
TMRGSORT requires two nonempty single-row sources sorted in the selected direction
- surfaceTILE
- ownerPTO-TILE-MODEL-LEGALITY-SORTING
- categoryBOUNDARY
- case001
Show exact test source
Sources and references
- Complete stable ID
PTO-AVS-TILE-TMRGSORT-LEGALITY-001- Path
tests/asl/tile/model/legality/sorting/tile-bound-tmrgsort-legality-001.asl- Kind / role
- boundary
- Requirements
- PTO-INST-TILE-TMRGSORT
- Pass condition
- ascending FP32 sources are legal and a descending left source is rejected
- SHA-256
03336108156c083eb37b7476446bb7081f01945d8db197c42d66afffaf930150
TSORT requires matching FP value shapes and a distinct U32 index destination
- surfaceTILE
- ownerPTO-TILE-MODEL-LEGALITY-SORTING
- categoryBOUNDARY
- case001
Show exact test source
Sources and references
- Complete stable ID
PTO-AVS-TILE-TSORT-LEGALITY-001- Path
tests/asl/tile/model/legality/sorting/tile-bound-tsort-legality-001.asl- Kind / role
- boundary
- Requirements
- PTO-INST-TILE-TSORT
- Pass condition
- the canonical three-Tile configuration is legal and an incorrect index type is rejected
- SHA-256
1d474005cd9a74adb46ce4051e57beb06eeb44dd149dc69aead7397162317000
Commit-scoped evidence5
spec/evidence/release-traceability-readiness.json · closed
PTO-EVIDENCE-RELEASE-TRACEABILITYSources and references
- Complete stable ID
PTO-EVIDENCE-RELEASE-TRACEABILITY- Path
spec/evidence/release-traceability-readiness.json- Kind / role
- ASL/NDF/documentation/AVS traceability
- SHA-256
c7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3e
spec/evidence/instruction-contract-closure.json · closed
PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURESources and references
- Complete stable ID
PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE- Path
spec/evidence/instruction-contract-closure.json- Kind / role
- mnemonic and encoding contract closure
- SHA-256
3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106a
spec/evidence/architecture-readiness.json · open
PTO-EVIDENCE-ARCHITECTURE-READINESSSources and references
- Complete stable ID
PTO-EVIDENCE-ARCHITECTURE-READINESS- Path
spec/evidence/architecture-readiness.json- Kind / role
- architecture maturity and blockers
- SHA-256
4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004
spec/evidence/release-gate-readiness.json · ready-for-exact-head-verification
PTO-EVIDENCE-RELEASE-GATE-READINESSSources and references
- Complete stable ID
PTO-EVIDENCE-RELEASE-GATE-READINESS- Path
spec/evidence/release-gate-readiness.json- Kind / role
- exact-head gate readiness
- SHA-256
a0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0
spec/release-manifest.json · draft
PTO-EVIDENCE-RELEASE-MANIFESTSources and references
- Complete stable ID
PTO-EVIDENCE-RELEASE-MANIFEST- Path
spec/release-manifest.json- Kind / role
- release content and encoding fingerprints
- SHA-256
1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8
Unit metadata
Open 4 generated metadata fields
Open generated traceability record
{
"classification": [
"model",
"legality",
"sorting"
],
"documentation": "docs/tile/model/legality/sorting.md",
"id": "PTO-TILE-MODEL-LEGALITY-SORTING",
"mnemonic": null,
"readiness_subjects": [],
"semantic_tests": [
"PTO-AVS-TILE-TMRGSORT-LEGALITY-001",
"PTO-AVS-TILE-TSORT-LEGALITY-001"
],
"source": "asl/tile/model/legality/sorting.asl",
"surface": "tile",
"tests": [
"PTO-AVS-TILE-MODEL-LEGALITY-SORTING-STATIC-001",
"PTO-AVS-TILE-TMRGSORT-LEGALITY-001",
"PTO-AVS-TILE-TSORT-LEGALITY-001"
]
}Sources and release identity
Show commit, paths, hashes, version, and canonical owners
- Release
0.58.5· Release candidate- Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812- Original ASL
- asl/tile/model/legality/sorting.asl
- ASL SHA-256
01fc46968d49c487acb39715dc5a8b971e3f19735037f3c3be869f34c47c0742- Generated documentation
- docs/tile/model/legality/sorting.md · embedded in this page
- Documentation SHA-256
3ba39fcb47508ae5f09aaad04d13dd2135fbbd1b5bc9343d864a3505d296679d
Exact owners
- ASL PTO-TILE-MODEL-LEGALITY-SORTING
asl/tile/model/legality/sorting.asl