Skip to content

[P2] FLOAT32 bit-pattern 绑定与 0 ULP 账本核对路径 #16

Description

@Kosthi

父任务 / 依赖

背景

2026 不再用六位小数文本比较 FLOAT。Wire 传输 IEEE-754 binary32 bit pattern;Payment/Delivery 等相对更新按 0 ULP 核对;SUM 有 binary64 累加再 round 规则。

任务清单

  • 客户端内部金额使用可复现的 f32 语义(或记录 bit pattern)
  • prepared FLOAT32 参数按 bit pattern 绑定
  • NewOrder:价格×数量由客户端计算后 bind(赛题:不要求 DB 投影乘除)
  • Delivery:用查询返回的 ol_amount 位值构造 SUM,再 bind 到 c_balance 更新
  • Payment 可选:更新前后值 0 ULP 诊断日志
  • 测试:+0/-0、边界金额、多行 SUM 小样本

验收标准

  • 往返 FLOAT 与输入 bit pattern 一致(在 DB 正确前提下)
  • 文档说明客户端与 DB 各自的 FLOAT 责任边界

参考

赛题第三章(六)FLOAT 规则;附件 A §3.1

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    2026-final2026 final contest alignmentarea/checkConsistency validationarea/protocolWire ProtocolenhancementNew feature or requestpriority/p2Consistency & FLOAT checks

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions