Skip to main content

PTO-TILE-MODEL-LEGALITY-SORTING

PTO-TILE-MODEL-LEGALITY-SORTING

ASL 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
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-LEGALITY-SORTING
    3. categorySTATIC-INVARIANT
    4. 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
    Open exact source ↗ for PTO-AVS-TILE-MODEL-LEGALITY-SORTING-STATIC-001
  • TMRGSORT requires two nonempty single-row sources sorted in the selected direction
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-LEGALITY-SORTING
    3. categoryBOUNDARY
    4. 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
    Open exact source ↗ for PTO-AVS-TILE-TMRGSORT-LEGALITY-001
  • TSORT requires matching FP value shapes and a distinct U32 index destination
    1. surfaceTILE
    2. ownerPTO-TILE-MODEL-LEGALITY-SORTING
    3. categoryBOUNDARY
    4. 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
    Open exact source ↗ for PTO-AVS-TILE-TSORT-LEGALITY-001
Commit-scoped evidence5
  • spec/evidence/release-traceability-readiness.json · closedPTO-EVIDENCE-RELEASE-TRACEABILITY
    Sources 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
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-TRACEABILITY
  • spec/evidence/instruction-contract-closure.json · closedPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
    Sources 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
    Open exact source ↗ for PTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSURE
  • spec/evidence/architecture-readiness.json · openPTO-EVIDENCE-ARCHITECTURE-READINESS
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-ARCHITECTURE-READINESS
    Path
    spec/evidence/architecture-readiness.json
    Kind / role
    architecture maturity and blockers
    SHA-256
    4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004
    Open exact source ↗ for PTO-EVIDENCE-ARCHITECTURE-READINESS
  • spec/evidence/release-gate-readiness.json · ready-for-exact-head-verificationPTO-EVIDENCE-RELEASE-GATE-READINESS
    Sources 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
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-GATE-READINESS
  • spec/release-manifest.json · draftPTO-EVIDENCE-RELEASE-MANIFEST
    Sources and references
    Complete stable ID
    PTO-EVIDENCE-RELEASE-MANIFEST
    Path
    spec/release-manifest.json
    Kind / role
    release content and encoding fingerprints
    SHA-256
    1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8
    Open exact source ↗ for PTO-EVIDENCE-RELEASE-MANIFEST

Unit metadata

Open 4 generated metadata fields
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"
]
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
ASL SHA-256
01fc46968d49c487acb39715dc5a8b971e3f19735037f3c3be869f34c47c0742
Generated documentation
docs/tile/model/legality/sorting.md · embedded in this page
Documentation SHA-256
3ba39fcb47508ae5f09aaad04d13dd2135fbbd1b5bc9343d864a3505d296679d

Exact owners