目的与范围
目的与范围
本单元定义所有 Tile 数值格式共享的数值类别和数值策略记录。
统一的分类词汇使格式归属单元能够报告精确的比特模式类别,而不在此选择算术结果或目标实现。
PTO-ARCH-DATA-TYPES-NUMERIC-CLASSIFICATION下面直接显示完整的 ASL 所有者。
// PTO-UNIT: {"id":"PTO-ARCH-DATA-TYPES-NUMERIC-CLASSIFICATION","surface":"arch","classification":["data-types","numeric-classification"],"depends_on":["PTO-ARCH-DATA-TYPES-ROUNDING"]}type NumericValueClass of enumeration { NumericValue_InvalidEncoding, NumericValue_PositiveZero, NumericValue_NegativeZero, NumericValue_PositiveSubnormal, NumericValue_NegativeSubnormal, NumericValue_PositiveNormal, NumericValue_NegativeNormal, NumericValue_PositiveInfinity, NumericValue_NegativeInfinity, NumericValue_QuietNaN, NumericValue_SignalingNaN};
// Input and result subnormal rules are intentionally separate. They describe// the named hardware numeric profile and are not pto-v0 arithmetic behavior.type NumericInputSubnormalRule of enumeration { NumericInputSubnormal_NotApplicable, NumericInputSubnormal_Preserve};
type NumericResultSubnormalRule of enumeration { NumericResultSubnormal_NotApplicable, NumericResultSubnormal_GradualUnderflow};
type NumericTininessDetectionRule of enumeration { NumericTininessDetection_NotApplicable, NumericTininessDetection_AfterRounding};
type TileNumericSelection of record { use_operation_default: boolean, rounding_mode: NumericRoundingMode, saturating: boolean};
// PTO-REQ-PROFILE-001, PTO-REQ-HARDWARE-NUMERIC-001:// bit-exact value classification for every TileDataType.
pure func NumericValueClassIsNaN(value_class: NumericValueClass) => booleanbegin return value_class == NumericValue_QuietNaN || value_class == NumericValue_SignalingNaN;end;
pure func NumericValueClassIsInfinity(value_class: NumericValueClass) => booleanbegin return value_class == NumericValue_PositiveInfinity || value_class == NumericValue_NegativeInfinity;end;
pure func NumericValueClassIsZero(value_class: NumericValueClass) => booleanbegin return value_class == NumericValue_PositiveZero || value_class == NumericValue_NegativeZero;end;
pure func NumericValueClassIsSubnormal(value_class: NumericValueClass) => booleanbegin return value_class == NumericValue_PositiveSubnormal || value_class == NumericValue_NegativeSubnormal;end;
本单元定义所有 Tile 数值格式共享的数值类别和数值策略记录。
统一的分类词汇使格式归属单元能够报告精确的比特模式类别,而不在此选择算术结果或目标实现。
NumericValueClass 包含无效编码、带符号零、次正规数、正规数和无穷大,以及静默 NaN 与信号 NaN。NumericInputSubnormalRule 与 NumericResultSubnormalRule 不合并为一个开关。TileNumericSelection 记录是否采用操作默认值、所选 NumericRoundingMode 以及是否饱和。NumericValueClassIsNaN、NumericValueClassIsInfinity、NumericValueClassIsZero 和 NumericValueClassIsSubnormal 只检查各自命名的类别对。
NumericTininessDetectionRule 区分不适用与舍入后检测。
分类只描述格式属性,本身不选择异常标志、舍入方式、饱和方式或操作结果。
输入/结果次正规数枚举描述命名硬件数值配置,而不是一般 pto-v0 算术行为。
数值类别不能证明某项操作支持相应数据类型;支持范围仍由当前操作及配置归属单元定义。
NumericValue_NegativeZero 会使 NumericValueClassIsZero 为真,但不会使 NumericValueClassIsSubnormal 为真。
调用方可以在普通比较前根据 NaN 类别分支,再回到自身配置归属单元取得精确结果。
正文来自 owning ASL。拖拽或按钮只临时改变当前页面显示顺序。
No NDF clause is attached to this unit.
7 matching entries
PTO-AVS-ARCH-DATA-TYPES-NUMERIC-CLASSIFICATION-STATIC-001tests/asl/arch/data-types/numeric-classification/arch-static-numeric-classification-contract-001.asl40705e4189a6dd2971589efb1fb5759d52dc939010dbfb14ca249a4ccbec8448PTO-EVIDENCE-RELEASE-TRACEABILITYPTO-EVIDENCE-RELEASE-TRACEABILITYspec/evidence/release-traceability-readiness.jsonc7327021d39dc67ac5564bc55073b3870a397d79ac8d9648284d56e33bc14a3ePTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREPTO-EVIDENCE-INSTRUCTION-CONTRACT-CLOSUREspec/evidence/instruction-contract-closure.json3ef2bb62421c79dff8fa77a1c7983923b523244b8090812883ef81286ca8106aPTO-EVIDENCE-ARCHITECTURE-READINESSPTO-EVIDENCE-ARCHITECTURE-READINESSspec/evidence/architecture-readiness.json4b0b85199101251bea744e0f3591cc31906909dc80d5ab651c417a936036a004PTO-EVIDENCE-RELEASE-GATE-READINESSPTO-EVIDENCE-RELEASE-GATE-READINESSspec/evidence/release-gate-readiness.jsona0f4d2b6920c08981ea55fd8ef820708a40d4feb5402c5150e8e9ab532d84ce0PTO-EVIDENCE-RELEASE-MANIFESTPTO-EVIDENCE-RELEASE-MANIFESTspec/release-manifest.json1a64c109ed7a90351c41e2a418b3c0ebaf8ad975838986d2101385186b85c0d8Loading ADR-0048…
ADR-0048docs/status/decisions/0048-numeric-format-value-classification.mdce3ecd1851e22b5517d07076ab8bd2db36b6b4582111c761db19240275853d9c{
"classification": [
"data-types",
"numeric-classification"
],
"documentation": "docs/arch/data-types/numeric-classification.md",
"id": "PTO-ARCH-DATA-TYPES-NUMERIC-CLASSIFICATION",
"mnemonic": null,
"readiness_subjects": [
"ADR-0048"
],
"semantic_tests": [],
"source": "asl/arch/data-types/numeric-classification.asl",
"surface": "arch",
"tests": [
"PTO-AVS-ARCH-DATA-TYPES-NUMERIC-CLASSIFICATION-STATIC-001"
]
}0.58.5 · 候选发布7dc8b7e5b121d2b2499a2273bebff29e2cd86812b2d9d280d2b40e6cd0c5e17400e9c2b29aec86fbb651d20404cf7b3a7b6b2cb9cb152bb919211f72b50777375fc4ed0b15e802a6d975b7f308fd469426fb190fasl/arch/data-types/numeric-classification.asl