Skip to main content

PTO-ARCH-DATA-TYPES-FLOATING-POINT

PTO-ARCH-DATA-TYPES-FLOATING-POINT

ASL pseudocode

The complete ASL owner is shown directly below.

// PTO-UNIT: {"id":"PTO-ARCH-DATA-TYPES-FLOATING-POINT","surface":"arch","classification":["data-types","floating-point"],"depends_on":["PTO-ARCH-DATA-TYPES-SYSTEM-REGISTERS"]}type FloatingBinaryOperation of enumeration {    FloatingBinary_ADD,    FloatingBinary_SUB,    FloatingBinary_MUL,    FloatingBinary_DIV,    FloatingBinary_MIN,    FloatingBinary_MAX};
type FloatingCompareOperation of enumeration {    FloatingCompare_EQ,    FloatingCompare_NE,    FloatingCompare_LT,    FloatingCompare_LE,    FloatingCompare_GT,    FloatingCompare_GE};
type FloatingUnaryOperation of enumeration {    FloatingUnary_ABS,    FloatingUnary_SQRT,    FloatingUnary_EXP,    FloatingUnary_RECIP};
type FloatingFusedOperation of enumeration {    FloatingFused_MADD,    FloatingFused_MSUB,    FloatingFused_NMADD,    FloatingFused_NMSUB};

Architecture behavior

purpose scope

Purpose and scope

This unit gives PTO ASL a closed vocabulary for selecting floating-point operation families. It defines operation selectors only; operand formats, rounding, exceptions, result values, and state effects remain owned by the ASL functions that consume these selectors.

concepts state

Operation families

FloatingBinaryOperation covers ADD, SUB, MUL, DIV, MIN, and MAX. FloatingCompareOperation covers EQ, NE, LT, LE, GT, and GE.

FloatingUnaryOperation covers ABS, SQRT, EXP, and RECIP; FloatingFusedOperation covers MADD, MSUB, NMADD, and NMSUB.

rules interactions

Selection and interpretation

A caller passes one member of the appropriate enumeration to a numeric semantic owner. That owner, not this enumeration, determines the chosen data format and the exact arithmetic behavior.

The four enumeration types prevent a compare selector from being silently used as a binary, unary, or fused selector.

boundaries

Boundaries

The presence of MIN, MAX, RECIP, or a fused selector does not by itself define NaN selection, rounding, overflow, underflow, flags, or contraction behavior. Those questions must be answered by a reachable numeric-format or profile ASL contract.

The static AVS for this unit checks that the selector declarations compile in the complete model; this evidence statement does not define arithmetic results.

example usage

illustrative reading example

This example illustrates selector lookup and is not an arithmetic definition.

On seeing FloatingFused_NMSUB, first identify the consuming ASL function, then read that owner's operand ordering, format, rounding, and exceptional-value rules before reasoning about a result.

Related owners

  • Rounding defines the architecture's rounding vocabulary.
  • Numeric formats connects Tile data types to their exact format helpers.

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

6 matching entries

Executable evidence1
  • PTO-ARCH-DATA-TYPES-FLOATING-POINT compiles as an independent normative unit
    1. surfaceARCH
    2. ownerPTO-ARCH-DATA-TYPES-FLOATING-POINT
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-DATA-TYPES-FLOATING-POINT-STATIC-001
    Path
    tests/asl/arch/data-types/floating-point/arch-static-floating-point-contract-001.asl
    Kind / role
    static-invariant
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    88ba63e7b74ee830e8e5ea54b14571d9a12631ea4a92e9e1a9aab30f4579af1e
    Open exact source ↗ for PTO-AVS-ARCH-DATA-TYPES-FLOATING-POINT-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

Unit metadata

Open 4 generated metadata fields
id
PTO-ARCH-DATA-TYPES-FLOATING-POINT
surface
arch
classification
[
  "data-types",
  "floating-point"
]
depends_on
[
  "PTO-ARCH-DATA-TYPES-SYSTEM-REGISTERS"
]
Open generated traceability record
{
  "classification": [
    "data-types",
    "floating-point"
  ],
  "documentation": "docs/arch/data-types/floating-point.md",
  "id": "PTO-ARCH-DATA-TYPES-FLOATING-POINT",
  "mnemonic": null,
  "readiness_subjects": [],
  "semantic_tests": [],
  "source": "asl/arch/data-types/floating-point.asl",
  "surface": "arch",
  "tests": [
    "PTO-AVS-ARCH-DATA-TYPES-FLOATING-POINT-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
3eaa4e906174194125ff651c24703bd9a4704073baf2d37268634bd67d5a06a2
Generated documentation
docs/arch/data-types/floating-point.md · embedded in this page
Documentation SHA-256
a2ad37257a95f05c09ab26723d8d825b017fcadffc0ad619491ddd7d61703b61

Exact owners