Skip to main content

PTO-ARCH-DATA-TYPES-ROUNDING

PTO-ARCH-DATA-TYPES-ROUNDING

ASL pseudocode

The complete ASL owner is shown directly below.

// PTO-UNIT: {"id":"PTO-ARCH-DATA-TYPES-ROUNDING","surface":"arch","classification":["data-types","rounding"],"depends_on":["PTO-ARCH-DATA-TYPES-FLOATING-POINT"]}// Semantic rounding modes are independent of every encoded selector// namespace. Scalar FRM, fixed conversion overrides, bundle RMode, and public// API controls must resolve into this type explicitly.type NumericRoundingMode of enumeration {    NumericRound_RNE,    NumericRound_RTM,    NumericRound_RTP,    NumericRound_RTZ,    NumericRound_RNA,    NumericRound_RTO,    NumericRound_RHB};
type NumericExecutionControl of record {    rounding_mode: NumericRoundingMode,    saturating: boolean};
// Bit-exact value classes are format properties. They do not select an// operation result, exception flag, target profile, or arithmetic algorithm.pure func DefaultNumericExecutionControl() => NumericExecutionControlbegin    return NumericExecutionControl {        rounding_mode = NumericRound_RNE,        saturating = FALSE    };end;
// Selects only a bounded set of accepted negative applicability rules. This// is not a complete target-profile selector: absence of a rejection does not// claim target support or select numeric result semantics.type NumericApplicabilityRuleSet of enumeration {    NumericApplicabilityRules_None,    NumericApplicabilityRules_A2A3MxRejection};

Architecture behavior

purpose scope

Purpose and scope

This unit defines the semantic rounding-mode namespace and the common execution-control record used after encoded selectors have been resolved.

It separates mathematical mode identity from scalar FRM, fixed conversion overrides, bundle RMode, and public API selector encodings.

concepts state

Concepts and visible state

  • NumericRoundingMode contains RNE, RTM, RTP, RTZ, RNA, RTO, and RHB semantic modes.
  • NumericExecutionControl pairs a NumericRoundingMode with a saturating boolean.
  • NumericApplicabilityRuleSet names no extra rejection or the bounded A2A3MxRejection rule set.
rules interactions

Rules and interactions

DefaultNumericExecutionControl selects NumericRound_RNE with saturating = FALSE.

Every encoded selector namespace must resolve explicitly into NumericRoundingMode; enum position is not an implicit wire encoding.

The applicability enum is only a bounded negative-rule selector. Lack of rejection does not claim target support or select result semantics.

boundaries

Architectural boundaries

These types do not define how an arithmetic operation rounds a particular value. Exact result algorithms remain with operation/profile owners.

A2A3MxRejection is a named target-facing rule set, not portable PTO behavior that can be applied outside its selecting owner.

example usage

illustrative reading example

A bundle RMode code is first decoded by its owner and only then becomes, for example, NumericRound_RTZ; this page does not equate their numeric encodings.

A consumer that needs the architectural default can call DefaultNumericExecutionControl rather than reproducing RNE and non-saturating defaults locally.

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 evidence1
  • PTO-ARCH-DATA-TYPES-ROUNDING compiles as an independent normative unit
    1. surfaceARCH
    2. ownerPTO-ARCH-DATA-TYPES-ROUNDING
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-DATA-TYPES-ROUNDING-STATIC-001
    Path
    tests/asl/arch/data-types/rounding/arch-static-rounding-contract-001.asl
    Kind / role
    static-invariant
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    2d208aa3ae8d04bd6b620be5c5d72d9ea5f5799ea27f0fd8f288d6755dd96d29
    Open exact source ↗ for PTO-AVS-ARCH-DATA-TYPES-ROUNDING-STATIC-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
Decision history2
  • Numeric rounding selector ownership · accepted
    1. decision recordADR
    2. case0039

    Decision record

    Loading ADR-0039…

    Sources and references
    Complete stable ID
    ADR-0039
    Path
    docs/status/decisions/0039-numeric-rounding-selector-ownership.md
    Affected units
    PTO-ARCH-DATA-TYPES-ROUNDING, PTO-BLOCK-B-DATR, PTO-SCALAR-FCVT, PTO-SCALAR-FCVTA, PTO-SCALAR-FCVTM, PTO-SCALAR-FCVTN, PTO-SCALAR-FCVTP, PTO-SCALAR-FCVTZ
    Affected NDF
    PTO-B-DATR-FIELDS-001, PTO-FCVTA-DECISION-BINDING-001, PTO-FCVTM-DECISION-BINDING-001, PTO-FCVTN-DECISION-BINDING-001, PTO-FCVTP-DECISION-BINDING-001, PTO-FCVTZ-DECISION-BINDING-001
    SHA-256
    7e1029fad878621047803e74838cde868d8b172412d62ad21ba5da7be02f8066
    Open exact decision source ↗ for ADR-0039
  • Numeric rounding semantics · accepted
    1. decision recordADR
    2. case0047

    Decision record

    Loading ADR-0047…

    Sources and references
    Complete stable ID
    ADR-0047
    Path
    docs/status/decisions/0047-numeric-rounding-semantics.md
    Affected units
    PTO-ARCH-DATA-TYPES-ROUNDING, PTO-BLOCK-B-DATR, PTO-SCALAR-FCVT, PTO-SCALAR-FCVTA, PTO-SCALAR-FCVTM, PTO-SCALAR-FCVTN, PTO-SCALAR-FCVTP, PTO-SCALAR-FCVTZ, PTO-TILE-TCVT
    Affected NDF
    PTO-B-DATR-FIELDS-001, PTO-FCVTA-DECISION-BINDING-001, PTO-FCVTM-DECISION-BINDING-001, PTO-FCVTN-DECISION-BINDING-001, PTO-FCVTP-DECISION-BINDING-001, PTO-FCVTZ-DECISION-BINDING-001, PTO-TCVT-CONTRACT-001
    SHA-256
    5a7a0f1ddc09885943d3a337b989e6a2b02feba246a7427d5719cb4ba61cd1c8
    Open exact decision source ↗ for ADR-0047

Unit metadata

Open 4 generated metadata fields
id
PTO-ARCH-DATA-TYPES-ROUNDING
surface
arch
classification
[
  "data-types",
  "rounding"
]
depends_on
[
  "PTO-ARCH-DATA-TYPES-FLOATING-POINT"
]
Open generated traceability record
{
  "classification": [
    "data-types",
    "rounding"
  ],
  "documentation": "docs/arch/data-types/rounding.md",
  "id": "PTO-ARCH-DATA-TYPES-ROUNDING",
  "mnemonic": null,
  "readiness_subjects": [
    "ADR-0039",
    "ADR-0047"
  ],
  "semantic_tests": [],
  "source": "asl/arch/data-types/rounding.asl",
  "surface": "arch",
  "tests": [
    "PTO-AVS-ARCH-DATA-TYPES-ROUNDING-STATIC-001"
  ]
}

Sources and release identity

Show commit, paths, hashes, version, and canonical owners
Release
0.58.5 · Release candidate
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
7914ae826137d9581ca7703b578532e9711d46675a2f45823700faaf6317adff
Generated documentation
docs/arch/data-types/rounding.md · embedded in this page
Documentation SHA-256
691d767e19b359dbbef3db2e942395660b300add72fe67e81061394696d7b684

Exact owners