Skip to main content

PTO-ARCH-FEATURES-MX-FORMATS

PTO-ARCH-FEATURES-MX-FORMATS

ASL pseudocode

The complete ASL owner is shown directly below.

// PTO-UNIT: {"id":"PTO-ARCH-FEATURES-MX-FORMATS","surface":"arch","classification":["features","mx-formats"],"depends_on":["PTO-ARCH-DATA-TYPES-NUMERIC-CLASSIFICATION"]}pure func HardwareNumericTypeHasSubnormals(data_type: TileDataType) => booleanbegin    case data_type of        when TileDataType_FP64, TileDataType_FP32, TileDataType_TF32,             TileDataType_HF32, TileDataType_FP16, TileDataType_BF16,             TileDataType_HiF8, TileDataType_E4M3, TileDataType_E5M2,             TileDataType_E3M2, TileDataType_E2M3 => return TRUE;        otherwise => return FALSE;    end;end;
pure func HardwareNumericInputSubnormalRule(data_type: TileDataType)    => NumericInputSubnormalRulebegin    if HardwareNumericTypeHasSubnormals(data_type) then        return NumericInputSubnormal_Preserve;    else return NumericInputSubnormal_NotApplicable;    end;end;
pure func HardwareNumericResultSubnormalRule(data_type: TileDataType)    => NumericResultSubnormalRulebegin    if HardwareNumericTypeHasSubnormals(data_type) then        return NumericResultSubnormal_GradualUnderflow;    else return NumericResultSubnormal_NotApplicable;    end;end;
pure func HardwareNumericTininessDetectionRule(data_type: TileDataType)    => NumericTininessDetectionRulebegin    if HardwareNumericTypeHasSubnormals(data_type) then        return NumericTininessDetection_AfterRounding;    else return NumericTininessDetection_NotApplicable;    end;end;
// These booleans describe a candidate conformance configuration. They are not// architectural mode bits. The named hardware profile exposes no FTZ/DAZ// state and permits no operation-local override.pure func HardwareNumericSubnormalConfigurationValid(flush_to_zero: boolean,                                                       denormals_are_zero: boolean,                                                       operation_override: boolean)    => booleanbegin    return !flush_to_zero && !denormals_are_zero && !operation_override;end;
// Returns availability, minimum positive subnormal, maximum positive// subnormal, and minimum positive normal. Values are exact raw encodings.pure func HardwareNumericSubnormalBoundaries(data_type: TileDataType)    => (boolean, Word, Word, Word)begin    case data_type of        when TileDataType_FP64 =>            return (TRUE, Zeros{PTO_XLEN} + 0x1,                    Zeros{PTO_XLEN} + 0x000fffffffffffff,                    Zeros{PTO_XLEN} + 0x0010000000000000);        when TileDataType_FP32 =>            return (TRUE, Zeros{PTO_XLEN} + 0x1,                    Zeros{PTO_XLEN} + 0x007fffff,                    Zeros{PTO_XLEN} + 0x00800000);        when TileDataType_TF32 =>            return (TRUE, Zeros{PTO_XLEN} + 0x00002000,                    Zeros{PTO_XLEN} + 0x007fe000,                    Zeros{PTO_XLEN} + 0x00800000);        when TileDataType_HF32 =>            return (TRUE, Zeros{PTO_XLEN} + 0x00001000,                    Zeros{PTO_XLEN} + 0x007ff000,                    Zeros{PTO_XLEN} + 0x00800000);        when TileDataType_FP16 =>            return (TRUE, Zeros{PTO_XLEN} + 0x1,                    Zeros{PTO_XLEN} + 0x03ff,                    Zeros{PTO_XLEN} + 0x0400);        when TileDataType_BF16 =>            return (TRUE, Zeros{PTO_XLEN} + 0x1,                    Zeros{PTO_XLEN} + 0x007f,                    Zeros{PTO_XLEN} + 0x0080);        when TileDataType_HiF8 =>            return (TRUE, Zeros{PTO_XLEN} + 0x01,                    Zeros{PTO_XLEN} + 0x07,                    Zeros{PTO_XLEN} + 0x08);        when TileDataType_E4M3 =>            return (TRUE, Zeros{PTO_XLEN} + 0x01,                    Zeros{PTO_XLEN} + 0x07,                    Zeros{PTO_XLEN} + 0x08);        when TileDataType_E5M2, TileDataType_E3M2 =>            return (TRUE, Zeros{PTO_XLEN} + 0x01,                    Zeros{PTO_XLEN} + 0x03,                    Zeros{PTO_XLEN} + 0x04);        when TileDataType_E2M3 =>            return (TRUE, Zeros{PTO_XLEN} + 0x01,                    Zeros{PTO_XLEN} + 0x07,                    Zeros{PTO_XLEN} + 0x08);        otherwise =>            return (FALSE, Zeros{PTO_XLEN}, Zeros{PTO_XLEN},                    Zeros{PTO_XLEN});    end;end;
pure func NumericValueClassFromFiniteSign(sign: bits(1), zero: boolean,                                           subnormal: boolean)    => NumericValueClassbegin    if zero then        if sign == '1' then return NumericValue_NegativeZero;        else return NumericValue_PositiveZero;        end;    elsif subnormal then        if sign == '1' then return NumericValue_NegativeSubnormal;        else return NumericValue_PositiveSubnormal;        end;    elsif sign == '1' then return NumericValue_NegativeNormal;    else return NumericValue_PositiveNormal;    end;end;
// The ASL Word is a verification carrier. Bits above a type's architectural// element width are ignored. Only constraints inside the architectural// element are checked here.pure func TileNumericEncodingValid(data_type: TileDataType,                                   value: Word) => booleanbegin    case data_type of        when TileDataType_TF32 => return TF32EncodingValid(value[31:0]);        when TileDataType_HF32 => return HF32EncodingValid(value[31:0]);        when TileDataType_E3M2 => return E3M2EncodingValid(value[7:0]);        when TileDataType_E2M3 => return E2M3EncodingValid(value[7:0]);        otherwise => return TRUE;    end;end;
pure func ClassifySignedInteger(value: Word, sign_bit: integer {3,7,15,31,63})    => NumericValueClassbegin    var zero = FALSE;    case sign_bit of        when 3 => zero = value[3:0] == Zeros{4};        when 7 => zero = value[7:0] == Zeros{8};        when 15 => zero = value[15:0] == Zeros{16};        when 31 => zero = value[31:0] == Zeros{32};        when 63 => zero = value == Zeros{PTO_XLEN};    end;    if zero then return NumericValue_PositiveZero;    elsif value[sign_bit] == '1' then return NumericValue_NegativeNormal;    else return NumericValue_PositiveNormal;    end;end;
pure func ClassifyUnsignedInteger(value: Word, width: integer {4,8,16,32,64})    => NumericValueClassbegin    var zero = FALSE;    case width of        when 4 => zero = value[3:0] == Zeros{4};        when 8 => zero = value[7:0] == Zeros{8};        when 16 => zero = value[15:0] == Zeros{16};        when 32 => zero = value[31:0] == Zeros{32};        when 64 => zero = value == Zeros{PTO_XLEN};    end;    if zero then return NumericValue_PositiveZero;    else return NumericValue_PositiveNormal;    end;end;
pure func TileNumericValueClass(data_type: TileDataType,                                value: Word) => NumericValueClassbegin    if !TileNumericEncodingValid(data_type, value) then        return NumericValue_InvalidEncoding;    end;    case data_type of        when TileDataType_FP64 => return ClassifyFP64(value);        when TileDataType_FP32 => return ClassifyFP32(value[31:0]);        when TileDataType_TF32 => return ClassifyTF32(value[31:0]);        when TileDataType_HF32 => return ClassifyHF32(value[31:0]);        when TileDataType_FP16 => return ClassifyFP16(value[15:0]);        when TileDataType_BF16 => return ClassifyBF16(value[15:0]);        when TileDataType_HiF8 => return ClassifyHiF8(value[7:0]);        when TileDataType_E4M3 => return ClassifyE4M3(value[7:0]);        when TileDataType_E5M2 => return ClassifyE5M2(value[7:0]);        when TileDataType_E3M2 => return ClassifyE3M2(value[7:0]);        when TileDataType_E2M3 => return ClassifyE2M3(value[7:0]);        when TileDataType_E2M1X2 => return ClassifyE2M1X2(value);        when TileDataType_E1M2X2 => return ClassifyE1M2X2(value);        when TileDataType_E8M0 => return ClassifyE8M0(value[7:0]);        when TileDataType_HiF4X2 => return ClassifyHiF4X2(value);        when TileDataType_S64 => return ClassifySignedInteger(value, 63);        when TileDataType_S32 => return ClassifySignedInteger(value, 31);        when TileDataType_S16 => return ClassifySignedInteger(value, 15);        when TileDataType_S8 => return ClassifySignedInteger(value, 7);        when TileDataType_S4X2 => return ClassifySignedInteger(value, 3);        when TileDataType_U64 => return ClassifyUnsignedInteger(value, 64);        when TileDataType_U32 => return ClassifyUnsignedInteger(value, 32);        when TileDataType_U16 => return ClassifyUnsignedInteger(value, 16);        when TileDataType_U8 => return ClassifyUnsignedInteger(value, 8);        when TileDataType_U4X2 => return ClassifyUnsignedInteger(value, 4);    end;end;
pure func TileNumericCanonicalNaN(data_type: TileDataType) => (boolean, Word)begin    case data_type of        when TileDataType_FP64 => return (TRUE, FP64CanonicalNaN());        when TileDataType_FP32 => return (TRUE, FP32CanonicalNaN());        when TileDataType_TF32 => return (TRUE, TF32CanonicalNaN());        when TileDataType_HF32 => return (TRUE, HF32CanonicalNaN());        when TileDataType_FP16 => return (TRUE, FP16CanonicalNaN());        when TileDataType_BF16 => return (TRUE, BF16CanonicalNaN());        when TileDataType_HiF8 => return (TRUE, HiF8CanonicalNaN());        when TileDataType_E4M3 => return (TRUE, E4M3CanonicalNaN());        when TileDataType_E5M2 => return (TRUE, E5M2CanonicalNaN());        when TileDataType_E8M0 => return (TRUE, E8M0CanonicalNaN());        otherwise => return (FALSE, Zeros{PTO_XLEN});    end;end;
// Named hardware-profile special-result helpers. These functions classify// only cases whose result is fixed without evaluating ordinary arithmetic.// Invalid internal encodings and non-special operands remain unhandled so a// complete operation/type profile must reject or evaluate them explicitly.pure func HardwareNumericCanonicalNaNResult(data_type: TileDataType)    => (boolean, Word)begin    return TileNumericCanonicalNaN(data_type);end;
// The selected IEEE hardware profile fixes these mixed-EXPDIF// discriminator results after exact source widening and FP32 SUB/EXP.  This// witness is intentionally narrow: other FP32 operands continue through the// active profile implementation rather than acquiring a second numeric// contract here.pure func HardwareNumericMixedExpdifDiscriminator(left: Word, right: Word)    => (boolean, Word)begin    if left == (Zeros{PTO_XLEN} + 0x3c000000) &&       right == (Zeros{PTO_XLEN} + 0x33800000) then        return (TRUE, Zeros{PTO_XLEN} + 0x3f810100);    elsif left == (Zeros{PTO_XLEN} + 0x3f800000) &&          right == (Zeros{PTO_XLEN} + 0x3b000000) then        return (TRUE, Zeros{PTO_XLEN} + 0x402da16e);    end;    return (FALSE, Zeros{PTO_XLEN});end;
pure func HardwareNumericSignedZeroEncodings(data_type: TileDataType)    => (boolean, Word, Word)begin    case data_type of        when TileDataType_FP64 =>            let (positive, negative) = FP64SignedZeroEncodings();            return (TRUE, positive, negative);        when TileDataType_FP32 =>            let (positive, negative) = FP32SignedZeroEncodings();            return (TRUE, positive, negative);        when TileDataType_TF32 =>            let (positive, negative) = TF32SignedZeroEncodings();            return (TRUE, positive, negative);        when TileDataType_HF32 =>            let (positive, negative) = HF32SignedZeroEncodings();            return (TRUE, positive, negative);        when TileDataType_FP16 =>            let (positive, negative) = FP16SignedZeroEncodings();            return (TRUE, positive, negative);        when TileDataType_BF16 =>            let (positive, negative) = BF16SignedZeroEncodings();            return (TRUE, positive, negative);        when TileDataType_E4M3 =>            let (positive, negative) = E4M3SignedZeroEncodings();            return (TRUE, positive, negative);        when TileDataType_E5M2 =>            let (positive, negative) = E5M2SignedZeroEncodings();            return (TRUE, positive, negative);        when TileDataType_E3M2 =>            let (positive, negative) = E3M2SignedZeroEncodings();            return (TRUE, positive, negative);        when TileDataType_E2M3 =>            let (positive, negative) = E2M3SignedZeroEncodings();            return (TRUE, positive, negative);        when TileDataType_E2M1X2 =>            let (positive, negative) = E2M1X2SignedZeroEncodings();            return (TRUE, positive, negative);        when TileDataType_E1M2X2 =>            let (positive, negative) = E1M2X2SignedZeroEncodings();            return (TRUE, positive, negative);        when TileDataType_HiF4X2 =>            let (positive, negative) = HiF4X2SignedZeroEncodings();            return (TRUE, positive, negative);        otherwise => return (FALSE, Zeros{PTO_XLEN}, Zeros{PTO_XLEN});    end;end;
// Returns handled, result carrier, and invalid-condition status. NaN// comparisons are unordered except NE, and signed zeros compare equal.pure func HardwareNumericComparisonSpecial(    comparison: TileComparison, data_type: TileDataType,    left: Word, right: Word) => (boolean, Word, boolean)begin    let left_class = TileNumericValueClass(data_type, left);    let right_class = TileNumericValueClass(data_type, right);    if left_class == NumericValue_InvalidEncoding ||       right_class == NumericValue_InvalidEncoding then        return (FALSE, Zeros{PTO_XLEN}, FALSE);    end;    let left_nan = NumericValueClassIsNaN(left_class);    let right_nan = NumericValueClassIsNaN(right_class);    let invalid = left_class == NumericValue_SignalingNaN ||                  right_class == NumericValue_SignalingNaN;    if left_nan || right_nan then        if comparison == TileComparison_NE then            return (TRUE, Zeros{PTO_XLEN} + 1, invalid);        else return (TRUE, Zeros{PTO_XLEN}, invalid);        end;    end;    if NumericValueClassIsZero(left_class) &&       NumericValueClassIsZero(right_class) then        if comparison == TileComparison_EQ || comparison == TileComparison_LE ||           comparison == TileComparison_GE then            return (TRUE, Zeros{PTO_XLEN} + 1, FALSE);        else return (TRUE, Zeros{PTO_XLEN}, FALSE);        end;    end;    return (FALSE, Zeros{PTO_XLEN}, FALSE);end;
// Returns handled, result carrier, and invalid-condition status for MIN/MAX// NaN and zero ties. One NaN selects the numeric operand, two NaNs produce the// destination canonical NaN, MIN chooses -0, and MAX chooses +0.pure func HardwareNumericMinMaxSpecial(    maximum: boolean, data_type: TileDataType,    left: Word, right: Word) => (boolean, Word, boolean)begin    let left_class = TileNumericValueClass(data_type, left);    let right_class = TileNumericValueClass(data_type, right);    if left_class == NumericValue_InvalidEncoding ||       right_class == NumericValue_InvalidEncoding then        return (FALSE, Zeros{PTO_XLEN}, FALSE);    end;    let left_nan = NumericValueClassIsNaN(left_class);    let right_nan = NumericValueClassIsNaN(right_class);    let invalid = left_class == NumericValue_SignalingNaN ||                  right_class == NumericValue_SignalingNaN;    if left_nan && right_nan then        let (available, canonical) =            HardwareNumericCanonicalNaNResult(data_type);        assert available;        return (TRUE, canonical, invalid);    elsif left_nan then return (TRUE, right, invalid);    elsif right_nan then return (TRUE, left, invalid);    end;    if NumericValueClassIsZero(left_class) &&       NumericValueClassIsZero(right_class) then        if maximum && left_class == NumericValue_NegativeZero &&           right_class == NumericValue_NegativeZero then            return (TRUE, left, FALSE);        elsif maximum then return (TRUE, Zeros{PTO_XLEN}, FALSE);        elsif left_class == NumericValue_NegativeZero then            return (TRUE, left, FALSE);        elsif right_class == NumericValue_NegativeZero then            return (TRUE, right, FALSE);        else return (TRUE, Zeros{PTO_XLEN}, FALSE);        end;    end;    return (FALSE, Zeros{PTO_XLEN}, FALSE);end;

Architecture behavior

purpose scope

Purpose and scope

This unit implements the named hardware numeric profile's subnormal policy, encoding validation, value classification, canonical special values, and special comparison/min-max cases.

It centralizes profile behavior used by multiple scalar and tile numeric operations while leaving ordinary arithmetic to the active operation profile.

concepts state

Concepts and visible state

  • HardwareNumericTypeHasSubnormals selects the declared floating formats with subnormal encodings; the three rule helpers map those types to preserve, gradual-underflow, and after-rounding policies.
  • TileNumericEncodingValid checks internal restrictions for TF32, HF32, E3M2, and E2M3; other declared types return valid at this boundary.
  • TileNumericValueClass dispatches floating, scale, signed-integer, and unsigned-integer carriers to exact classifiers.
rules interactions

Rules and interactions

The named profile requires flush_to_zero = FALSE, denormals_are_zero = FALSE, and operation_override = FALSE.

HardwareNumericSubnormalBoundaries returns exact raw minimum subnormal, maximum subnormal, and minimum normal encodings only for supported formats.

HardwareNumericCanonicalNaNResult and HardwareNumericSignedZeroEncodings return availability. HardwareNumericComparisonSpecial and HardwareNumericMinMaxSpecial return handled, distinguishing fixed special cases from ordinary evaluation.

boundaries

Architectural boundaries

The boolean configuration inputs describe a candidate conformance configuration; they are not architecture mode bits and expose no FTZ/DAZ state.

Bits above a type's architectural element width are ignored because Word is a verification carrier. Only constraints inside the element are checked here.

Availability-returning helpers such as HardwareNumericSubnormalBoundaries, TileNumericCanonicalNaN, and HardwareNumericSignedZeroEncodings use false to mean that no value is available for the requested type. HardwareNumericComparisonSpecial and HardwareNumericMinMaxSpecial instead return handled; false leaves the case to ordinary evaluation.

example usage

illustrative reading example

For TileDataType_TF32, TileNumericEncodingValid rejects a carrier with nonzero low 13 bits before classification can treat it as a valid value.

For TileDataType_S32, HardwareNumericSignedZeroEncodings returns availability false. For ordinary non-special FP32 inputs, HardwareNumericComparisonSpecial returns handled false so the caller continues ordinary comparison.

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

10 matching entries

Executable evidence5
  • PTO-ARCH-FEATURES-MX-FORMATS compiles as an independent normative unit
    1. surfaceARCH
    2. ownerPTO-ARCH-FEATURES-MX-FORMATS
    3. categorySTATIC-INVARIANT
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-FEATURES-MX-FORMATS-STATIC-001
    Path
    tests/asl/arch/features/mx-formats/arch-static-mx-formats-contract-001.asl
    Kind / role
    static-invariant
    Pass condition
    the complete model and this unit's static invariant compile
    SHA-256
    e2cc6dac92985fab4e817e325de7276a4b12df3e8cbcfdbf36bd39feb59a5231
    Open exact source ↗ for PTO-AVS-ARCH-FEATURES-MX-FORMATS-STATIC-001
  • comparison and min-max special helpers distinguish handled cases from ordinary or invalid encodings
    1. surfaceARCH
    2. ownerPTO-ARCH-FEATURES-MX-FORMATS
    3. categoryEXECUTION
    4. case004
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-MX-COMPARISON-MINMAX-SPECIAL-EXEC-004
    Path
    tests/asl/arch/features/mx-formats/arch-exec-mx-comparison-minmax-special-004.asl
    Kind / role
    execution
    Pass condition
    NaN, signed-zero, ordinary, and invalid-encoding handled assertions hold
    SHA-256
    33f5ff69a3508ee7e1d62b75f89e1efb9755962d5177dd13656d48e28a049227
    Open exact source ↗ for PTO-AVS-ARCH-MX-COMPARISON-MINMAX-SPECIAL-EXEC-004
  • restricted encodings reject before value-class dispatch and integer classification remains exact
    1. surfaceARCH
    2. ownerPTO-ARCH-FEATURES-MX-FORMATS
    3. categoryBOUNDARY
    4. case002
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-MX-ENCODING-CLASSIFICATION-BOUND-002
    Path
    tests/asl/arch/features/mx-formats/arch-bound-mx-encoding-classification-002.asl
    Kind / role
    boundary
    Pass condition
    TF32, HF32, E3M2, signed, and unsigned classification assertions hold
    SHA-256
    6f2ce5c42b5403f81b54366b4fe21c9ae01ba74b0e4b68c6979e2b1e2f781f78
    Open exact source ↗ for PTO-AVS-ARCH-MX-ENCODING-CLASSIFICATION-BOUND-002
  • canonical NaN and signed-zero helpers expose exact availability and carriers
    1. surfaceARCH
    2. ownerPTO-ARCH-FEATURES-MX-FORMATS
    3. categoryEXECUTION
    4. case003
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-MX-SPECIAL-AVAILABILITY-EXEC-003
    Path
    tests/asl/arch/features/mx-formats/arch-exec-mx-special-availability-003.asl
    Kind / role
    execution
    Pass condition
    supported and unsupported canonical-NaN and signed-zero assertions hold
    SHA-256
    1b11852c5f1292cf452dcacc642304d4a52583ad2f9e1f3ae7d30b9c46b0984d
    Open exact source ↗ for PTO-AVS-ARCH-MX-SPECIAL-AVAILABILITY-EXEC-003
  • hardware-profile subnormal rules and exact representative boundaries are executable
    1. surfaceARCH
    2. ownerPTO-ARCH-FEATURES-MX-FORMATS
    3. categoryEXECUTION
    4. case001
    Show exact test source
    Sources and references
    Complete stable ID
    PTO-AVS-ARCH-MX-SUBNORMAL-BOUNDARIES-EXEC-001
    Path
    tests/asl/arch/features/mx-formats/arch-exec-mx-subnormal-boundaries-001.asl
    Kind / role
    execution
    Pass condition
    configuration, policy, boundary, and unsupported-type assertions hold
    SHA-256
    2de15c6d1b6f4693bf22c626cbbc85108a4850aa5068c595cd23d514e5890993
    Open exact source ↗ for PTO-AVS-ARCH-MX-SUBNORMAL-BOUNDARIES-EXEC-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-FEATURES-MX-FORMATS
surface
arch
classification
[
  "features",
  "mx-formats"
]
depends_on
[
  "PTO-ARCH-DATA-TYPES-NUMERIC-CLASSIFICATION"
]
Open generated traceability record
{
  "classification": [
    "features",
    "mx-formats"
  ],
  "documentation": "docs/arch/features/mx-formats.md",
  "id": "PTO-ARCH-FEATURES-MX-FORMATS",
  "mnemonic": null,
  "readiness_subjects": [],
  "semantic_tests": [
    "PTO-AVS-ARCH-MX-COMPARISON-MINMAX-SPECIAL-EXEC-004",
    "PTO-AVS-ARCH-MX-ENCODING-CLASSIFICATION-BOUND-002",
    "PTO-AVS-ARCH-MX-SPECIAL-AVAILABILITY-EXEC-003",
    "PTO-AVS-ARCH-MX-SUBNORMAL-BOUNDARIES-EXEC-001"
  ],
  "source": "asl/arch/features/mx-formats.asl",
  "surface": "arch",
  "tests": [
    "PTO-AVS-ARCH-FEATURES-MX-FORMATS-STATIC-001",
    "PTO-AVS-ARCH-MX-COMPARISON-MINMAX-SPECIAL-EXEC-004",
    "PTO-AVS-ARCH-MX-ENCODING-CLASSIFICATION-BOUND-002",
    "PTO-AVS-ARCH-MX-SPECIAL-AVAILABILITY-EXEC-003",
    "PTO-AVS-ARCH-MX-SUBNORMAL-BOUNDARIES-EXEC-001"
  ]
}

Sources and release identity

Show commit, paths, hashes, version, and canonical owners
Release
0.58.5 · Release candidate
Commit
7dc8b7e5b121d2b2499a2273bebff29e2cd86812
ASL SHA-256
867a6c4e22bb402766d2d4bec75a1c0e6b29e271be17a4a18a5d3bc4925f9d6d
Generated documentation
docs/arch/features/mx-formats.md · embedded in this page
Documentation SHA-256
1fab4fe17b5a75209615fa83743b8281bc893e78f10605ed9172493a83d8cbd1

Exact owners